* MODULES.html.sh: Fix sed-script shell quoting and locale issues.
[gnulib.git] / ChangeLog
1 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
2
3         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
4         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
5         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
6         contains (possibly-quoted) backslashes.  This should avoid
7         all-too-common shell bugs if COMPLICATED contains backslashes in
8         the "wrong" places.  Reported by David Evans in
9         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
11         because we want ASCII ranges.  Is there some reason we don't use
12         the C locale everywhere in this script?
13         (func_module, top level): Avoid unwanted pathname expansion when
14         $repo_url_prefix or $repo_url_suffix_repl contain shell
15         metacharacters like '?' and '*'.
16
17 2011-11-01  Bruno Haible  <bruno@clisp.org>
18
19         fchownat: Improve description.
20         * modules/fchownat (Description): Add link to function.
21
22 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
23
24         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
25         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
26         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
27         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
28
29 2011-11-01  Bruno Haible  <bruno@clisp.org>
30
31         alignof: Avoid collision with stdalign module.
32         * lib/alignof.h (alignof): Remove macro.
33         * NEWS: Mention the change.
34         Reported by Paul Eggert.
35
36 2011-11-01  Bruno Haible  <bruno@clisp.org>
37
38         New module 'fchownat', split off from module 'openat'.
39         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
40         defined.
41         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
42         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
43         invoke gl_FUNC_FCHOWNAT.
44         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
45         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
46         * modules/fchownat: New file, extracted from modules/openat.
47         * modules/openat (Files): Remove lib/fchownat.c.
48         (Depends-on): Remove lchown.
49         (configure.ac): Remove AC_LIBOBJ of fchownat.
50         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
51         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
52         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
53         (Depends-on): Remove mgetgroups, usleep, stat-time.
54         (configure.ac): Remove test for getegid.
55         (Makefile.am): Remove rules for test-fchownat.
56         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
57         of module 'openat'.
58         * NEWS: Mention the change.
59
60 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
61
62         stdalign: port better to MSVC and to Sun C 5.11
63         This fixes some of the problems reported by Bruno Haible in
64         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
65         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
66         shortcomings of MSVC and of Sun C 5.11.
67         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
68         around __declspec arg.
69         * modules/stdalign-tests (Files): Add tests/macros.h.
70         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
71         Include macros.h, for ASSERT.
72         (DECLARE_ALIGNED): Remove.
73         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
74         to catch bug), and to 1 if not (simplifies the rest of the code).
75         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
76         (CHECK_AUTO): Remove.
77         (CHECK_ALIGNED): Check only the alignment of the static vars,
78         since auto var alignment isn't supported by Sun C 5.11.
79         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
80         ASSERT failures are easier to diagnose.
81
82 2011-10-31  Bruno Haible  <bruno@clisp.org>
83
84         doc about some IRIX 5.3 problems.
85         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
86         on IRIX 5.3.
87         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
88         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
89         5.3.
90         * doc/posix-functions/grantpt.texi: Likewise.
91         * doc/posix-functions/unlockpt.texi: Likewise.
92         * doc/posix-functions/lgamma.texi: Likewise.
93         * doc/posix-functions/nextafter.texi: Likewise.
94         * doc/posix-functions/remainder.texi: Likewise.
95         * doc/posix-functions/select.texi: Mention misplaced declaration on
96         IRIX 5.3.
97         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
98
99 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
100
101         gitlog-to-changelog: fix git-log invocation.
102         git-log mishandles date strings before 1970-01-01 UTC, and there is
103         no use to specify --since=1970-01-01 by default anyway.
104         * build-aux/gitlog-to-changelog: By default, when no --since option
105         was given, do not specify explicit --since option to git-log.
106
107 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
108
109         gitlog-to-changelog: new option --append-dot.
110         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
111         first non-blank line of each commit message terminated with a dot.
112
113 2011-10-30  Bruno Haible  <bruno@clisp.org>
114
115         ffsl, ffsll: Avoid compilation error due to 'restrict'.
116         * lib/ffsl.h: Include <config.h>.
117         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
118
119 2011-10-30  Jim Meyering  <meyering@redhat.com>
120
121         GNUmakefile: reenable "make syntax-check" for most projects
122         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
123         build-aux variable", "syntax-check" would do nothing but succeed with
124         the "No version control files detected..." diagnostic (unless you
125         happened to override _build-aux via cfg.mk).
126         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
127         to precede inclusion of maint.mk.  Otherwise, these variables would
128         be used undefined in any project that does not override the default.
129
130 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
131
132         gitlog-to-changelog: treat a message with only blank lines as empty.
133         * build-aux/gitlog-to-changelog: Move the code that removes leading and
134         trailing blank lines before the code that issues a warning about an
135         empty commit message.
136
137 2011-10-30  Jim Meyering  <meyering@redhat.com>
138
139         test-parse-datetime.c: avoid new DST-related false positive test failure
140         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
141         based on the time/date we'll convert, not the current time.
142         Otherwise, the moment we cross a DST boundary like today's in
143         Europe, (CEST to CET), that offset ends up being one hour off.
144
145 2011-10-27  Bruno Haible  <bruno@clisp.org>
146
147         fstat: Tweak documentation.
148         * modules/fstat (Description): More precise description.
149
150 2011-10-27  Bruno Haible  <bruno@clisp.org>
151
152         Update documentation regarding 'largefile' module.
153         * doc/posix-functions/fstat.texi: Tweak wording.
154         * doc/posix-functions/opendir.texi: Mention that the module fixes the
155         problems with huge directories and/or small ino_t types.
156         * doc/posix-functions/readdir.texi: Likewise.
157         * doc/posix-functions/rewinddir.texi: Likewise.
158
159 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
160
161         maint.mk: don't maintain a second build-aux variable.
162         * maint.mk (build_aux): Removed.  The maintainer-makefile module
163         depends on GNUmakefile, which already maintains a cfg.mk
164         overridable $(_build-aux) for projects with a non-standard
165         build-aux directory location, although without the $(srcdir)
166         prefix.  Use that variable consistently instead of introducing a
167         second one.  Adjust all call sites.
168
169 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
170
171         Add stdalign module and use it in other modules.
172         This is based on a previous proposal by Bruno Haible
173         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
174
175         stdalign: new module
176         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
177         * modules/stdalign: New files.
178         * MODULES.html.sh (c1x_core_properties): Add stdalign.
179         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
180
181         stdalign-tests: new module
182         * modules/stdalign-tests, tests/test-stdalign.c: New files.
183
184         argp: use stdalign
185         * lib/argp-parse.c: Include <stdalign.h>.
186         (alignof): Remove.
187         * modules/argp (Depends-on): Add stdalign.
188
189         crypto libraries: use stdalign
190         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
191         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
192         Do not include <stdlib.h> twice, in md4.c.
193         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
194         because we are accessing a pointer's bit-pattern, not a size.
195         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
196         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
197         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
198         * modules/crypto/sha512: Likewise.
199
200         sys_socket: use stdalign, not alignof
201         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
202         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
203
204 2011-10-27  Bruno Haible  <bruno@clisp.org>
205
206         raise test: Avoid a test failure on Linux/MIPS.
207         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
208         because 99 is a valid signal on Linux/MIPS.
209
210 2011-10-27  Bruno Haible  <bruno@clisp.org>
211
212         nonblocking tests: Fix test failure on Linux/MIPS.
213         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
214         Set to 270000.
215
216 2011-10-27  Bruno Haible  <bruno@clisp.org>
217
218         utimensat: Work around problem on Linux/hppa.
219         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
220         values.
221         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
222
223 2011-10-25  Jim Meyering  <meyering@redhat.com>
224
225         maint.mk: fix a bug in sc_prohibit_stddef_without_use
226         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
227         after symbols like NULL, size_t, etc.
228         Reported by Alfred M. Szmidt.
229
230         maint.mk: exempt ENODATA from a syntax-check rule
231         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
232         from the sc_prohibit_always-defined_macros syntax-check rule.
233         Add a comment.  See this for more details:
234         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
235
236 2011-10-23  Jim Meyering  <meyering@redhat.com>
237
238         fts: close parent dir FD before returning from post-traversal fts_read
239         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
240         unlink A, even though an FD open on A remained.  This is suboptimal
241         (holding a file descriptor open longer than needed), but otherwise not
242         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
243         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
244         that represents a real problem: it causes the removal of A to fail
245         with e.g., "rm: cannot remove `A': Device or resource busy"
246
247         fts visits each directory twice and keeps a cache (fts_fd_ring) of
248         directory file descriptors.  After completing the final, FTS_DP,
249         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
250         cache, but then proceeded to add a new FD to it via the subsequent
251         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
252         final file descriptor would be closed only via fts_close's call to
253         fd_ring_clear.  Now, it is usually closed earlier, via the final
254         FTS_DP-returning fts_read call.
255         * lib/fts.c (restore_initial_cwd): New function, converted from
256         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
257         Update callers.
258         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
259         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
260
261 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
262             Bruno Haible  <bruno@clisp.org>
263             Jim Meyering  <jim@meyering.net>
264
265         readme-release: improve safety of release prep instructions.
266         * README-release: Don't git pull all branches when only master
267         is needed for the release process.
268         Run make maintainer-clean before changing trees and merging.
269         Don't try to run ./configure right after git pull in case files
270         that influence the bootstrap process have changed, move the
271         ./configure step to after running ./bootstrap.
272         Don't bootstrap "one last time"... it's the first time!
273
274 2011-10-22  Bruno Haible  <bruno@clisp.org>
275
276         errno, strerror-override: Support for MSVC 10.
277         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
278         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
279         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
280         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
281         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
282         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
283         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
284         Assign values compatible with MSVC 10.
285         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
286         New macros.
287         (GNULIB_defined_EWINSOCK): New macro.
288         * lib/strerror-override.c (strerror_override): Update accordingly.
289         * lib/strerror-override.h: Likewise.
290         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
291         longer equal to the corresponding errno value.
292         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
293
294 2011-10-22  Bruno Haible  <bruno@clisp.org>
295
296         perror: Recognize when test program crashes.
297         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
298         strerror, set gl_cv_func_perror_works to no.
299         Reported by Daniel Richard G. <skunk@iskunk.org>.
300
301         perror: Fix indentation.
302         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
303
304 2011-10-22  Bruno Haible  <bruno@clisp.org>
305
306         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
307         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
308         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
309         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
310         functions, not as a macro.
311         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
312         macros.
313         (isfinite, isinf, isnan, signbit): Check overloaded functions and
314         absence of macro.
315         Suggested by Eric Blake.
316         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
317
318 2011-10-21  Bruno Haible  <bruno@clisp.org>
319
320         relocatable-prog-wrapper: Don't leave object files behind.
321         * build-aux/install-reloc: Re-synchronize list of .o files to be
322         removed with list of compilation units.
323
324 2011-10-20  Bruno Haible  <bruno@clisp.org>
325
326         openpty, posix_openpt: Remove code duplication.
327         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
328         * lib/openpty.c: Include <stdlib.h>.
329         (openpty): Use posix_openpt on all platforms except IRIX.
330         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
331
332 2011-10-20  Bruno Haible  <bruno@clisp.org>
333
334         unlockpt: Detect invalid argument.
335         * lib/unlockpt.c: Include <fcntl.h>.
336         (unlockpt): Check whether fd is valid, using fcntl().
337         * modules/unlockpt (Depends-on): Add fcntl-h.
338
339 2011-10-20  Bruno Haible  <bruno@clisp.org>
340
341         openpty: Avoid compilation error on AIX 6.1.
342         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
343
344 2011-10-20  Bruno Haible  <bruno@clisp.org>
345
346         posix_openpt: Support for OpenBSD.
347         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
348         (posix_openpt) [OpenBSD]: New code.
349         * lib/grantpt.c: Include <fcntl.h>.
350         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
351         * modules/grantpt (Depends-on): Add fcntl-h.
352
353 2011-10-20  Bruno Haible  <bruno@clisp.org>
354
355         posix_openpt test: Coding style.
356         * tests/test-posix_openpt.c: Use GNU coding style.
357
358 2011-10-20  Bruno Haible  <bruno@clisp.org>
359
360         grantpt: Support --avoid=pt_chown.
361         * modules/grantpt (Files): Add lib/pty-private.h.
362
363 2011-10-20  Bruno Haible  <bruno@clisp.org>
364
365         posix_openpt: Fix autoconf macro.
366         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
367         unneeded check for _getpty.
368
369 2011-10-20  Bruno Haible  <bruno@clisp.org>
370
371         openpty: Update comments.
372         * lib/openpty.c: Add comments about Minix.
373
374 2011-10-19  Eric Blake  <eblake@redhat.com>
375
376         openpty: relax license
377         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
378
379         pt_chown: use configmake to simplify build
380         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
381
382         ptsname and others: relax license
383         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
384         * modules/unlockpt (License): Likewise.
385         * modules/pt_chown (License): Likewise.
386         * modules/ptsname (License): Likewise.
387         * modules/ttyname_r (License): Likewise.
388
389 2011-10-19  Jim Meyering  <meyering@redhat.com>
390
391         posix_openpt: remove spurious #endif
392         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
393
394 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
395
396         maint.mk: Respect $(build_aux) in web-manual rule.
397         * top/maint.mk (web-manual): Find gen-announce script in user's
398         $(build_aux) directory instead of hard-coding 'build-aux'.
399
400 2011-10-19  Bruno Haible  <bruno@clisp.org>
401
402         posix_openpt: Fix compilation error.
403         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
404         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
405         Mention the openpty module as an alternative.
406
407 2011-10-19  Bruno Haible  <bruno@clisp.org>
408
409         Support for old NeXTstep 3.3 frexp().
410         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
411         execution time of the test to 5 seconds.
412         Reported by Daniel Richard G. <skunk@iskunk.org>.
413
414 2011-10-19  Bruno Haible  <bruno@clisp.org>
415
416         Support for old NeXTstep 3.3 sed.
417         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
418         part, use /.../, not \|...|. Escape periods in the header file name.
419         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
420         Reported by Daniel Richard G. <skunk@iskunk.org>.
421
422 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
423
424         Support for old NeXTstep 3.3 gcc.
425         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
426         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
427         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
428         * lib/spawn.in.h (_Restrict_arr_): Likewise.
429         * lib/regex.h (_Restrict_arr_): Likewise.
430         * lib/regex_internal.h (re_token_t): Likewise.
431         * lib/regexec.c (check_node_accept_bytes): Likewise.
432         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
433
434 2011-10-18  Eric Blake  <eblake@redhat.com>
435
436         posix_openpt: new module
437         * modules/posix_openpt: New module.
438         * m4/posix_openpt.m4: New file.
439         * lib/posix_openpt.c: Likewise.
440         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
441         (gl_STDLIB_H_DEFAULTS): Set defaults.
442         * modules/stdlib (Makefile.am): Substitute macros.
443         * lib/stdlib.in.h (posix_openpt): Declare.
444         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
445         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
446         * modules/posix_openpt-tests: New test module.
447         * tests/test-posix_openpt.c: New test.
448
449 2011-10-15  Bruno Haible  <bruno@clisp.org>
450
451         xstrtoll: Fix compilation failure.
452         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
453         from lib/strtol.c.
454         * doc/posix-headers/limits.texi: Mention missing numerical limits on
455         some platforms.
456         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
457
458 2011-10-15  Bruno Haible  <bruno@clisp.org>
459
460         vasnprintf: Optimize bit search operation.
461         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
462         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
463         gl_DOUBLE_EXPONENT_LOCATION.
464         * modules/vasnprintf (Files): Add m4/exponentd.m4.
465         * modules/unistdio/u8-vasnprintf (Files): Likewise.
466         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
467         * modules/unistdio/u16-vasnprintf (Files): Likewise.
468         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
469         * modules/unistdio/u32-vasnprintf (Files): Likewise.
470         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
471         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
472         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
473
474 2011-10-15  Bruno Haible  <bruno@clisp.org>
475
476         vasnprintf: Fix comments.
477         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
478
479 2011-10-14  Bruno Haible  <bruno@clisp.org>
480
481         Tests for module 'integer_length_ll'.
482         * modules/integer_length_ll-tests: New file.
483         * tests/test-integer_length_ll.c: New file.
484
485         New module 'integer_length_ll'.
486         * lib/integer_length_ll.c: New file.
487         * modules/integer_length_ll: New file.
488
489 2011-10-14  Bruno Haible  <bruno@clisp.org>
490
491         Tests for module 'integer_length_l'.
492         * modules/integer_length_l-tests: New file.
493         * tests/test-integer_length_l.c: New file.
494
495         New module 'integer_length_l'.
496         * lib/integer_length_l.c: New file.
497         * modules/integer_length_l: New file.
498
499 2011-10-14  Bruno Haible  <bruno@clisp.org>
500
501         Tests for module 'integer_length'.
502         * modules/integer_length-tests: New file.
503         * tests/test-integer_length.c: New file.
504
505         New module 'integer_length'.
506         * lib/integer_length.h: New file.
507         * lib/integer_length.c: New file.
508         * modules/integer_length: New file.
509
510 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
511
512         popen: Fix dependency conditions.
513         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
514
515 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
516
517         perror: Fix autoconf test.
518         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
519         <stdlib.h> and <string.h>.
520
521 2011-10-14  Bruno Haible  <bruno@clisp.org>
522
523         ffsl: Optimize on 64-bit platforms.
524         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
525         unrolling.
526
527 2011-10-13  Bruno Haible  <bruno@clisp.org>
528
529         ffsl: Optimize on 32-bit platforms.
530         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
531         use ffs() without a loop.
532
533         ffsl, ffsll: Optimize for GCC.
534         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
535         * lib/ffsl.c (GCC_BUILTIN): New macro.
536         * lib/ffsll.c (GCC_BUILTIN): Likewise.
537
538 2011-10-13  Bruno Haible  <bruno@clisp.org>
539
540         ffs, bcopy, memset: Support symbol renaming via config.h.
541         * lib/ffs.c: Include <config.h>.
542         * lib/bcopy.c: Likewise.
543         * lib/memset.c: Likewise.
544
545 2011-10-10  Bruno Haible  <bruno@clisp.org>
546
547         atanl: Simplify for platforms where 'long double' == 'double'.
548         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
549         alternative implementation.
550         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
551         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
552         * modules/atanl (Depends-on): Add atan. Update conditions.
553
554 2011-10-10  Bruno Haible  <bruno@clisp.org>
555
556         acosl: Simplify for platforms where 'long double' == 'double'.
557         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
558         alternative implementation.
559         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
560         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
561         * modules/acosl (Depends-on): Add acos. Update conditions.
562
563 2011-10-10  Bruno Haible  <bruno@clisp.org>
564
565         asinl: Simplify for platforms where 'long double' == 'double'.
566         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
567         alternative implementation.
568         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
569         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
570         * modules/asinl (Depends-on): Add asin. Update conditions.
571
572 2011-10-10  Bruno Haible  <bruno@clisp.org>
573
574         tanl: Simplify for platforms where 'long double' == 'double'.
575         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
576         implementation.
577         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
578         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
579         * modules/tanl (Depends-on): Add tan. Update conditions.
580         (configure.ac): Don't compile trigl.c if
581         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
582
583 2011-10-10  Bruno Haible  <bruno@clisp.org>
584
585         cosl: Simplify for platforms where 'long double' == 'double'.
586         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
587         implementation.
588         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
589         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
590         * modules/cosl (Depends-on): Add cos. Update conditions.
591         (configure.ac): Don't compile sincosl.c and trigl.c if
592         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
593
594 2011-10-10  Bruno Haible  <bruno@clisp.org>
595
596         sinl: Simplify for platforms where 'long double' == 'double'.
597         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
598         implementation.
599         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
600         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
601         * modules/sinl (Depends-on): Add sin. Update conditions.
602         (configure.ac): Don't compile sincosl.c and trigl.c if
603         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
604
605 2011-10-10  Bruno Haible  <bruno@clisp.org>
606
607         logl: Simplify for platforms where 'long double' == 'double'.
608         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
609         implementation.
610         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
611         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
612         * modules/logl (Depends-on): Add log. Update conditions.
613
614 2011-10-10  Bruno Haible  <bruno@clisp.org>
615
616         expl: Simplify for platforms where 'long double' == 'double'.
617         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
618         implementation.
619         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
620         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
621         * modules/expl (Depends-on): Add exp. Update conditions.
622
623 2011-10-10  Bruno Haible  <bruno@clisp.org>
624
625         sqrtl: Simplify for platforms where 'long double' == 'double'.
626         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
627         alternative implementation.
628         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
629         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
630         * modules/sqrtl (Depends-on): Update conditions.
631
632 2011-10-10  Bruno Haible  <bruno@clisp.org>
633
634         ldexpl: Simplify for platforms where 'long double' == 'double'.
635         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
636         alternative implementation.
637         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
638         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
639         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
640
641 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
642
643         ffsll: set correct witness
644         * modules/ffsll (configure.ac): Fix typo.
645
646 2011-10-10  Bruno Haible  <bruno@clisp.org>
647
648         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
649         * lib/printf-frexpl.c: Include <config.h>.
650         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
651         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
652         second time.
653         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
654         gl_LONG_DOUBLE_VS_DOUBLE.
655         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
656         conditions.
657
658 2011-10-10  Bruno Haible  <bruno@clisp.org>
659
660         frexpl: Simplify for platforms where 'long double' == 'double'.
661         * lib/frexpl.c: Include <config.h>.
662         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
663         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
664         time.
665         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
666         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
667         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
668         * modules/frexpl (Depends-on): Add frexp. Update conditions.
669         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
670         conditions.
671
672 2011-10-10  Jim Meyering  <meyering@redhat.com>
673
674         test-renameat: don't leave behind a temporary file
675         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
676           ERROR: files left in build directory after distclean:
677           ./gltests/test-renameat.too
678           make[1]: *** [distcleancheck] Error 1
679         Reported by Tom G. Christensen.
680
681 2011-10-09  Bruno Haible  <bruno@clisp.org>
682
683         rint: Determine RINT_LIBM correctly on AIX 7.
684         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
685         directly, not only through a function pointer. Also accept an optional
686         4th argument with extra code.
687         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
688         rintf() call by gcc when optimizing.
689
690         mathfunc.m4: Refactor.
691         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
692         m4 variable.
693
694 2011-10-09  Bruno Haible  <bruno@clisp.org>
695
696         rintl: Simplify for platforms where 'long double' == 'double'.
697         * lib/rintl.c: Include <config.h>.
698         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
699         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
700         time.
701         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
702         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
703         * modules/rintl (Depends-on): Add rint. Update conditions.
704
705 2011-10-09  Bruno Haible  <bruno@clisp.org>
706
707         roundl: Simplify for platforms where 'long double' == 'double'.
708         * lib/roundl.c: Include <config.h>.
709         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
710         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
711         time.
712         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
713         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
714         * modules/roundl (Depends-on): Add round. Update conditions.
715
716 2011-10-09  Bruno Haible  <bruno@clisp.org>
717
718         truncl: Simplify for platforms where 'long double' == 'double'.
719         * lib/truncl.c: Include <config.h>.
720         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
721         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
722         time.
723         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
724         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
725         * modules/truncl (Depends-on): Add trunc. Update conditions.
726
727 2011-10-09  Bruno Haible  <bruno@clisp.org>
728
729         ceill: Simplify for platforms where 'long double' == 'double'.
730         * lib/ceill.c: Include <config.h>.
731         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
732         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
733         time.
734         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
735         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
736         * modules/ceill (Depends-on): Add ceil. Update conditions.
737
738 2011-10-09  Bruno Haible  <bruno@clisp.org>
739
740         floorl: Simplify for platforms where 'long double' == 'double'.
741         * lib/floorl.c: Include <config.h>.
742         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
743         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
744         time.
745         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
746         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
747         * modules/floorl (Depends-on): Add floor. Update conditions.
748
749 2011-10-09  Bruno Haible  <bruno@clisp.org>
750
751         rint: Fix ordering constraints.
752         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
753         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
754         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
755
756 2011-10-09  Bruno Haible  <bruno@clisp.org>
757
758         copysignl: Simplify for platforms where 'long double' == 'double'.
759         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
760         alternative.
761         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
762         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
763         * modules/copysignl (Depends-on): Add copysign. Update conditions.
764
765 2011-10-09  Bruno Haible  <bruno@clisp.org>
766
767         Tests for module 'rintl'.
768         * modules/rintl-tests: New file.
769         * tests/test-rintl.c: New file.
770
771         New module 'rintl'.
772         * lib/math.in.h (rintl): New declaration.
773         * lib/rintl.c: New file.
774         * m4/rintl.m4: New file.
775         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
776         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
777         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
778         * modules/rintl: New file.
779         * tests/test-math-c++.cc: Check the declaration of rintl.
780         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
781         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
782         * doc/posix-functions/rintl.texi: Mention the new module.
783
784 2011-10-09  Bruno Haible  <bruno@clisp.org>
785
786         Tests for module 'rintf'.
787         * modules/rintf-tests: New file.
788         * tests/test-rintf.c: New file.
789
790         New module 'rintf'.
791         * lib/math.in.h (rintf): New declaration.
792         * lib/rintf.c: New file.
793         * m4/rintf.m4: New file.
794         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
795         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
796         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
797         * modules/rintf: New file.
798         * tests/test-math-c++.cc: Check the declaration of rintf.
799         * doc/posix-functions/rintf.texi: Mention the new module.
800
801 2011-10-09  Bruno Haible  <bruno@clisp.org>
802
803         rint: Support for MSVC.
804         * lib/math.in.h (rint): New declaration.
805         * lib/rint.c: New file.
806         * m4/rint.m4: New file.
807         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
808         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
809         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
810         * modules/rint (Description): Fix.
811         (Files): Add lib/rint.c, m4/rint.m4.
812         (Depends-on): Add math.
813         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
814         gl_MATH_MODULE_INDICATOR.
815         * tests/test-math-c++.cc: Check the declaration of rint.
816         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
817         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
818         * doc/posix-functions/rint.texi: Mention the replacement provided by
819         the module.
820
821         rint tests: More tests.
822         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
823         minus-zero.h, infinity.h, nan.h.
824         (main): Skip the test if the current rounding mode is not standard. Add
825         tests for negative numbers, minus zero, infinity, NaN.
826         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
827         tests/nan.h.
828         (Depends-on): Add isnand-nolibm.
829
830 2011-10-09  Bruno Haible  <bruno@clisp.org>
831
832         Tests for module 'copysignl'.
833         * modules/copysignl-tests: New file.
834         * tests/test-copysignl.c: New file.
835
836         New module 'copysignl'.
837         * lib/math.in.h (copysignl): New declaration.
838         * lib/copysignl.c: New file.
839         * m4/copysignl.m4: New file.
840         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
841         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
842         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
843         HAVE_COPYSIGNL.
844         * modules/copysignl: New file.
845         * tests/test-math-c++.cc: Check the declaration of copysignl.
846         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
847         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
848         * doc/posix-functions/copysignl.texi: Mention the new module.
849
850 2011-10-09  Bruno Haible  <bruno@clisp.org>
851
852         Tests for module 'copysignf'.
853         * modules/copysignf-tests: New file.
854         * tests/test-copysignf.c: New file.
855
856         New module 'copysignf'.
857         * lib/math.in.h (copysignf): New declaration.
858         * lib/copysignf.c: New file.
859         * m4/copysignf.m4: New file.
860         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
861         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
862         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
863         HAVE_COPYSIGNF.
864         * modules/copysignf: New file.
865         * tests/test-math-c++.cc: Check the declaration of copysignf.
866         * doc/posix-functions/copysignf.texi: Mention the new module.
867
868 2011-10-09  Bruno Haible  <bruno@clisp.org>
869
870         Ensure that HAVE_* variables are set to 1 before they are set to 0.
871         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
872         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
873         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
874         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
875         gl_SIGNAL_H_DEFAULTS.
876
877 2011-10-09  Bruno Haible  <bruno@clisp.org>
878
879         poll: Make macro safer.
880         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
881         ac_cv_header_poll_h is not set.
882
883 2011-10-09  Bruno Haible  <bruno@clisp.org>
884
885         copysign: Provide replacement.
886         * lib/math.in.h (copysign): New declaration.
887         * lib/copysign.c: New file.
888         * m4/copysign.m4: New file.
889         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
890         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
891         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
892         HAVE_COPYSIGN.
893         * modules/copysign (Description): Clarify.
894         (Files): Add lib/copysign.c, m4/copysign.m4.
895         (Depends-on): Add math, signbit.
896         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
897         gl_MATH_MODULE_INDICATOR.
898         * tests/test-math-c++.cc: Check the declaration of copysign.
899         * doc/posix-functions/copysign.texi: Mention the effects of the module
900         on Minix and MSVC.
901
902 2011-10-09  Bruno Haible  <bruno@clisp.org>
903
904         isinf: Ensure macro on AIX 5.1.
905         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
906         macro.
907         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
908
909 2011-10-09  Bruno Haible  <bruno@clisp.org>
910
911         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
912         * modules/snprintf-posix-tests (configure.ac): Require
913         gl_LONG_DOUBLE_VS_DOUBLE.
914         * modules/sprintf-posix-tests (configure.ac): Likewise.
915         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
916         * modules/vasprintf-posix-tests (configure.ac): Likewise.
917         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
918         * modules/vsprintf-posix-tests (configure.ac): Likewise.
919         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
920         tests on platforms where 'long double' is the same as 'double'.
921         * tests/test-sprintf-posix.h (test_function): Likewise.
922         * tests/test-vasnprintf-posix.c (test_function): Likewise.
923         * tests/test-vasprintf-posix.c (test_function): Likewise.
924
925         *printf: Fix for platforms where 'long double' == 'double'.
926         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
927         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
928         * modules/dprintf-posix (Files): Add m4/math_h.m4.
929         * modules/fprintf-posix (Files): Likewise.
930         * modules/obstack-printf-posix (Files): Likewise.
931         * modules/snprintf-posix (Files): Likewise.
932         * modules/sprintf-posix (Files): Likewise.
933         * modules/vasnprintf (Files): Likewise.
934         * modules/vasnprintf-posix (Files): Likewise.
935         * modules/vasprintf-posix (Files): Likewise.
936         * modules/vdprintf-posix (Files): Likewise.
937         * modules/vfprintf-posix (Files): Likewise.
938         * modules/vsnprintf-posix (Files): Likewise.
939         * modules/vsprintf-posix (Files): Likewise.
940         * modules/unistdio/u8-vasnprintf (Files): Likewise.
941         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
942         * modules/unistdio/u16-vasnprintf (Files): Likewise.
943         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
944         * modules/unistdio/u32-vasnprintf (Files): Likewise.
945         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
946         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
947
948         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
949         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
950         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
951         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
952         'long double'.
953         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
954
955         isinf: Fix for platforms where 'long double' == 'double'.
956         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
957         Don't blindly assume 80-bit 'long double'.
958
959         isfinite: Fix for platforms where 'long double' == 'double'.
960         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
961         Don't blindly assume 80-bit 'long double'.
962
963         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
964         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
965         * modules/isfinite-tests (configure.ac): Require
966         gl_LONG_DOUBLE_VS_DOUBLE.
967         * modules/isinf-tests (configure.ac): Likewise.
968         * modules/isnan-tests (configure.ac): Likewise.
969         * modules/isnanl-tests (configure.ac): Likewise.
970         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
971         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
972         tests on platforms where 'long double' is the same as 'double'.
973         * tests/test-isinf.c (test_isinfl): Likewise.
974         * tests/test-isnan.c (test_long_double): Likewise.
975         * tests/test-isnanl.h (main): Likewise.
976
977 2011-10-08  Bruno Haible  <bruno@clisp.org>
978
979         Tests for module 'tanhf'.
980         * modules/tanhf-tests: New file.
981         * tests/test-tanhf.c: New file.
982
983         New module 'tanhf'.
984         * lib/math.in.h (tanhf): New declaration.
985         * lib/tanhf.c: New file.
986         * m4/tanhf.m4: New file.
987         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
988         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
989         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
990         * modules/tanhf: New file.
991         * tests/test-math-c++.cc: Check the declaration of tanhf.
992         * doc/posix-functions/tanhf.texi: Mention the new module.
993
994         tanh: Use a .m4 file.
995         * m4/tanh.m4: New file.
996         * modules/tanh (Files): Add it.
997         (configure.ac): Just invoke gl_FUNC_TANH.
998
999 2011-10-08  Bruno Haible  <bruno@clisp.org>
1000
1001         Tests for module 'coshf'.
1002         * modules/coshf-tests: New file.
1003         * tests/test-coshf.c: New file.
1004
1005         New module 'coshf'.
1006         * lib/math.in.h (coshf): New declaration.
1007         * lib/coshf.c: New file.
1008         * m4/coshf.m4: New file.
1009         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1010         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1011         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1012         * modules/coshf: New file.
1013         * tests/test-math-c++.cc: Check the declaration of coshf.
1014         * doc/posix-functions/coshf.texi: Mention the new module.
1015
1016         cosh: Use a .m4 file.
1017         * m4/cosh.m4: New file.
1018         * modules/cosh (Files): Add it.
1019         (configure.ac): Just invoke gl_FUNC_COSH.
1020
1021 2011-10-08  Bruno Haible  <bruno@clisp.org>
1022
1023         Tests for module 'sinhf'.
1024         * modules/sinhf-tests: New file.
1025         * tests/test-sinhf.c: New file.
1026
1027         New module 'sinhf'.
1028         * lib/math.in.h (sinhf): New declaration.
1029         * lib/sinhf.c: New file.
1030         * m4/sinhf.m4: New file.
1031         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1032         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1033         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1034         * modules/sinhf: New file.
1035         * tests/test-math-c++.cc: Check the declaration of sinhf.
1036         * doc/posix-functions/sinhf.texi: Mention the new module.
1037
1038         sinh: Use a .m4 file.
1039         * m4/sinh.m4: New file.
1040         * modules/sinh (Files): Add it.
1041         (configure.ac): Just invoke gl_FUNC_SINH.
1042
1043 2011-10-08  Bruno Haible  <bruno@clisp.org>
1044
1045         Tests for module 'atan2f'.
1046         * modules/atan2f-tests: New file.
1047         * tests/test-atan2f.c: New file.
1048
1049         New module 'atan2f'.
1050         * lib/math.in.h (atan2f): New declaration.
1051         * lib/atan2f.c: New file.
1052         * m4/atan2f.m4: New file.
1053         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1054         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1055         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1056         * modules/atan2f: New file.
1057         * tests/test-math-c++.cc: Check the declaration of atan2f.
1058         * doc/posix-functions/atan2f.texi: Mention the new module.
1059
1060         atan2: Use a .m4 file.
1061         * m4/atan2.m4: New file.
1062         * modules/atan2 (Files): Add it.
1063         (configure.ac): Just invoke gl_FUNC_ATAN2.
1064
1065 2011-10-08  Bruno Haible  <bruno@clisp.org>
1066
1067         Tests for module 'atanf'.
1068         * modules/atanf-tests: New file.
1069         * tests/test-atanf.c: New file.
1070
1071         New module 'atanf'.
1072         * lib/math.in.h (atanf): New declaration.
1073         * lib/atanf.c: New file.
1074         * m4/atanf.m4: New file.
1075         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1076         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1077         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1078         * modules/atanf: New file.
1079         * tests/test-math-c++.cc: Check the declaration of atanf.
1080         * doc/posix-functions/atanf.texi: Mention the new module.
1081
1082         atan: Use a .m4 file.
1083         * m4/atan.m4: New file.
1084         * modules/atan (Files): Add it.
1085         (configure.ac): Just invoke gl_FUNC_ATAN.
1086
1087 2011-10-08  Bruno Haible  <bruno@clisp.org>
1088
1089         Tests for module 'acosf'.
1090         * modules/acosf-tests: New file.
1091         * tests/test-acosf.c: New file.
1092
1093         New module 'acosf'.
1094         * lib/math.in.h (acosf): New declaration.
1095         * lib/acosf.c: New file.
1096         * m4/acosf.m4: New file.
1097         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1098         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1099         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1100         * modules/acosf: New file.
1101         * tests/test-math-c++.cc: Check the declaration of acosf.
1102         * doc/posix-functions/acosf.texi: Mention the new module.
1103
1104         acos: Use a .m4 file.
1105         * m4/acos.m4: New file.
1106         * modules/acos (Files): Add it.
1107         (configure.ac): Just invoke gl_FUNC_ACOS.
1108
1109 2011-10-08  Bruno Haible  <bruno@clisp.org>
1110
1111         Tests for module 'asinf'.
1112         * modules/asinf-tests: New file.
1113         * tests/test-asinf.c: New file.
1114
1115         New module 'asinf'.
1116         * lib/math.in.h (asinf): New declaration.
1117         * lib/asinf.c: New file.
1118         * m4/asinf.m4: New file.
1119         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1120         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1121         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1122         * modules/asinf: New file.
1123         * tests/test-math-c++.cc: Check the declaration of asinf.
1124         * doc/posix-functions/asinf.texi: Mention the new module.
1125
1126         asin: Use a .m4 file.
1127         * m4/asin.m4: New file.
1128         * modules/asin (Files): Add it.
1129         (configure.ac): Just invoke gl_FUNC_ASIN.
1130
1131 2011-10-08  Bruno Haible  <bruno@clisp.org>
1132
1133         Tests for module 'tanf'.
1134         * modules/tanf-tests: New file.
1135         * tests/test-tanf.c: New file.
1136
1137         New module 'tanf'.
1138         * lib/math.in.h (tanf): New declaration.
1139         * lib/tanf.c: New file.
1140         * m4/tanf.m4: New file.
1141         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1142         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1143         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1144         * modules/tanf: New file.
1145         * tests/test-math-c++.cc: Check the declaration of tanf.
1146         * doc/posix-functions/tanf.texi: Mention the new module.
1147
1148         tan: Use a .m4 file.
1149         * m4/tan.m4: New file.
1150         * modules/tan (Files): Add it.
1151         (configure.ac): Just invoke gl_FUNC_TAN.
1152
1153 2011-10-08  Bruno Haible  <bruno@clisp.org>
1154
1155         Tests for module 'cosf'.
1156         * modules/cosf-tests: New file.
1157         * tests/test-cosf.c: New file.
1158
1159         New module 'cosf'.
1160         * lib/math.in.h (cosf): New declaration.
1161         * lib/cosf.c: New file.
1162         * m4/cosf.m4: New file.
1163         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1164         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1165         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1166         * modules/cosf: New file.
1167         * tests/test-math-c++.cc: Check the declaration of cosf.
1168         * doc/posix-functions/cosf.texi: Mention the new module.
1169
1170         cos: Use a .m4 file.
1171         * m4/cos.m4: New file.
1172         * modules/cos (Files): Add it.
1173         (configure.ac): Just invoke gl_FUNC_COS.
1174
1175 2011-10-08  Bruno Haible  <bruno@clisp.org>
1176
1177         Tests for module 'sinf'.
1178         * modules/sinf-tests: New file.
1179         * tests/test-sinf.c: New file.
1180
1181         New module 'sinf'.
1182         * lib/math.in.h (sinf): New declaration.
1183         * lib/sinf.c: New file.
1184         * m4/sinf.m4: New file.
1185         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1186         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1187         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1188         * modules/sinf: New file.
1189         * tests/test-math-c++.cc: Check the declaration of sinf.
1190         * doc/posix-functions/sinf.texi: Mention the new module.
1191
1192         sin: Use a .m4 file.
1193         * m4/sin.m4: New file.
1194         * modules/sin (Files): Add it.
1195         (configure.ac): Just invoke gl_FUNC_SIN.
1196
1197 2011-10-08  Bruno Haible  <bruno@clisp.org>
1198
1199         Tests for module 'powf'.
1200         * modules/powf-tests: New file.
1201         * tests/test-powf.c: New file.
1202
1203         New module 'powf'.
1204         * lib/math.in.h (powf): New declaration.
1205         * lib/powf.c: New file.
1206         * m4/powf.m4: New file.
1207         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1208         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1209         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1210         * modules/powf: New file.
1211         * tests/test-math-c++.cc: Check the declaration of powf.
1212         * doc/posix-functions/powf.texi: Mention the new module.
1213
1214         pow: Use a .m4 file.
1215         * m4/pow.m4: New file.
1216         * modules/pow (Files): Add it.
1217         (configure.ac): Just invoke gl_FUNC_POW.
1218
1219 2011-10-08  Bruno Haible  <bruno@clisp.org>
1220
1221         Tests for module 'log10f'.
1222         * modules/log10f-tests: New file.
1223         * tests/test-log10f.c: New file.
1224
1225         New module 'log10f'.
1226         * lib/math.in.h (log10f): New declaration.
1227         * lib/log10f.c: New file.
1228         * m4/log10f.m4: New file.
1229         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1230         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1231         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1232         * modules/log10f: New file.
1233         * tests/test-math-c++.cc: Check the declaration of log10f.
1234         * doc/posix-functions/log10f.texi: Mention the new module.
1235
1236         log10: Use a .m4 file.
1237         * m4/log10.m4: New file.
1238         * modules/log10 (Files): Add it.
1239         (configure.ac): Just invoke gl_FUNC_LOG10.
1240
1241 2011-10-08  Bruno Haible  <bruno@clisp.org>
1242
1243         Tests for module 'logf'.
1244         * modules/logf-tests: New file.
1245         * tests/test-logf.c: New file.
1246
1247         New module 'logf'.
1248         * lib/math.in.h (logf): New declaration.
1249         * lib/logf.c: New file.
1250         * m4/logf.m4: New file.
1251         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1252         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1253         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1254         * modules/logf: New file.
1255         * tests/test-math-c++.cc: Check the declaration of logf.
1256         * doc/posix-functions/logf.texi: Mention the new module.
1257
1258         log: Use a .m4 file.
1259         * m4/log.m4: New file.
1260         * modules/log (Files): Add it.
1261         (configure.ac): Just invoke gl_FUNC_LOG.
1262
1263 2011-10-08  Bruno Haible  <bruno@clisp.org>
1264
1265         Tests for module 'expf'.
1266         * modules/expf-tests: New file.
1267         * tests/test-expf.c: New file.
1268
1269         New module 'expf'.
1270         * lib/math.in.h (expf): New declaration.
1271         * lib/expf.c: New file.
1272         * m4/expf.m4: New file.
1273         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1274         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1275         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1276         * modules/expf: New file.
1277         * tests/test-math-c++.cc: Check the declaration of expf.
1278         * doc/posix-functions/expf.texi: Mention the new module.
1279
1280         exp: Use a .m4 file.
1281         * m4/exp.m4: New file.
1282         * modules/exp (Files): Add it.
1283         (configure.ac): Just invoke gl_FUNC_EXP.
1284
1285 2011-10-08  Bruno Haible  <bruno@clisp.org>
1286
1287         Tests for module 'sqrtf'.
1288         * modules/sqrtf-tests: New file.
1289         * tests/test-sqrtf.c: New file.
1290
1291         New module 'sqrtf'.
1292         * lib/math.in.h (sqrtf): New declaration.
1293         * lib/sqrtf.c: New file.
1294         * m4/sqrtf.m4: New file.
1295         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1296         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1297         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1298         * modules/sqrtf: New file.
1299         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1300         * doc/posix-functions/sqrtf.texi: Mention the new module.
1301
1302 2011-10-08  Bruno Haible  <bruno@clisp.org>
1303
1304         Tests: Avoid link failures w.r.t. libintl.
1305         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1306         $(LIBINTL).
1307         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1308         $(LIBINTL).
1309         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1310         against $(LIBINTL).
1311         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1312         $(LIBINTL).
1313         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1314         $(LIBINTL).
1315         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1316
1317 2011-10-08  Bruno Haible  <bruno@clisp.org>
1318
1319         pow tests: Defeat compiler optimizations.
1320         * tests/test-pow.c (main): Assign arguments to x and y before use.
1321
1322 2011-10-08  Bruno Haible  <bruno@clisp.org>
1323
1324         gnulib-tool: Improve last commit.
1325         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1326         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1327         ignore dependencies that are not among the modules list.
1328
1329 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1330
1331         gnulib-tool: don't follow dependencies to avoided modules
1332         This fixes a bug that is related to the previous one.
1333         * gnulib-tool (func_modules_transitive_closure)
1334         (func_emit_autoconf_snippets):
1335         Check whether a dependency is acceptable before using it.
1336         (--extract-dependencies): Report an error if --avoid is also used,
1337         since this combination of options is not yet supported.
1338
1339         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1340         Problem reported by Peter Dyballa in
1341         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1342         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1343         when echoing "$condition".
1344
1345 2011-10-07  Bruno Haible  <bruno@clisp.org>
1346
1347         Fix documentation about math functions on MacOS X.
1348         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1349         MacOS X 10.5.
1350         * doc/posix-functions/fdim.texi: Likewise.
1351         * doc/posix-functions/feclearexcept.texi: Likewise.
1352         * doc/posix-functions/fegetenv.texi: Likewise.
1353         * doc/posix-functions/fegetround.texi: Likewise.
1354         * doc/posix-functions/feholdexcept.texi: Likewise.
1355         * doc/posix-functions/feraiseexcept.texi: Likewise.
1356         * doc/posix-functions/fesetenv.texi: Likewise.
1357         * doc/posix-functions/fesetround.texi: Likewise.
1358         * doc/posix-functions/fetestexcept.texi: Likewise.
1359         * doc/posix-functions/feupdateenv.texi: Likewise.
1360         * doc/posix-functions/fmax.texi: Likewise.
1361         * doc/posix-functions/fmin.texi: Likewise.
1362         * doc/posix-functions/log2.texi: Likewise.
1363         * doc/posix-functions/modff.texi: Likewise.
1364         * doc/posix-functions/nan.texi: Likewise.
1365         * doc/posix-functions/nanf.texi: Likewise.
1366         * doc/posix-functions/nextafterf.texi: Likewise.
1367         * doc/posix-functions/remquo.texi: Likewise.
1368
1369 2011-10-07  Bruno Haible  <bruno@clisp.org>
1370
1371         modff: Drop assumption about library that defines modff.
1372         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1373         AC_CHECK_FUNCS.
1374         * modules/modff (Files): Add m4/mathfunc.m4.
1375
1376 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1377
1378         raise tests: Avoid a GCC warning.
1379         * tests/test-raise.c (handler): Use _Noreturn.
1380
1381 2011-10-07  Bruno Haible  <bruno@clisp.org>
1382
1383         Tests for module 'ldexpf'.
1384         * modules/ldexpf-tests: New file.
1385         * tests/test-ldexpf.c: New file.
1386
1387         New module 'ldexpf'.
1388         * lib/math.in.h (ldexpf): New declaration.
1389         * lib/ldexpf.c: New file.
1390         * m4/ldexpf.m4: New file.
1391         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1392         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1393         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1394         * modules/ldexpf: New file.
1395         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1396         * doc/posix-functions/ldexpf.texi: Mention the new module.
1397
1398 2011-10-06  Bruno Haible  <bruno@clisp.org>
1399
1400         frexpf: Work around problems on IRIX and mingw.
1401         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1402         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1403         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1404         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1405         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1406         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1407         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1408
1409 2011-10-06  Bruno Haible  <bruno@clisp.org>
1410
1411         fabsf: Drop assumption about library that defines fabsf.
1412         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1413         AC_CHECK_FUNCS.
1414         * modules/fabsf (Files): Add m4/mathfunc.m4.
1415
1416 2011-10-06  Bruno Haible  <bruno@clisp.org>
1417
1418         frexpf: Drop assumption about library that defines frexpf.
1419         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1420         'int *', 'float *', 'long double *', 'float', 'long double'.
1421         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1422         AC_CHECK_FUNCS.
1423         * modules/frexpf (Files): Add m4/mathfunc.m4.
1424
1425         Tests for module 'frexpf'.
1426         * modules/frexpf-tests: New file.
1427         * tests/test-frexpf.c: New file.
1428
1429         New module 'frexpf'.
1430         * lib/math.in.h (frexpf): New declaration.
1431         * lib/frexpf.c: New file.
1432         * m4/frexpf.m4: New file.
1433         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1434         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1435         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1436         * modules/frexpf: New file.
1437         * tests/test-math-c++.cc: Check the declaration of frexpf.
1438         * doc/posix-functions/frexpf.texi: Mention the new module.
1439
1440 2011-10-06  Bruno Haible  <bruno@clisp.org>
1441
1442         math: Sort function declarations of math.in.h.
1443         * lib/math.in.h (frexp, logb): Move declarations.
1444
1445 2011-10-05  Bruno Haible  <bruno@clisp.org>
1446
1447         Tests for module 'modff'.
1448         * modules/modff-tests: New file.
1449         * tests/test-modff.c: New file.
1450
1451         New module 'modff'.
1452         * lib/math.in.h (modff): New declaration.
1453         * lib/modff.c: New file.
1454         * m4/modff.m4: New file.
1455         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1456         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1457         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1458         * modules/modff: New file.
1459         * tests/test-math-c++.cc: Check the declaration of modff.
1460         * doc/posix-functions/modff.texi: Mention the new module.
1461
1462         modf tests: Make test sharper.
1463         * tests/test-modf.c (main): Strengthen upper bound.
1464
1465         modf: Use a .m4 file.
1466         * m4/modf.m4: New file.
1467         * modules/modf (Files): Add it.
1468         (configure.ac): Just invoke gl_FUNC_MODF.
1469
1470 2011-10-05  Bruno Haible  <bruno@clisp.org>
1471
1472         Tests for module 'fmodf'.
1473         * modules/fmodf-tests: New file.
1474         * tests/test-fmodf.c: New file.
1475
1476         New module 'fmodf'.
1477         * lib/math.in.h (fmodf): New declaration.
1478         * lib/fmodf.c: New file.
1479         * m4/fmodf.m4: New file.
1480         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
1481         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
1482         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
1483         * modules/fmodf: New file.
1484         * tests/test-math-c++.cc: Check the declaration of fmodf.
1485         * doc/posix-functions/fmodf.texi: Mention the new module.
1486
1487         fmod: Use a .m4 file.
1488         * m4/fmod.m4: New file.
1489         * modules/fmod (Files): Add it.
1490         (configure.ac): Just invoke gl_FUNC_FMOD.
1491
1492 2011-10-05  Bruno Haible  <bruno@clisp.org>
1493
1494         Tests for module 'fabsf'.
1495         * modules/fabsf-tests: New file.
1496         * tests/test-fabsf.c: New file.
1497
1498         New module 'fabsf'.
1499         * lib/math.in.h (fabsf): New declaration.
1500         * lib/fabsf.c: New file.
1501         * m4/fabsf.m4: New file.
1502         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
1503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
1504         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
1505         * modules/fabsf: New file.
1506         * tests/test-math-c++.cc: Check the declaration of fabsf.
1507         * doc/posix-functions/fabsf.texi: Mention the new module.
1508
1509         fabs: Use a .m4 file.
1510         * m4/fabs.m4: New file.
1511         * modules/fabs (Files): Add it.
1512         (configure.ac): Just invoke gl_FUNC_FABS.
1513
1514 2011-10-05  Jim Meyering  <meyering@redhat.com>
1515
1516         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
1517         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
1518         ls -lL regression introduced in coreutils-8.12, it does so at the
1519         cost of an additional stat call in the common case.  Besides, now
1520         that the kernel change that prompted commit 95f7c57f has been reverted
1521         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
1522         we have no use for commit 95f7c57f, "file-has-acl: use
1523         acl_extended_file_nofollow if available".
1524
1525 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
1526
1527         file-has-acl: revert unintended change in behavior of ls -L
1528         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
1529         derived from...
1530         (file_has_acl): ...code here.  Call it.
1531         This problem was introduced with 2011-07-22 commit 95f7c57f,
1532         "file-has-acl: use acl_extended_file_nofollow if available".
1533         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
1534
1535 2011-10-03  Bruno Haible  <bruno@clisp.org>
1536
1537         poll: Avoid link errors on MSVC.
1538         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
1539         * modules/poll (Depends-on): Add sockets.
1540         (Link): New section.
1541         * NEWS: Mention the change.
1542         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
1543         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
1544         $(LIB_POLL) instead of $(LIBSOCKET).
1545
1546 2011-10-03  Bruno Haible  <bruno@clisp.org>
1547
1548         sys_select tests: Fix link error on MSVC 9.
1549         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
1550         with $(LIB_SELECT) instead of $(LIBSOCKET).
1551
1552 2011-10-03  Bruno Haible  <bruno@clisp.org>
1553
1554         sys_select: Fix compilation error on mingw.
1555         * lib/sys_select.in.h: On native Windows, include <io.h>.
1556
1557 2011-10-03  Bruno Haible  <bruno@clisp.org>
1558
1559         wmemset: Support for MSVC.
1560         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
1561         whether wmemset() exists.
1562
1563 2011-10-03  Bruno Haible  <bruno@clisp.org>
1564
1565         wmemmove: Support for MSVC.
1566         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
1567         whether wmemmove() exists.
1568
1569 2011-10-03  Bruno Haible  <bruno@clisp.org>
1570
1571         wmemcpy: Support for MSVC.
1572         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
1573         whether wmemcpy() exists.
1574
1575 2011-10-03  Bruno Haible  <bruno@clisp.org>
1576
1577         wmemcmp: Support for MSVC.
1578         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
1579         whether wmemcmp() exists.
1580
1581 2011-10-03  Bruno Haible  <bruno@clisp.org>
1582
1583         wmemchr: Support for MSVC.
1584         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
1585         whether wmemchr() exists.
1586
1587 2011-10-03  Bruno Haible  <bruno@clisp.org>
1588
1589         glthread/*, strsignal: Support for MSVC.
1590         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
1591         including <winsock.h> on MSVC 9.
1592         * lib/glthread/lock.h: Likewise.
1593         * lib/glthread/thread.h: Likewise.
1594         * lib/glthread/tls.h: Likewise.
1595         * lib/glthread/yield.h: Likewise.
1596         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
1597         if HAVE_UNISTD_H is false.
1598         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
1599
1600 2011-10-03  Bruno Haible  <bruno@clisp.org>
1601
1602         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
1603         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
1604         Set to 100000.
1605
1606 2011-10-03  Bruno Haible  <bruno@clisp.org>
1607
1608         acl: Fix specification.
1609         * lib/file-has-acl.c (file_has_acl): Fix specification.
1610
1611 2011-10-03  Bruno Haible  <bruno@clisp.org>
1612
1613         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
1614         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
1615         (compute_curr_prefix, shared_library_fullname,
1616         find_shared_library_fullname, get_shared_library_fullname, relocate):
1617         Use it together with PIC && INSTALLDIR.
1618         Reported by <jojelino@gmail.com>
1619         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
1620
1621 2011-10-01  Jim Meyering  <meyering@redhat.com>
1622
1623         maint.mk: adjust a release-related rule not to require use of gzip
1624         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
1625         Instead, check each file in $(DIST_ARCHIVES).  This is better for
1626         projects that build only .tar.xz files.  Also fix an erroneous test.
1627
1628         test-linkat: don't leave behind a temporary file
1629         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
1630         Otherwise, coreutils' "make distcheck" would fail with this:
1631           Only in /c/cu/tests/torture/coreutils/test/\
1632             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
1633           make[2]: *** [my-distcheck] Error 1
1634
1635         float, math: add omitted file
1636         * lib/itold.c: Add file, required for yesterday's float change.
1637
1638 2011-10-01  Bruno Haible  <bruno@clisp.org>
1639
1640         isinf: Fix for OpenBSD/x86.
1641         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
1642         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
1643         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
1644
1645 2011-10-01  Bruno Haible  <bruno@clisp.org>
1646
1647         isfinite: Fix syntax error in configure test.
1648         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
1649
1650         isfinite: Fix typo.
1651         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
1652         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
1653
1654 2011-10-01  Bruno Haible  <bruno@clisp.org>
1655
1656         nonblocking tests: Fix test failure on Linux/IA-64.
1657         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
1658         Set to 270000.
1659
1660 2011-10-01  Bruno Haible  <bruno@clisp.org>
1661
1662         mkfifoat tests: Fix a test failure on mingw.
1663         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
1664         with error ENOSYS.
1665
1666 2011-09-30  Bruno Haible  <bruno@clisp.org>
1667
1668         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
1669         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
1670         'long double'. Set REPLACE_ITOLD.
1671         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
1672         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
1673         * lib/itold.c: New file.
1674         * modules/float (Files): Add lib/itold.c.
1675         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
1676         (Makefile.am): Substitute REPLACE_ITOLD.
1677         * modules/math (Depends-on): Add float.
1678         (Makefile.am): Substitute REPLACE_ITOLD.
1679         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
1680         * doc/posix-headers/math.texi: Likewise.
1681         * doc/posix-functions/logl.texi: Likewise.
1682
1683 2011-09-30  Bruno Haible  <bruno@clisp.org>
1684
1685         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
1686         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
1687         Set to 140000.
1688
1689 2011-09-30  Bruno Haible  <bruno@clisp.org>
1690
1691         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
1692         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
1693         invocation, say "right after AC_PROG_CC_STDC", not "right after
1694         AC_PROG_CC".
1695         Reported by Gary V. Vaughan <gary@gnu.org>.
1696
1697 2011-09-30  Bruno Haible  <bruno@clisp.org>
1698
1699         Centralize C99 requirement.
1700         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
1701         * modules/stdarg (configure.ac-early): Invoke it instead of
1702         AC_PROG_CC_STDC.
1703         Reported by Gary V. Vaughan and Paul Eggert.
1704
1705 2011-09-29  Bruno Haible  <bruno@clisp.org>
1706
1707         float: Fix LDBL_MAX value on Linux/PowerPC.
1708         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
1709         on Linux/PowerPC.
1710         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
1711         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
1712         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
1713         platform.
1714         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
1715
1716 2011-09-29  Bruno Haible  <bruno@clisp.org>
1717
1718         doc: Improve doc about gl_EARLY.
1719         * doc/gnulib-tool.texi (Initial import): Mention where to place an
1720         AC_PROG_CC_STDC invocation.
1721         Reported by Gary V. Vaughan <gary@gnu.org>.
1722
1723 2011-09-28  Bruno Haible  <bruno@clisp.org>
1724
1725         fgetc, fputc, fread, fwrite tests: Fix link error.
1726         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
1727         on non-MSVC platforms.
1728         * tests/test-fputc.c (main): Likewise.
1729         * tests/test-fread.c (main): Likewise.
1730         * tests/test-fwrite.c (main): Likewise.
1731         Reported by Jim Meyering.
1732
1733 2011-09-27  Bruno Haible  <bruno@clisp.org>
1734
1735         fputc, fwrite tests: Avoid test failure on MSVC.
1736         * tests/test-fgetc.c: Include msvc-inval.h.
1737         (main): Invoke gl_msvc_inval_ensure_handler.
1738         * tests/test-fputc.c: Include msvc-inval.h.
1739         (main): Invoke gl_msvc_inval_ensure_handler.
1740         * tests/test-fread.c: Include msvc-inval.h.
1741         (main): Invoke gl_msvc_inval_ensure_handler.
1742         * tests/test-fwrite.c: Include msvc-inval.h.
1743         (main): Invoke gl_msvc_inval_ensure_handler.
1744         * modules/fgetc-tests (Depends-on): Add msvc-inval.
1745         * modules/fputc-tests (Depends-on): Likewise.
1746         * modules/fread-tests (Depends-on): Likewise.
1747         * modules/fwrite-tests (Depends-on): Likewise.
1748
1749 2011-09-27  Bruno Haible  <bruno@clisp.org>
1750
1751         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
1752         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
1753         (raise): Remove older, duplicated declaration.
1754         (_gl_raise_SIGPIPE): New declaration.
1755         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
1756         (rpl_raise): Remove function.
1757         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
1758         a gnulib-defined SIGPIPE here.
1759         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
1760         'sigprocmask' has detected missing signal-blocking and the module
1761         'sigpipe' is enabled.
1762         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
1763
1764 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
1765
1766         base64-tests: avoid memory leak
1767         * tests/test-base64.c (main): Plug memory leak.
1768
1769         base32: new module
1770         * modules/base32: New module.
1771         * lib/base32.c: New file.
1772         * lib/base32.h: Likewise.
1773         * m4/base32.m4: Likewise.
1774         * modules/base32-tests: New test.
1775         * tests/test-base32.c: Likewise.
1776         * MODULES.html.sh (Misc): Mention it.
1777
1778 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1779
1780         gnulib: use more-standard license notice wording
1781         * gnulib-tool (func_emit_copyright_notice): When emitting a
1782         license notice into a file, use the standard wording as suggested
1783         by the current information for GNU maintainers, except say "file"
1784         rather than "program".  The new wording gives a license version
1785         number, which addresses an issue raised by Glenn Morris in
1786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
1787         * m4/onceonly.m4: Use that same wording here, too.
1788
1789         dup2: minor simplification
1790         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
1791         as lib/dup2.c no longer uses 'inline'.
1792
1793 2011-09-25  Bruno Haible  <bruno@clisp.org>
1794
1795         strings: Fix compilation error on MSVC.
1796         * lib/strings.in.h: Include <stddef.h> for size_t.
1797
1798 2011-09-25  Bruno Haible  <bruno@clisp.org>
1799
1800         fflush et al.: Document limitation on MSVC.
1801         * doc/posix-functions/fflush.texi: Document possible crash in handling
1802         mode other than DEFAULT_HANDLING.
1803         * doc/posix-functions/fgetc.texi: Likewise.
1804         * doc/posix-functions/fputc.texi: Likewise.
1805         * doc/posix-functions/fread.texi: Likewise.
1806         * doc/posix-functions/fwrite.texi: Likewise.
1807
1808 2011-09-25  Bruno Haible  <bruno@clisp.org>
1809
1810         msvc-inval: Allow three invalid parameter handling modes.
1811         * lib/msvc-inval.h: Don't include <stdlib.h> here.
1812         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
1813         macros.
1814         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
1815         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
1816         SANE_LIBRARY_HANDLING as a no-op.
1817         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
1818         <stdlib.h>.
1819         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
1820
1821 2011-09-25  Bruno Haible  <bruno@clisp.org>
1822
1823         msvc-inval: Make handler multithread-safe.
1824         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
1825         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
1826         declarations.
1827         (gl_msvc_inval_current): New declaration.
1828         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
1829         Operate on the structure returned by gl_msvc_inval_current().
1830         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
1831         Remove varaiables.
1832         (tls_index, tls_initialized): New variables.
1833         (not_per_thread): New variable.
1834         (gl_msvc_inval_current): New function.
1835         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
1836         returned by gl_msvc_inval_current().
1837
1838 2011-09-25  Bruno Haible  <bruno@clisp.org>
1839
1840         msvc-inval: Install handler globally.
1841         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
1842         !_MSC_VER.
1843         (gl_msvc_invalid_parameter_handler): Remove declaration.
1844         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
1845         declarations.
1846         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
1847         Install the handler globally, don't uninstall it.
1848         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
1849         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
1850         currently valid, call RaiseException instead.
1851         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
1852         for !_MSC_VER.
1853
1854 2011-09-25  Bruno Haible  <bruno@clisp.org>
1855
1856         strerror_r-posix: Fix for MSVC 9.
1857         * lib/strerror_r.c (local_snprintf): New function.
1858         (snprintf): Define to local_snprintf, not to _snprintf.
1859
1860 2011-09-25  Bruno Haible  <bruno@clisp.org>
1861
1862         ftruncate: Support for MSVC 9.
1863         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
1864         (chsize_nothrow): New function.
1865         (chsize): Redefine as a macro.
1866         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
1867         * modules/ftruncate (Depends-on): Add msvc-inval.
1868
1869 2011-09-25  Bruno Haible  <bruno@clisp.org>
1870
1871         New module 'fstat'.
1872         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
1873         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
1874         * lib/fchdir.c (rpl_fstat): Remove function.
1875         * m4/fstat.m4: New file.
1876         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
1877         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
1878         declared.
1879         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
1880         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
1881         * modules/fstat: New file.
1882         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
1883         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
1884         is set.
1885         * doc/posix-functions/fstat.texi: Mention the new module and the
1886         problem on MSVC.
1887         * NEWS: Mention the change.
1888         * modules/acl (Depends-on): Add fstat.
1889         * modules/chdir-safer (Depends-on): Likewise.
1890         * modules/chown (Depends-on): Likewise.
1891         * modules/copy-file (Depends-on): Likewise.
1892         * modules/fchdir (Depends-on): Likewise.
1893         * modules/fdopendir (Depends-on): Likewise.
1894         * modules/fopen (Depends-on): Likewise.
1895         * modules/fts (Depends-on): Likewise.
1896         * modules/getcwd (Depends-on): Likewise.
1897         * modules/isapipe (Depends-on): Likewise.
1898         * modules/linkat (Depends-on): Likewise.
1899         * modules/lseek (Depends-on): Likewise.
1900         * modules/mkdir-p (Depends-on): Likewise.
1901         * modules/open (Depends-on): Likewise.
1902         * modules/openat (Depends-on): Likewise.
1903         * modules/read-file (Depends-on): Likewise.
1904         * modules/renameat (Depends-on): Likewise.
1905         * modules/utimens (Depends-on): Likewise.
1906
1907 2011-09-25  Bruno Haible  <bruno@clisp.org>
1908
1909         linkat: Fix compilation on MSVC 9.
1910         * lib/linkat.c: Don't include <stdint.h>.
1911
1912 2011-09-25  Bruno Haible  <bruno@clisp.org>
1913
1914         fclose: Support for MSVC 9.
1915         * lib/fclose.c: Include msvc-inval.h.
1916         (fclose_nothrow): New function.
1917         (rpl_fclose): Use it.
1918         * modules/fclose (Depends-on): Add msvc-inval.
1919         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
1920
1921 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1922
1923         dup2: minor simplifications
1924         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
1925         that it's a performance win.
1926         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
1927         ! defined __CYGWIN__)" to "ifdef F_GETFL".
1928
1929 2011-09-24  Jim Meyering  <meyering@redhat.com>
1930
1931         test-futimens: avoid a warning from gcc -Wshadow
1932         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
1933         to avoid a shadowing warning.
1934
1935 2011-09-24  Bruno Haible  <bruno@clisp.org>
1936
1937         fdopen: Support for MSVC 9.
1938         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
1939         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
1940         * lib/fdopen.c: Include msvc-inval.h.
1941         (fdopen_nothrow): New function.
1942         (rpl_fdopen): Use it.
1943         * modules/fdopen (Depends-on): Add msvc-inval.
1944         * modules/fclose-tests (Depends-on): Add fdopen.
1945         * modules/fflush-tests (Depends-on): Likewise.
1946         * modules/fgetc-tests (Depends-on): Likewise.
1947         * modules/fputc-tests (Depends-on): Likewise.
1948         * modules/fread-tests (Depends-on): Likewise.
1949         * modules/freopen-tests (Depends-on): Likewise.
1950         * modules/fseeko-tests (Depends-on): Likewise.
1951         * modules/ftello-tests (Depends-on): Likewise.
1952         * modules/fwrite-tests  (Depends-on): Likewise.
1953         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
1954
1955 2011-09-24  Bruno Haible  <bruno@clisp.org>
1956
1957         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
1958         * modules/fgetc-tests (Depends-on): Add unistd.
1959         * modules/fputc-tests (Depends-on): Likewise.
1960         * modules/fread-tests (Depends-on): Likewise.
1961         * modules/fwrite-tests (Depends-on): Likewise.
1962
1963 2011-09-24  Bruno Haible  <bruno@clisp.org>
1964
1965         dup: Simplify autoconf test.
1966         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
1967         on gl_MSVC_INVAL's result.
1968
1969 2011-09-24  Bruno Haible  <bruno@clisp.org>
1970
1971         Tests for function fwrite().
1972         * modules/fwrite-tests: New file.
1973         * tests/test-fwrite.c: New file.
1974         * modules/stdio-tests (Depends-on): Add fwrite-tests.
1975
1976         Tests for function fread().
1977         * modules/fread-tests: New file.
1978         * tests/test-fread.c: New file.
1979         * modules/stdio-tests (Depends-on): Add fread-tests.
1980
1981         Activate fputc tests.
1982         * modules/stdio-tests (Depends-on): Add fputc-tests.
1983
1984         Enhance fgetc, fputc tests.
1985         * tests/test-fgetc.c (main): Also test the stream's error indicator.
1986         * tests/test-fputc.c (main): Likewise.
1987
1988 2011-09-24  Bruno Haible  <bruno@clisp.org>
1989
1990         write: Support for MSVC 9.
1991         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
1992         is not 1.
1993         * lib/write.c (write_nothrow): New function.
1994         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
1995         not 1. Use write_nothrow.
1996         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
1997         invalid parameter handler.
1998         (gl_PREREQ_WRITE): New macro.
1999         * modules/write (Depends-on): Add msvc-inval.
2000         (configure.ac): Invoke gl_PREREQ_WRITE.
2001         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2002
2003 2011-09-24  Bruno Haible  <bruno@clisp.org>
2004
2005         read: Fix last commit.
2006         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2007
2008 2011-09-24  Bruno Haible  <bruno@clisp.org>
2009
2010         dup2: Fix last commit.
2011         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2012         (rpl_dup2): Disable fcntl workaround on native Windows.
2013
2014         sigprocmask: Make code safer.
2015         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2016         section that changes macro definitions for this compilation unit.
2017
2018 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2019
2020         dup2: clarify by coalescing Windows-specific material
2021         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2022         "msvc-nothrow.h"' to the Windows-specific section, so that the
2023         Emacs source need not contain these include files.
2024         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2025         Windows-specific fixes into this function rather than just the
2026         nothrow fix, as this shortens and clarifies the code.  Always
2027         define as a function, as that's a bit cleaner than having it be
2028         sometimes a function and sometimes a macro.
2029         (rpl_dup2): Move the Windows-specific stuff out of here and into
2030         ms_windows_dup2.  Don't protect the Haiku-related fix with
2031         "#if !defined __linux__", as the same code also works around
2032         a Linux kernel bug, and it doesn't add any system calls on any
2033         platform.  Add comment about FreeBSD 6.1.
2034
2035         sigprocmask: move #include directive
2036         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2037         Windows-specific section, so that the Emacs source need not
2038         contain msvc-inval.h.
2039
2040 2011-09-23  Bruno Haible  <bruno@clisp.org>
2041
2042         read: Support for MSVC 9.
2043         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2044         is not 1.
2045         * lib/read.c (read_nothrow): New function.
2046         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2047         read_nothrow.
2048         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2049         invalid parameter handler.
2050         (gl_PREREQ_READ): New macro.
2051         * modules/read (Depends-on): Add msvc-inval.
2052         (configure.ac): Invoke gl_PREREQ_READ.
2053         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2054
2055 2011-09-23  Bruno Haible  <bruno@clisp.org>
2056
2057         close: Support for MSVC 9.
2058         * lib/close.c: Include <errno.h>, msvc-inval.h.
2059         (close_nothrow): New function.
2060         (rpl_close): Use it.
2061         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2062         invalid parameter handler.
2063         * modules/close (Depends-on): Add msvc-inval.
2064         * modules/dup2-tests (Depends-on): Add close.
2065         * modules/dup3-tests (Depends-on): Likewise.
2066         * modules/fcntl-tests (Depends-on): Likewise.
2067         * modules/spawn-pipe-tests (Depends-on): Likewise.
2068         * modules/unistd-safer-tests (Depends-on): Likewise.
2069         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2070
2071 2011-09-23  Bruno Haible  <bruno@clisp.org>
2072
2073         New module 'dup'.
2074         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2075         Allow replacement.
2076         * lib/dup.c: New file.
2077         * lib/fchdir.c (rpl_dup): Remove function.
2078         * m4/dup.m4: New file.
2079         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2080         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2081         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2082         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2083         * modules/dup: New file.
2084         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2085         'dup' module is in use.
2086         * modules/fdopendir (Depends-on): Add dup.
2087         * modules/fdutimensat-tests (Depends-on): Likewise.
2088         * modules/fts (Depends-on): Likewise.
2089         * modules/futimens-tests (Depends-on): Likewise.
2090         * modules/posix_spawnp-tests (Depends-on): Likewise.
2091         * modules/unistd-safer-tests (Depends-on): Likewise.
2092         * modules/utimens-tests (Depends-on): Likewise.
2093         * doc/posix-functions/dup.texi: Mention the new module and the problem
2094         on MSVC.
2095
2096 2011-09-23  Bruno Haible  <bruno@clisp.org>
2097
2098         getdtablesize: Support for MSVC 9.
2099         * lib/getdtablesize.c: Include msvc-inval.h.
2100         (_setmaxstdio_nothrow): New function.
2101         (_setmaxstdio): Redefine it.
2102         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2103         * modules/getdtablesize (Depends-on): Add msvc-inval.
2104         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2105
2106 2011-09-23  Bruno Haible  <bruno@clisp.org>
2107
2108         signal-h: Rename from signal.
2109         * modules/signal-h: Renamed from modules/signal.
2110         * modules/pthread_sigmask (Depends-on): Update.
2111         * modules/raise (Depends-on): Likewise.
2112         * modules/sigaction (Depends-on): Likewise.
2113         * modules/sigpipe (Depends-on): Likewise.
2114         * modules/sigprocmask (Depends-on): Likewise.
2115         * modules/sys_select (Depends-on): Likewise.
2116         * modules/signal-h-tests: Renamed from modules/signal-tests.
2117         (Files, Depends-on, Makefile.am): Update.
2118         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2119         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2120         (Files, Makefile.am): Update.
2121         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2122         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2123         * modules/signal: New placeholder file.
2124         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2125         * doc/posix-headers/signal.texi: Update.
2126         * NEWS: Mention the change.
2127
2128 2011-09-23  Bruno Haible  <bruno@clisp.org>
2129
2130         sigprocmask: Avoid crashes through signal() on MSVC 9.
2131         * lib/sigprocmask.c: Include msvc-inval.h.
2132         (signal_nothrow): New function.
2133         (signal): Redefine it.
2134         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2135         * modules/sigprocmask (Depends-on): Add msvc-inval.
2136         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2137
2138 2011-09-23  Bruno Haible  <bruno@clisp.org>
2139
2140         Tests for module 'raise'.
2141         * modules/raise-tests: New file.
2142         * tests/test-raise.c: New file.
2143
2144         raise: Support for MSVC.
2145         * lib/signal.in.h (raise): New declaration.
2146         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2147         for native Windows platforms.
2148         * m4/raise.m4: New file.
2149         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2150         HAVE_RAISE, REPLACE_RAISE.
2151         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2152         REPLACE_RAISE.
2153         * modules/raise (Status, Notice): Remove fields.
2154         (Files): Add m4/raise.m4.
2155         (Depends-on): Add signal, msvc-inval.
2156         (configure.ac): Use the common idioms.
2157         (Maintainer): Add me.
2158         * tests/test-signal-c++.cc: Check the signature of raise.
2159         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2160
2161 2011-09-23  Bruno Haible  <bruno@clisp.org>
2162
2163         pipe2: Fix compilation on pre-C99 compilers.
2164         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2165
2166 2011-09-23  Bruno Haible  <bruno@clisp.org>
2167
2168         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2169         * lib/msvc-nothrow.h: New file.
2170         * lib/msvc-nothrow.c: New file.
2171         * m4/msvc-nothrow.m4: New file.
2172         * modules/msvc-nothrow: New file.
2173         * lib/dup2.c: Include msvc-nothrow.h.
2174         (rpl_dup2): No need to protect _get_osfhandle call here.
2175         * lib/accept4.c: Include msvc-nothrow.h.
2176         * lib/error.c: Likewise.
2177         * lib/fcntl.c: Likewise.
2178         * lib/lseek.c: Likewise.
2179         * lib/nonblocking.c: Likewise.
2180         * lib/poll.c: Likewise.
2181         * lib/read.c: Likewise.
2182         * lib/select.c: Likewise.
2183         * lib/sockets.h: Likewise.
2184         * lib/sockets.c: Likewise.
2185         * lib/stdio-read.c: Likewise.
2186         * lib/stdio-write.c: Likewise.
2187         * lib/write.c: Likewise.
2188         * lib/w32sock.h: Likewise.
2189         * lib/w32spawn.h: Likewise.
2190         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2191         * lib/fsync.c: Likewise.
2192         * lib/isapipe.c: Likewise.
2193         * modules/dup2 (Depends-on): Add msvc-nothrow.
2194         * modules/accept4 (Depends-on): Likewise.
2195         * modules/error (Depends-on): Likewise.
2196         * modules/fcntl (Depends-on): Likewise.
2197         * modules/lseek (Depends-on): Likewise.
2198         * modules/nonblocking (Depends-on): Likewise.
2199         * modules/poll (Depends-on): Likewise.
2200         * modules/read (Depends-on): Likewise.
2201         * modules/select (Depends-on): Likewise.
2202         * modules/sockets (Depends-on): Likewise.
2203         * modules/sigpipe (Depends-on): Likewise.
2204         * modules/write (Depends-on): Likewise.
2205         * modules/accept (Depends-on): Likewise.
2206         * modules/bind (Depends-on): Likewise.
2207         * modules/connect (Depends-on): Likewise.
2208         * modules/gethostname (Depends-on): Likewise.
2209         * modules/getpeername (Depends-on): Likewise.
2210         * modules/getsockname (Depends-on): Likewise.
2211         * modules/getsockopt (Depends-on): Likewise.
2212         * modules/ioctl (Depends-on): Likewise.
2213         * modules/listen (Depends-on): Likewise.
2214         * modules/recv (Depends-on): Likewise.
2215         * modules/recvfrom (Depends-on): Likewise.
2216         * modules/send (Depends-on): Likewise.
2217         * modules/sendto (Depends-on): Likewise.
2218         * modules/setsockopt (Depends-on): Likewise.
2219         * modules/shutdown (Depends-on): Likewise.
2220         * modules/socket (Depends-on): Likewise.
2221         * modules/execute (Depends-on): Likewise.
2222         * modules/spawn-pipe (Depends-on): Likewise.
2223         * modules/flock (Depends-on): Likewise.
2224         * modules/fsync (Depends-on): Likewise.
2225         * modules/isapipe (Depends-on): Likewise.
2226         * tests/test-cloexec.c: Include msvc-nothrow.h.
2227         * tests/test-dup-safer.c: Likewise.
2228         * tests/test-dup2.c: Likewise.
2229         * tests/test-dup3.c: Likewise.
2230         * tests/test-fcntl.c: Likewise.
2231         * tests/test-pipe.c: Likewise.
2232         * tests/test-pipe2.c: Likewise.
2233         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2234         * modules/unistd-safer-tests (Depends-on): Likewise.
2235         * modules/dup2-tests (Depends-on): Likewise.
2236         * modules/dup3-tests (Depends-on): Likewise.
2237         * modules/fcntl-tests (Depends-on): Likewise.
2238         * modules/pipe-posix-tests (Depends-on): Likewise.
2239         * modules/pipe2-tests (Depends-on): Likewise.
2240
2241 2011-09-23  Bruno Haible  <bruno@clisp.org>
2242
2243         dup2: Make code more maintainable.
2244         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2245         (rpl_dup2): Use it.
2246         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2247         * modules/dup2 (configure.ac): Invoke it.
2248         Reported by Paul Eggert.
2249
2250 2011-09-23  Bruno Haible  <bruno@clisp.org>
2251
2252         msvc-inval: Fix compilation error.
2253         * lib/msvc-inval.h: Include <excpt.h>.
2254
2255 2011-09-23  Bruno Haible  <bruno@clisp.org>
2256
2257         mkdir: Tweak for MSVC 9.
2258         * lib/sys_stat.in.h: Update comments.
2259         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2260
2261         Tests for module 'chdir'.
2262         * modules/chdir-tests: New file.
2263         * tests/test-chdir.c: New file.
2264
2265         New module 'chdir'.
2266         * modules/chdir: New file.
2267         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2268         (chdir): New declaration.
2269         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2270         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2271         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2272         * tests/test-unistd-c++.cc: Check signature of chdir.
2273         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2274         * modules/chdir-long (Depends-on): Add chdir.
2275         * modules/fchdir (Depends-on): Likewise.
2276         * modules/rename (Depends-on): Likewise.
2277         * modules/savewd (Depends-on): Likewise.
2278
2279         rmdir: Support for mingw, MSVC 9.
2280         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2281         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2282
2283         getcwd: Tweak for MSVC 9.
2284         * lib/unistd.in.h: Update comments.
2285         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2286
2287 2011-09-22  Bruno Haible  <bruno@clisp.org>
2288
2289         strerror_r-posix: Avoid a link error on MSVC.
2290         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2291         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2292
2293 2011-09-22  Bruno Haible  <bruno@clisp.org>
2294
2295         select: Avoid link errors on MSVC.
2296         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2297         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2298         * modules/pselect (Link): Likewise.
2299         * NEWS: Mention the change.
2300         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2301         test-select-stdin against $(LIB_SELECT).
2302         * modules/pselect-tests (Makefile.am): Link test-pselect against
2303         $(LIB_SELECT).
2304
2305 2011-09-22  Bruno Haible  <bruno@clisp.org>
2306
2307         select: Avoid compilation error on MSVC.
2308         * lib/select.c: Don't include <stdbool.h>.
2309
2310 2011-09-21  Bruno Haible  <bruno@clisp.org>
2311
2312         Consolidate all uses of PATH_MAX in *.m4 files.
2313         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2314         macros.
2315         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2316         and gl_PATHMAX_SNIPPET.
2317         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2318         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2319         * modules/chdir-long (Files): Add m4/pathmax.m4.
2320         * modules/getcwd (Files): Likewise.
2321
2322 2011-09-21  Bruno Haible  <bruno@clisp.org>
2323
2324         ftruncate: Un-deprecate, concentrate on Win32 support.
2325         * modules/ftruncate (Status, Notice): Remove sections.
2326         (Depends-on): Add largefile.
2327         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2328         non-mingw platforms.
2329         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2330         include <io.h>.
2331         * modules/perror-tests (Depends-on): Add ftruncate.
2332         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2333         'ftruncate' module.
2334
2335 2011-09-21  Bruno Haible  <bruno@clisp.org>
2336
2337         Add dependencies to new dirent related modules.
2338         * modules/opendir (Depends-on): Add closedir.
2339         * modules/getcwd (Depends-on): Add opendir, closedir.
2340         * modules/dirent-safer-tests (Depends-on): Likewise.
2341         * modules/fdopendir-tests (Depends-on): Likewise.
2342         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2343         * modules/renameat-tests (Depends-on): Likewise.
2344
2345 2011-09-21  Bruno Haible  <bruno@clisp.org>
2346
2347         opendir: Avoid compilation error on mingw.
2348         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2349         * modules/opendir (Depends-on): Add unistd.
2350
2351 2011-09-21  Bruno Haible  <bruno@clisp.org>
2352
2353         ftruncate tests: Avoid a test failure on mingw.
2354         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2355
2356 2011-09-21  Bruno Haible  <bruno@clisp.org>
2357
2358         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2359         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2360         native Windows.
2361
2362 2011-09-21  Bruno Haible  <bruno@clisp.org>
2363
2364         New module 'fdopen'.
2365         * lib/stdio.in.h (fdopen): New declaration.
2366         * lib/fdopen.c: New file.
2367         * m4/fdopen.m4: New file.
2368         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2369         REPLACE_FDOPEN.
2370         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2371         REPLACE_FDOPEN.
2372         * modules/fdopen: New file.
2373         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2374         * tests/test-stdio-c++.cc: Check signature of fdopen.
2375         * doc/posix-functions/fdopen.texi: Mention the new module.
2376
2377 2011-09-21  Bruno Haible  <bruno@clisp.org>
2378
2379         unlockpt tests: Avoid test failure on NetBSD 5.1.
2380         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2381         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2382
2383 2011-09-21  Bruno Haible  <bruno@clisp.org>
2384
2385         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2386         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2387         * tests/test-getlogin_r.c (main): Likewise.
2388
2389 2011-09-20  Bruno Haible  <bruno@clisp.org>
2390
2391         time tests: Don't require pid_t.
2392         * doc/posix-headers/time.texi: Revert last change.
2393         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2394         * tests/test-time.c: Comment out the check for pid_t.
2395
2396 2011-09-20  Bruno Haible  <bruno@clisp.org>
2397
2398         fsync tests: Avoid a test failure on mingw.
2399         * tests/test-fsync.c (main): Allow a failure with EIO.
2400
2401 2011-09-20  Bruno Haible  <bruno@clisp.org>
2402
2403         euidaccess: Update comments.
2404         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2405
2406 2011-09-20  Bruno Haible  <bruno@clisp.org>
2407
2408         Ensure EBADF returns for socket functions on mingw.
2409         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2410         descriptor is invalid.
2411         * lib/bind.c (rpl_bind): Likewise.
2412         * lib/connect.c (rpl_connect): Likewise.
2413         * lib/getpeername.c (rpl_getpeername): Likewise.
2414         * lib/getsockname.c (rpl_getsockname): Likewise.
2415         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2416         * lib/listen.c (rpl_listen): Likewise.
2417         * lib/recv.c (rpl_recv): Likewise.
2418         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2419         * lib/send.c (rpl_send): Likewise.
2420         * lib/sendto.c (rpl_sendto): Likewise.
2421         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2422         * lib/shutdown.c (rpl_shutdown): Likewise.
2423
2424 2011-09-20  Bruno Haible  <bruno@clisp.org>
2425
2426         select tests: EBADF tests.
2427         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2428         test_bad_fd): New functions.
2429         (test_function): Invoke also test_bad_fd.
2430
2431 2011-09-20  Bruno Haible  <bruno@clisp.org>
2432
2433         Tests for module 'posix_spawn_file_actions_addopen.
2434         * modules/posix_spawn_file_actions_addopen-tests: New file.
2435         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2436
2437         Tests for module 'posix_spawn_file_actions_adddup2'.
2438         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2439         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2440
2441         Tests for module 'posix_spawn_file_actions_addclose'.
2442         * modules/posix_spawn_file_actions_addclose-tests: New file.
2443         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2444
2445 2011-09-20  Bruno Haible  <bruno@clisp.org>
2446
2447         Tests for module 'unlockpt'.
2448         * modules/unlockpt-tests: New file.
2449         * tests/test-unlockpt.c: New file.
2450         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2451
2452         Tests for module 'grantpt'.
2453         * modules/grantpt-tests: New file.
2454         * tests/test-grantpt.c: New file.
2455         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2456
2457 2011-09-20  Bruno Haible  <bruno@clisp.org>
2458
2459         freopen tests: EBADF tests.
2460         * tests/test-freopen.c: Include errno.h, unistd.h.
2461         (main): Add tests for EBADF, commented out for the moment.
2462
2463         fclose tests: EBADF tests.
2464         * tests/test-fclose.c (main): Add tests for EBADF.
2465
2466         fflush tests: EBADF tests.
2467         * tests/test-fflush.c: Include errno.h, macros.h.
2468         (main): Add tests for EBADF.
2469
2470         ftello tests: EBADF tests.
2471         * tests/test-ftello4.sh: New file.
2472         * tests/test-ftello4.c: New file.
2473         * modules/ftello-tests (Files): Add them.
2474         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
2475
2476         fseeko tests: EBADF tests.
2477         * tests/test-fseeko4.sh: New file.
2478         * tests/test-fseeko4.c: New file.
2479         * modules/fseeko-tests (Files): Add them.
2480         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
2481
2482         Tests for function fputc().
2483         * modules/fputc-tests: New file.
2484         * tests/test-fputc.c: New file.
2485         * modules/stdio-tests (Depends-on): Add fputc-tests.
2486
2487         Tests for function fgetc().
2488         * modules/fgetc-tests: New file.
2489         * tests/test-fgetc.c: New file.
2490         * modules/stdio-tests (Depends-on): Add fgetc-tests.
2491
2492         Tests for function fdopen().
2493         * modules/fdopen-tests: New file.
2494         * tests/test-fdopen.c: New file.
2495         * modules/stdio-tests (Depends-on): Add fdopen-tests.
2496
2497         Tests for module 'vdprintf'.
2498         * modules/vdprintf-tests: New file.
2499         * tests/test-vdprintf.c: New file.
2500
2501         Tests for module 'dprintf'.
2502         * modules/dprintf-tests: New file.
2503         * tests/test-dprintf.c: New file.
2504
2505 2011-09-20  Bruno Haible  <bruno@clisp.org>
2506
2507         Tests for module 'ioctl'.
2508         * modules/ioctl-tests: New file.
2509         * tests/test-ioctl.c: New file.
2510
2511 2011-09-20  Bruno Haible  <bruno@clisp.org>
2512
2513         fcntl tests: EBADF tests.
2514         * tests/test-fcntl.c (main): Add more tests for EBADF.
2515
2516 2011-09-20  Bruno Haible  <bruno@clisp.org>
2517
2518         utimensat tests: EBADF tests.
2519         * tests/test-utimensat.c (main): Add tests for EBADF.
2520
2521         renameat tests: EBADF tests.
2522         * tests/test-renameat.c (main): Add tests for EBADF.
2523
2524         mkfifoat tests: EBADF tests.
2525         * tests/test-mkfifoat.c (main): Add tests for EBADF.
2526
2527         readlinkat tests: EBADF tests.
2528         * tests/test-readlinkat.c (main): Add tests for EBADF.
2529
2530         symlinkat tests: EBADF tests.
2531         * tests/test-symlinkat.c (main): Add tests for EBADF.
2532
2533         linkat tests: EBADF tests.
2534         * tests/test-linkat.c (main): Add tests for EBADF.
2535
2536         Tests for module 'faccessat'.
2537         * modules/faccessat-tests: New file.
2538         * tests/test-faccessat.c: New file.
2539
2540         fdopendir tests: EBADF tests.
2541         * tests/test-fdopendir.c (main): Add more tests for EBADF.
2542
2543         openat tests: EBADF tests.
2544         * tests/test-fchownat.c (main): Add tests for EBADF.
2545         * tests/test-fstatat.c (main): Likewise.
2546         * tests/test-mkdirat.c (main): Likewise.
2547         * tests/test-openat.c (main): Likewise.
2548         * tests/test-unlinkat.c (main): Likewise.
2549         * tests/test-fchmodat.c: New file.
2550         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
2551         (Makefile.am): Also run 'test-fchmodat'.
2552
2553 2011-09-20  Bruno Haible  <bruno@clisp.org>
2554
2555         utimens, futimens, fdutimensat tests: EBADF tests.
2556         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
2557
2558         Tests for function fstat().
2559         * modules/fstat-tests: New file.
2560         * tests/test-fstat.c: New file.
2561         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
2562
2563 2011-09-20  Bruno Haible  <bruno@clisp.org>
2564
2565         test-ttyname_r tests: EBADF tests.
2566         * tests/test-ttyname_r.c (main): Add tests for EBADF.
2567
2568         Tests for module 'isatty'.
2569         * modules/isatty-tests: New file.
2570         * tests/test-isatty.c: New file.
2571
2572         Tests for module 'write'.
2573         * modules/write-tests: New file.
2574         * tests/test-write.c: New file.
2575
2576         Tests for module 'read'.
2577         * modules/read-tests: New file.
2578         * tests/test-read.c: New file.
2579
2580         pwrite tests: EBADF tests.
2581         * tests/test-pwrite.c (main): Add tests for EBADF.
2582
2583         pread tests: EBADF tests.
2584         * tests/test-pread.c (main): Add tests for EBADF.
2585
2586         lseek tests: EBADF tests.
2587         * tests/test-lseek.c (main): Add more tests for EBADF.
2588
2589         Tests for module 'ftruncate'.
2590         * modules/ftruncate-tests: New file.
2591         * tests/test-ftruncate.sh: New file.
2592         * tests/test-ftruncate.c: New file.
2593
2594         fsync tests: EBADF tests.
2595         * tests/test-fsync.c (main): Add more tests for EBADF.
2596
2597         fdatasync tests: EBADF tests.
2598         * tests/test-fdatasync.c (main): Add more tests for EBADF.
2599
2600         Tests for module 'fchown'.
2601         * modules/fchown-tests: New file.
2602         * tests/test-fchown.c: New file.
2603
2604         Tests for module 'fchmod'.
2605         * modules/fchmod-tests: New file.
2606         * tests/test-fchmod.c: New file.
2607
2608         fchdir tests: EBADF tests.
2609         * tests/test-fchdir.c (main): Add more tests for EBADF.
2610
2611         dup2 tests: EBADF tests.
2612         * tests/test-dup2.c (main): Add more tests for EBADF.
2613
2614         Tests for module 'dup'.
2615         * modules/dup-tests: New file.
2616         * tests/test-dup.c: New file.
2617
2618         Tests for module 'close'.
2619         * modules/close-tests: New file.
2620         * tests/test-close.c: New file.
2621
2622 2011-09-20  Bruno Haible  <bruno@clisp.org>
2623
2624         Tests for module 'shutdown'.
2625         * modules/shutdown-tests: New file.
2626         * tests/test-shutdown.c: New file.
2627
2628         Tests for module 'setsockopt'.
2629         * modules/setsockopt-tests: New file.
2630         * tests/test-setsockopt.c: New file.
2631
2632         Tests for module 'sendto'.
2633         * modules/sendto-tests: New file.
2634         * tests/test-sendto.c: New file.
2635
2636         Tests for module 'send'.
2637         * modules/send-tests: New file.
2638         * tests/test-send.c: New file.
2639
2640         Tests for module 'recvfrom'.
2641         * modules/recvfrom-tests: New file.
2642         * tests/test-recvfrom.c: New file.
2643
2644         Tests for module 'recv'.
2645         * modules/recv-tests: New file.
2646         * tests/test-recv.c: New file.
2647
2648         Tests for module 'listen'.
2649         * modules/listen-tests: New file.
2650         * tests/test-listen.c: New file.
2651
2652         Tests for module 'getsockopt'.
2653         * modules/getsockopt-tests: New file.
2654         * tests/test-getsockopt.c: New file.
2655
2656         Tests for module 'getsockname'.
2657         * modules/getsockname-tests: New file.
2658         * tests/test-getsockname.c: New file.
2659
2660         Tests for module 'getpeername'.
2661         * modules/getpeername-tests: New file.
2662         * tests/test-getpeername.c: New file.
2663
2664         Tests for module 'connect'.
2665         * modules/connect-tests: New file.
2666         * tests/test-connect.c: New file.
2667
2668         Tests for module 'bind'.
2669         * modules/bind-tests: New file.
2670         * tests/test-bind.c: New file.
2671
2672         accept4 tests: Fix for native Windows.
2673         * tests/test-accept4.c: Include sockets.h.
2674         (main): Invoke gl_sockets_startup.
2675         * modules/accept4-tests (Depends-on): Add sockets.
2676
2677         accept tests: Fix for native Windows.
2678         * tests/test-accept.c: Include sockets.h.
2679         (main): Invoke gl_sockets_startup.
2680         * modules/accept-tests (Depends-on): Add sockets.
2681
2682 2011-09-19  Bruno Haible  <bruno@clisp.org>
2683
2684         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
2685         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
2686         do...while(0).
2687         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
2688         Suggested by Paul Eggert.
2689
2690 2011-09-19  Bruno Haible  <bruno@clisp.org>
2691
2692         sched: Ensure pid_t is defined.
2693         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
2694         not define pid_t.
2695         * lib/sched.in.h: Include <sys/types.h>.
2696         * doc/posix-headers/sched.texi: Mention the pid_t problem.
2697         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2698
2699 2011-09-19  Bruno Haible  <bruno@clisp.org>
2700
2701         msvc-inval: Ensure the entire expansion is a single statement.
2702         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
2703         of braces.
2704
2705 2011-09-19  Jim Meyering  <meyering@redhat.com>
2706
2707         tests: use printf, not echo in init.sh's warn_ function
2708         * tests/init.sh (warn_): Use printf, not echo.  The latter would
2709         misbehave when given strings containing a backslash or starting
2710         with e.g., -n.  James Youngman suggested setting IFS.
2711
2712 2011-09-19  Eric Blake  <eblake@redhat.com>
2713
2714         futimens: enhance test
2715         * tests/test-futimens.h (test_futimens): Also check for EBADF on
2716         closed non-negative fd.
2717
2718         date: accept 'hence' as opposite of 'ago'
2719         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
2720         * tests/test-parse-datetime.c (main): Enhance test.
2721         Suggested by Jesse Wilson.
2722
2723 2011-09-19  Jim Meyering  <meyering@redhat.com>
2724
2725         getcwd: don't fail in a deep directory on a system without openat
2726         Before this change, getcwd would fail when called from a directory
2727         of depth PATH_MAX / 3 or greater.  That was due to the fact that
2728         the non-openat implementation used "..", "../..", "../../..", etc.
2729         to access ancestor directories.  With too many, that string would
2730         be longer than PATH_MAX.
2731         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
2732         using gnulib's openat replacement.
2733         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
2734         we're using the replacement function.
2735
2736 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
2737
2738         maint.mk: avoid warnings from perl about missing files
2739         * top/maint.mk (def_sym_regex): Ignore files listed in
2740         $(gl_other_headers_) that do not exist, say because a project
2741         does not use a corresponding module.
2742
2743 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2744
2745         stat: use pathmax.h only if needed
2746         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
2747         This is better for Emacs, which does not have a mingw port and
2748         therefore can avoid the pathmax module.
2749
2750         utimens: remove dependency on dup2
2751         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
2752         to work around the Linux kernel bug.
2753         * modules/utimens (Depends-on): Remove dup2.
2754
2755 2011-09-18  Bruno Haible  <bruno@clisp.org>
2756
2757         inet_ntop, inet_pton: Look for it also in libresolv.
2758         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
2759         libnsl, search for it in libresolv.
2760         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
2761         Needed on Solaris 7.
2762
2763 2011-09-18  Bruno Haible  <bruno@clisp.org>
2764
2765         accept, accept4 tests: Avoid link error on Solaris.
2766         * modules/accept-tests (Makefile.am): Link test-accept against
2767         $(LIBSOCKET).
2768         * modules/accept4-tests (Makefile.am): Link test-accept4 against
2769         $(LIBSOCKET).
2770
2771         accept4: Avoid link error on Solaris.
2772         * modules/accept4 (Link): New section.
2773
2774         socket functions: Avoid link errors on Solaris.
2775         * modules/accept (Depends-on): Add socketlib.
2776         (Link): New section.
2777         * modules/bind (Depends-on): Add socketlib.
2778         (Link): New section.
2779         * modules/connect (Depends-on): Add socketlib.
2780         (Link): New section.
2781         * modules/getpeername (Depends-on): Add socketlib.
2782         (Link): New section.
2783         * modules/getsockname (Depends-on): Add socketlib.
2784         (Link): New section.
2785         * modules/getsockopt (Depends-on): Add socketlib.
2786         (Link): New section.
2787         * modules/listen (Depends-on): Add socketlib.
2788         (Link): New section.
2789         * modules/recv (Depends-on): Add socketlib.
2790         (Link): New section.
2791         * modules/recvfrom (Depends-on): Add socketlib.
2792         (Link): New section.
2793         * modules/send (Depends-on): Add socketlib.
2794         (Link): New section.
2795         * modules/sendto (Depends-on): Add socketlib.
2796         (Link): New section.
2797         * modules/setsockopt (Depends-on): Add socketlib.
2798         (Link): New section.
2799         * modules/shutdown (Depends-on): Add socketlib.
2800         (Link): New section.
2801         * modules/socket (Depends-on): Add socketlib.
2802         (Link): New section.
2803
2804 2011-09-18  Bruno Haible  <bruno@clisp.org>
2805
2806         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
2807         * tests/test-ptsname.c (main): Terminate the test if it takes longer
2808         than 5 seconds.
2809         * modules/ptsname-tests (configure.ac): Test for alarm.
2810
2811 2011-09-18  Bruno Haible  <bruno@clisp.org>
2812
2813         posix_spawn_file_actions_add*: Fix module dependencies.
2814         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
2815         posix_spawn_file_actions_init.
2816         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
2817         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
2818
2819 2011-09-18  Bruno Haible  <bruno@clisp.org>
2820
2821         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
2822         * tests/test-rename.h (test_rename): Allow error code EEXIST.
2823         * tests/test-renameat.c (main): Likewise.
2824
2825 2011-09-18  Bruno Haible  <bruno@clisp.org>
2826
2827         Tests for module 'accept4'.
2828         * modules/accept4-tests: New file.
2829         * tests/test-accept4.c: New file.
2830
2831 2011-09-18  Bruno Haible  <bruno@clisp.org>
2832
2833         Tests for module 'accept'.
2834         * modules/accept-tests: New file.
2835         * tests/test-accept.c: New file.
2836
2837 2011-09-18  Bruno Haible  <bruno@clisp.org>
2838
2839         dup2: Support for MSVC.
2840         * lib/dup2.c: Include msvc-inval.h.
2841         (rpl_dup2): Handle invalid parameter notifications during dup2 and
2842         _get_osfhandle calls.
2843         * modules/dup2 (Depends-on): Add msvc-inval.
2844         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
2845
2846         New module 'msvc-inval'.
2847         * lib/msvc-inval.h: New file.
2848         * lib/msvc-inval.c: New file.
2849         * m4/msvc-inval.m4: New file.
2850         * modules/msvc-inval: New file.
2851
2852 2011-09-17  Bruno Haible  <bruno@clisp.org>
2853
2854         Tests for module 'pclose'.
2855         * modules/pclose-tests: New file.
2856
2857         New module 'pclose'.
2858         * lib/stdio.in.h (pclose): New declaration.
2859         * lib/pclose.c: New file.
2860         * m4/pclose.m4: New file.
2861         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
2862         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
2863         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
2864         * modules/pclose: New file.
2865         * modules/popen-tests (Depends-on): Add pclose.
2866         * modules/popen-safer-tests (Depends-on): Likewise.
2867         * doc/posix-functions/pclose.texi: Mention the new module.
2868
2869 2011-09-17  Bruno Haible  <bruno@clisp.org>
2870
2871         popen: Support for MSVC.
2872         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
2873         * lib/popen.c (popen): Provide alternate definition for native Windows.
2874         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
2875         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
2876         * modules/popen (Depends-on, configure.ac): Update condition.
2877         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
2878         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
2879         fixed.
2880
2881 2011-09-17  Bruno Haible  <bruno@clisp.org>
2882
2883         isnanl, isnand, isnanf: Work around MSVC bug.
2884         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
2885
2886 2011-09-17  Bruno Haible  <bruno@clisp.org>
2887
2888         sys_socket tests: Fix recent mistake.
2889         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
2890
2891 2011-09-17  Bruno Haible  <bruno@clisp.org>
2892
2893         putenv: Support for MSVC.
2894         * modules/putenv (Depends-on): Add environ.
2895         * lib/putenv.c (environ): Disable declaration.
2896         * lib/unistd.in.h: Update comment.
2897
2898 2011-09-17  Bruno Haible  <bruno@clisp.org>
2899
2900         math: Avoid macro redefinition warnings on MSVC.
2901         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
2902         Undefine before redefining.
2903
2904 2011-09-17  Bruno Haible  <bruno@clisp.org>
2905
2906         doc: Mention functions which are declared as macros.
2907         * doc/posix-functions/*[fl].texi: Mention that some functions are
2908         defined as macros with arguments only.
2909
2910 2011-09-17  Bruno Haible  <bruno@clisp.org>
2911
2912         Add dependencies to new dirent related modules.
2913         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
2914         * modules/fts (Depends-on): Likewise.
2915         * modules/glob (Depends-on): Likewise.
2916         * modules/savedir (Depends-on): Likewise.
2917         * modules/scandir (Depends-on): Likewise.
2918         * modules/dirent-safer (Depends-on): Add opendir, closedir.
2919         * modules/fdopendir (Depends-on): Add opendir.
2920
2921 2011-09-17  Bruno Haible  <bruno@clisp.org>
2922
2923         inet_pton: Support for MSVC on Windows Vista or newer.
2924         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
2925         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
2926         HAVE_DECL_INET_PTON is defined.
2927         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
2928         On platforms with <winsock2.h>, test whether inet_pton is declared in
2929         <ws2tcpip.h>. If so, arrange to replace it.
2930         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
2931         REPLACE_INET_PTON.
2932         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
2933         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
2934         (Depends-on, configure.ac): Update condition.
2935         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
2936
2937 2011-09-17  Bruno Haible  <bruno@clisp.org>
2938
2939         inet_ntop: Support for MSVC on Windows Vista or newer.
2940         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
2941         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
2942         HAVE_DECL_INET_NTOP is defined.
2943         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
2944         On platforms with <winsock2.h>, test whether inet_ntop is declared in
2945         <ws2tcpip.h>. If so, arrange to replace it.
2946         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
2947         REPLACE_INET_NTOP.
2948         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
2949         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
2950         (Depends-on, configure.ac): Update condition.
2951         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
2952
2953 2011-09-16  Eric Blake  <eblake@redhat.com>
2954
2955         test-fsync: yet another enhancement
2956         * tests/test-fsync.c (main): Also test behavior on read-only text
2957         file.
2958
2959 2011-09-16  Bruno Haible  <bruno@clisp.org>
2960
2961         Enhance fsync, fdatasync tests.
2962         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
2963         * tests/test-fdatasync.c (main): Likewise.
2964
2965 2011-09-16  Bruno Haible  <bruno@clisp.org>
2966
2967         Support for MSVC compiler: Ensure mode_t gets defined.
2968         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
2969         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
2970         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
2971         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
2972         * tests/test-fcntl-h.c: Check that mode_t is defined.
2973         * tests/test-sys_stat.c: Likewise.
2974         * tests/test-sys_types.c: Likewise.
2975         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
2976         * doc/posix-headers/sys_stat.texi: Likewise.
2977         * doc/posix-headers/sys_types.texi: Likewise.
2978
2979 2011-09-16  Bruno Haible  <bruno@clisp.org>
2980
2981         sys_stat: Support for MSVC.
2982         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
2983         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
2984         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
2985         MSVC.
2986
2987 2011-09-16  Bruno Haible  <bruno@clisp.org>
2988
2989         Support for MSVC compiler: Ensure off_t gets defined.
2990         * lib/unistd.in.h: Include <sys/types.h>.
2991         * tests/test-fcntl-h.c: Check that off_t is defined.
2992         * tests/test-sys_stat.c: Likewise.
2993         * tests/test-sys_types.c: Likewise.
2994
2995 2011-09-16  Eric Blake  <eblake@redhat.com>
2996
2997         fdatasync: port to Solaris
2998         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
2999         * modules/fdatasync (Link): Document it.
3000         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3001
3002         fdatasync: port to MacOS X 10.7
3003         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3004         declared.
3005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3006         * modules/unistd (Makefile.am): Substitute it.
3007         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3008         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3009
3010         fdatasync: minor improvements
3011         * modules/fdatasync (Depends-on): Add condition for fsync.
3012         * lib/fdatasync.c (fdatasync): Add comment.
3013         * tests/test-unistd-c++.cc: Test fdatasync.
3014
3015         unistd: update refs to newer POSIX
3016         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3017         Suggested by Bruno Haible.
3018
3019         fdatasync: new module
3020         * modules/fsync (Description): Document difference to fdatasync.
3021         * modules/fdatasync: New module.
3022         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3023         * lib/fdatasync.c (fdatasync): Likewise.
3024         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3025         defaults.
3026         * modules/unistd (Makefile.am): Set witnesses.
3027         * lib/unistd.in.h (fdatasync): Declare.
3028         * MODULES.html.sh: Document it.
3029         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3030         * modules/fdatasync-tests: New test.
3031         * tests/test-fdatasync.c: Likewise.
3032
3033 2011-09-16  Eric Blake  <eblake@redhat.com>
3034
3035         test-fsync: enhance tests
3036         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3037         * tests/test-fsync.c (main): Enhance test.
3038
3039 2011-09-15  Bruno Haible  <bruno@clisp.org>
3040
3041         Support for MSVC compiler: Ensure ssize_t gets defined.
3042         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3043         * doc/posix-headers/stdio.texi: Likewise.
3044         * modules/stdio (Depends-on): Add ssize_t.
3045         * modules/sys_socket (Depends-on): Likewise.
3046         * modules/sys_types (Depends-on): Likewise.
3047         * modules/sys_uio (Depends-on): Likewise.
3048         * modules/unistd (Depends-on): Likewise.
3049         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3050         * tests/test-sys_types.c: Check that ssize_t is defined.
3051
3052 2011-09-14  Bruno Haible  <bruno@clisp.org>
3053
3054         Avoid using #, the m4 comment starter character, near brackets.
3055         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3056         delimiter character in sed expressions.
3057         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3058         Suggested by Eric Blake.
3059
3060         Properly quote AC_CHECK_DECLS' 4th argument.
3061         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3062         argument.
3063         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3064         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3065         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3066         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3067         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3068         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3069         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3070         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3071         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3072         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3073         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3074         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3075         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3076         * m4/isinf.m4 (gl_ISINF): Likewise.
3077         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3078         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3079         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3080         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3081         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3082         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3083         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3084         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3085         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3086         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3087         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3088         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3089         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3090         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3091         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3092         Reported by Eric Blake.
3093
3094         Properly quote AC_CHECK_DECL's 4th argument.
3095         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3096         argument.
3097         * m4/argp.m4 (gl_ARGP): Likewise.
3098         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3099         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3100         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3101         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3102         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3103         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3104         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3105         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3106         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3107         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3108         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3109         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3110         Reported by Eric Blake.
3111
3112 2011-09-14  Eric Blake  <eblake@redhat.com>
3113
3114         opendir: avoid compile warning
3115         * lib/opendir.c (includes): Always include errno.h.
3116         Reported by Tatsuro MATSUOKA.
3117
3118 2011-09-14  Jim Meyering  <meyering@redhat.com>
3119
3120         maint.mk: sc_tight_scope: propagate failure from sub-make
3121         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3122         Reported by Martin von Gagern.
3123
3124 2011-09-13  Bruno Haible  <bruno@clisp.org>
3125
3126         tempname: Support for MSVC.
3127         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3128         MSVC.
3129         * modules/tempname (Depends-on): Add fcntl-h.
3130
3131 2011-09-13  Bruno Haible  <bruno@clisp.org>
3132
3133         sys_time: Support for MSVC.
3134         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3135         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3136         include <winsock2.h>.
3137         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3138         function declarations that collide with POSIX.
3139         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3140         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3141
3142 2011-09-13  Bruno Haible  <bruno@clisp.org>
3143
3144         stat: Support for MSVC.
3145         * lib/stat.c: Include pathmax.h.
3146         * modules/stat (Depends-on): Add pathmax.
3147
3148         pathmax: Support for native Windows.
3149         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3150
3151 2011-09-12  Bruno Haible  <bruno@clisp.org>
3152
3153         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3154         * lib/dirent.in.h (struct dirent): New type.
3155         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3156         DT_WHT): New macros.
3157         (DIR): New type.
3158         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3159         (readdir, rewinddir): New declarations.
3160         * lib/dirent-private.h: New file.
3161         * lib/opendir.c: New file.
3162         * lib/readdir.c: New file.
3163         * lib/rewinddir.c: New file.
3164         * lib/closedir.c: New file.
3165         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3166         * m4/opendir.m4: New file.
3167         * m4/readdir.m4: New file.
3168         * m4/rewinddir.m4: New file.
3169         * m4/closedir.m4: New file.
3170         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3171         REPLACE_CLOSEDIR here.
3172         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3173         readdir, rewinddir are declared.
3174         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3175         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3176         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3177         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3178         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3179         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3180         * modules/opendir: New file.
3181         * modules/readdir: New file.
3182         * modules/rewinddir: New file.
3183         * modules/closedir: New file.
3184         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3185         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3186         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3187         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3188         * NEWS: Mention the 'fchdir' change.
3189
3190 2011-09-11  Bruno Haible  <bruno@clisp.org>
3191
3192         asm-underscore.m4: Support for MSVC.
3193         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3194         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3195
3196 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3197
3198         Doc about crypt functions.
3199         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3200         needing for _GNU_SOURCE to get crypt.
3201         * doc/posix-functions/encrypt.texi: Likewise.
3202         * doc/posix-functions/setkey.texi: Likewise.
3203
3204 2011-09-11  Bruno Haible  <bruno@clisp.org>
3205
3206         doc: Update regarding MSVC 9.
3207         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3208         tested".
3209         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3210         * doc/posix-headers/*.texi: Likewise.
3211         * doc/pastposix-functions/*.texi: Likewise.
3212         * doc/glibc-functions/*.texi: Likewise.
3213         * doc/glibc-headers/*.texi: Likewise.
3214
3215 2011-09-11  Bruno Haible  <bruno@clisp.org>
3216
3217         unistd et al.: Don't assume <unistd.h> exists.
3218         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3219         does not exist.
3220         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3221         exist. But include <stdlib.h>.
3222         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3223         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3224         symlink() does not exist.
3225         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3226         include <io.h> instead.
3227         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3228         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3229         include <direct.h> instead.
3230         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3231         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3232         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3233         <io.h> instead.
3234         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3235         correctly if the system does not have hard links.
3236         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3237         <direct.h> instead.
3238         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3239         it when looking for function declarations.
3240         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3241         <direct.h> and <io.h> instead.
3242         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3243
3244 2011-09-11  Bruno Haible  <bruno@clisp.org>
3245
3246         strcase: Support for MSVC.
3247         * modules/strcase (Status, Notice): Remove obsoletion mark.
3248         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3249         * doc/posix-functions/strncasecmp.texi: Likewise.
3250
3251         strings: Don't assume <strings.h> exists.
3252         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3253         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3254         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3255         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3256
3257 2011-09-11  Bruno Haible  <bruno@clisp.org>
3258
3259         dirent: Don't assume <dirent.h> exists.
3260         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3261         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3262         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3263         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3264
3265 2011-09-11  Bruno Haible  <bruno@clisp.org>
3266
3267         Fix wint_t on MSVC.
3268         * lib/wchar.in.h (wint_t): On MSVC, override it.
3269         * lib/wctype.in.h (wint_t): Likewise.
3270         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3271         MSVC.
3272         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3273         * doc/posix-headers/wctype.texi: Likewise.
3274
3275 2011-09-11  Bruno Haible  <bruno@clisp.org>
3276
3277         sys_types: Fix typo.
3278         * lib/sys_types.in.h: Fix typo in comment.
3279         Reported by Paul Eggert.
3280
3281         Support for MSVC compiler: Ensure size_t gets defined.
3282         * modules/strings (Depends-on): Add 'sys_types'.
3283         * modules/sys_uio (Depends-on): Likewise.
3284         * lib/sys_uio.in.h: Update comment.
3285
3286         C++ tests for module 'sys_types'.
3287         * modules/sys_types-c++-tests: New file.
3288         * tests/test-sys_types-c++.cc: New file.
3289
3290         Tests for module 'sys_types'.
3291         * modules/sys_types-tests: New file.
3292         * tests/test-sys_types.c: New file.
3293
3294         New module 'sys_types'.
3295         * lib/sys_types.in.h: New file.
3296         * m4/sys_types_h.m4: New file.
3297         * modules/sys_types: New file.
3298         * doc/posix-headers/sys_types.texi: Mention the new module and the
3299         size_t problem on MSVC 9.
3300
3301 2011-09-11  Bruno Haible  <bruno@clisp.org>
3302
3303         Support for MSVC compiler: Avoid division by a literal 0.
3304         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3305         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3306         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3307         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3308         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3309         * tests/infinity.h: New file.
3310         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3311         on MSVC.
3312         * tests/test-ceilf1.c: Include infinity.h.
3313         (main): Use Infinityf.
3314         * tests/test-ceil1.c: Include infinity.h.
3315         (main): Use Infinityd.
3316         * tests/test-ceill.c: Include infinity.h.
3317         (main): Use Infinityl.
3318         * tests/test-dprintf-posix.c: Include infinity.h.
3319         (test_function): Use Infinityd.
3320         * tests/test-floorf1.c: Include infinity.h.
3321         (main): Use Infinityf.
3322         * tests/test-floor1.c: Include infinity.h.
3323         (main): Use Infinityd.
3324         * tests/test-floorl.c: Include infinity.h.
3325         (main): Use Infinityl.
3326         * tests/test-fprintf-posix.c: Include infinity.h.
3327         (test_function): Use Infinityd.
3328         * tests/test-frexp.c: Include infinity.h.
3329         (main): Use Infinityd.
3330         * tests/test-frexpl.c: Include infinity.h.
3331         (main): Use Infinityl.
3332         * tests/test-isfinite.c: Include infinity.h.
3333         (test_isfinitef): Use Infinityf.
3334         (test_isfinited): Use Infinityd.
3335         (test_isfinitel): Use Infinityl.
3336         * tests/test-isinf.c: Include infinity.h.
3337         (test_isinff): Use Infinityf.
3338         (test_isinfd): Use Infinityd.
3339         (test_isinfl): Use Infinityl.
3340         * tests/test-isnan.c: Include infinity.h.
3341         (test_float): Use Infinityf.
3342         (test_double): Use Infinityd.
3343         (test_long_double): Use Infinityl.
3344         * tests/test-isnanf.h: Include infinity.h.
3345         (main): Use Infinityf.
3346         * tests/test-isnand.h: Include infinity.h.
3347         (main): Use Infinityd.
3348         * tests/test-isnanl.h: Include infinity.h.
3349         (main): Use Infinityl.
3350         * tests/test-ldexpl.c: Include infinity.h.
3351         (main): Use Infinityl.
3352         * tests/test-printf-posix.h: Include infinity.h.
3353         (test_function): Use Infinityd.
3354         * tests/test-roundf1.c: Include infinity.h.
3355         (main): Use Infinityf.
3356         * tests/test-round1.c: Include infinity.h.
3357         (main): Use Infinityd.
3358         * tests/test-roundl.c: Include infinity.h.
3359         (main): Use Infinityl.
3360         * tests/test-signbit.c: Include infinity.h.
3361         (test_signbitf): Use Infinityf.
3362         (test_signbitd): Use Infinityd.
3363         (test_signbitl): Use Infinityl.
3364         * tests/test-snprintf-posix.h: Include infinity.h.
3365         (test_function): Use Infinityd, Infinityl.
3366         * tests/test-sprintf-posix.h: Include infinity.h.
3367         (test_function): Use Infinityd, Infinityl.
3368         * tests/test-truncf1.c: Include infinity.h.
3369         (main): Use Infinityf.
3370         * tests/test-trunc1.c: Include infinity.h.
3371         (main): Use Infinityd.
3372         * tests/test-truncl.c: Include infinity.h.
3373         (main): Use Infinityl.
3374         * tests/test-vasnprintf-posix.c: Include infinity.h.
3375         (test_function): Use Infinityd, Infinityl.
3376         * tests/test-vasprintf-posix.c: Include infinity.h.
3377         (test_function): Use Infinityd, Infinityl.
3378         * modules/ceilf-tests (Files): Add tests/infinity.h.
3379         * modules/ceil-tests (Files): Likewise.
3380         * modules/ceill-tests (Files): Likewise.
3381         * modules/dprintf-posix-tests (Files): Likewise.
3382         * modules/floorf-tests (Files): Likewise.
3383         * modules/floor-tests (Files): Likewise.
3384         * modules/floorl-tests (Files): Likewise.
3385         * modules/fprintf-posix-tests (Files): Likewise.
3386         * modules/frexp-tests (Files): Likewise.
3387         * modules/frexp-nolibm-tests (Files): Likewise.
3388         * modules/frexpl-tests (Files): Likewise.
3389         * modules/frexpl-nolibm-tests (Files): Likewise.
3390         * modules/isfinite-tests (Files): Likewise.
3391         * modules/isinf-tests (Files): Likewise.
3392         * modules/isnan-tests (Files): Likewise.
3393         * modules/isnanf-tests (Files): Likewise.
3394         * modules/isnanf-nolibm-tests (Files): Likewise.
3395         * modules/isnand-tests (Files): Likewise.
3396         * modules/isnand-nolibm-tests (Files): Likewise.
3397         * modules/isnanl-tests (Files): Likewise.
3398         * modules/isnanl-nolibm-tests (Files): Likewise.
3399         * modules/ldexpl-tests (Files): Likewise.
3400         * modules/printf-posix-tests (Files): Likewise.
3401         * modules/roundf-tests (Files): Likewise.
3402         * modules/round-tests (Files): Likewise.
3403         * modules/roundl-tests (Files): Likewise.
3404         * modules/signbit-tests (Files): Likewise.
3405         * modules/snprintf-posix-tests (Files): Likewise.
3406         * modules/sprintf-posix-tests (Files): Likewise.
3407         * modules/truncf-tests (Files): Likewise.
3408         * modules/trunc-tests (Files): Likewise.
3409         * modules/truncl-tests (Files): Likewise.
3410         * modules/vasnprintf-posix-tests (Files): Likewise.
3411         * modules/vasprintf-posix-tests (Files): Likewise.
3412         * modules/vdprintf-posix-tests (Files): Likewise.
3413         * modules/vfprintf-posix-tests (Files): Likewise.
3414         * modules/vprintf-posix-tests (Files): Likewise.
3415         * modules/vsnprintf-posix-tests (Files): Likewise.
3416         * modules/vsprintf-posix-tests (Files): Likewise.
3417         * modules/xprintf-posix-tests (Files): Likewise.
3418
3419 2011-09-11  Bruno Haible  <bruno@clisp.org>
3420
3421         Ensure pid_t gets defined.
3422         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3423         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3424         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3425         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3426         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3427         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3428         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3429         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3430         * tests/test-fcntl-h.c: Check that pid_t is defined.
3431         * tests/test-sched.c: Likewise.
3432         * tests/test-termios.c: Likewise.
3433         * tests/test-time.c: Likewise.
3434         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3435         * doc/posix-headers/signal.texi: Likewise.
3436         * doc/posix-headers/sys_types.texi: Likewise.
3437         * doc/posix-headers/time.texi: Likewise.
3438
3439 2011-09-11  Bruno Haible  <bruno@clisp.org>
3440
3441         acl: Fix compilation on Solaris 10 (older version).
3442         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3443         of ACE_EVERYONE.
3444         * lib/set-mode-acl.c (qset_acl): Likewise.
3445         Reported by Christian Jullien <eligis@orange.fr>.
3446
3447 2011-09-10  Bruno Haible  <bruno@clisp.org>
3448
3449         iconv, unsetenv: Add support for MSVC compiler.
3450         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3451         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3452
3453 2011-09-10  Bruno Haible  <bruno@clisp.org>
3454
3455         *printf: Add support for MSVC compiler.
3456         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3457         handles the exception caused by the %n directive. When cross-compiling,
3458         guess no on native Windows.
3459         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3460         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3461         emulate it through vsnprintf.
3462         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3463         * doc/posix-functions/dprintf.texi: Update documentation regarding
3464         MSVC 9.
3465         * doc/posix-functions/fprintf.texi: Likewise.
3466         * doc/posix-functions/printf.texi: Likewise.
3467         * doc/posix-functions/snprintf.texi: Likewise.
3468         * doc/posix-functions/sprintf.texi: Likewise.
3469         * doc/posix-functions/swprintf.texi: Likewise.
3470         * doc/posix-functions/vdprintf.texi: Likewise.
3471         * doc/posix-functions/vfprintf.texi: Likewise.
3472         * doc/posix-functions/vprintf.texi: Likewise.
3473         * doc/posix-functions/vsnprintf.texi: Likewise.
3474         * doc/posix-functions/vsprintf.texi: Likewise.
3475         * doc/glibc-functions/asprintf.texi: Likewise.
3476         * doc/glibc-functions/obstack_printf.texi: Likewise.
3477         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3478         * doc/glibc-functions/vasprintf.texi: Likewise.
3479
3480 2011-09-10  Bruno Haible  <bruno@clisp.org>
3481
3482         nocrash: Add support for native Windows.
3483         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
3484
3485 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
3486             Bruno Haible  <bruno@clisp.org>
3487
3488         absolute-header, include-next: Add support for MSVC compiler.
3489         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
3490         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
3491         directory separator in #line directives.
3492         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
3493         recognize also backslash as directory separator in #line directives.
3494
3495 2011-09-08  Jim Meyering  <meyering@redhat.com>
3496
3497         maint.mk: mark the post-release commit log with "maint: " prefix
3498         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
3499         one-line commit-log summary.
3500
3501 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
3502             Bruno Haible  <bruno@clisp.org>
3503
3504         Doc about crypt functions.
3505         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
3506         systems.
3507         * doc/posix-functions/encrypt.texi: Likewise.
3508         * doc/posix-functions/setkey.texi: Likewise.
3509
3510 2011-09-08  Simon Josefsson  <simon@josefsson.org>
3511
3512         * lib/gc.h: Fix copyright header.
3513
3514 2011-09-07  Bruno Haible  <bruno@clisp.org>
3515
3516         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
3517         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
3518         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
3519
3520 2011-09-07  Bruno Haible  <bruno@clisp.org>
3521
3522         openat: Work around compilation error with OSF/1 5.1 DTK cc.
3523         * lib/fopen.c: Use different syntax for include of <stdio.h>.
3524         * lib/freopen.c: Likewise.
3525         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
3526         * lib/lstat.c: Likewise.
3527         * lib/stat.c: Likewise.
3528         * lib/open.c: Use different syntax for include of <fcntl.h>.
3529         * lib/openat.c: Include fcntl.h again, explicitly.
3530
3531 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
3532
3533         parse-datetime: document the newly accepted format
3534         * doc/parse-datetime.texi (Combined date and time of day items):
3535         New section.
3536
3537 2011-09-06  Bruno Haible  <bruno@clisp.org>
3538
3539         acl: Fix a test failure on newer Solaris 10 with ZFS.
3540         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
3541         ENOSYS as no ACL.
3542         Reported by Jim Meyering.
3543
3544 2011-09-06  Bruno Haible  <bruno@clisp.org>
3545
3546         acl: Update for AIX >= 5.3 with NFS.
3547         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
3548         ENOSYS as no ACL.
3549
3550         acl: Fix a test failure on AIX >= 5.3 with NFS.
3551         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
3552         as no ACL.
3553
3554 2011-09-06  Bruno Haible  <bruno@clisp.org>
3555
3556         acl: Fix a test failure on IRIX 6.5 with NFS.
3557         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
3558         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
3559         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
3560         * lib/copy-acl.c (qcopy_acl): Likewise.
3561
3562 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3563
3564         openat: port to AIX 7.1 with large files
3565         AIX 7.1 does a "#define openat open64at" if large files are in use,
3566         so we can't simply #undef openat.  Use the orig_openat trick (similar
3567         to orig_open in lib/open.c) to work around the problem.  Problem
3568         reported by Kevin Brott for GNU tar, in the thread containing
3569         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
3570         * lib/openat.c (__need_system_fcntl_h): Define first.
3571         Include <fcntl.h> and <sys/types.h> before undefining.
3572         (orig_openat) [HAVE_OPENAT]: New inline function.
3573         (openat) [HAVE_OPENAT]: Do not undef.
3574         (rpl_openat): Use orig_openat, not openat.
3575
3576 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
3577             Bruno Haible  <bruno@clisp.org>
3578
3579         acl: Avoid errors on NonStop Kernel.
3580         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
3581         ENOTSUP errors.
3582
3583 2011-09-05  Bruno Haible  <bruno@clisp.org>
3584
3585         acl: Clean up Solaris code.
3586         * lib/acl-internal.h: Remove no-op #if.
3587         * lib/file-has-acl.c: Likewise.
3588         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
3589         * lib/copy-acl.c (qcopy_acl): Likewise.
3590
3591 2011-09-05  Bruno Haible  <bruno@clisp.org>
3592
3593         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
3594         binaries built on the original Solaris 10.
3595         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
3596         trivial.
3597
3598 2011-09-05  Bruno Haible  <bruno@clisp.org>
3599
3600         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3601         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
3602         10.
3603         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
3604         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
3605         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
3606         instead of acl_get, facl_get, acl_set, facl_set.
3607
3608 2011-09-05  Bruno Haible  <bruno@clisp.org>
3609
3610         copy-file: Try unit tests on more file systems.
3611         * tests/test-copy-file-1.sh: New file.
3612         * tests/test-copy-file-2.sh: New file.
3613         * modules/copy-file-tests (Files): Add them.
3614         (Makefile.am): Add them to TESTS.
3615
3616         acl: Try unit tests on more file systems.
3617         * tests/test-file-has-acl-1.sh: New file.
3618         * tests/test-file-has-acl-2.sh: New file.
3619         * tests/test-set-mode-acl-1.sh: New file.
3620         * tests/test-set-mode-acl-2.sh: New file.
3621         * tests/test-copy-acl-1.sh: New file.
3622         * tests/test-copy-acl-2.sh: New file.
3623         * modules/acl-tests (Files): Add them.
3624         (Makefile.am): Add them to TESTS.
3625
3626 2011-09-04  Bruno Haible  <bruno@clisp.org>
3627
3628         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3629         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
3630         10.
3631         (OLD_ALLOW, OLD_DENY): New macros.
3632         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
3633         ACE_ACCESS_ALLOWED_ACE_TYPE.
3634         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
3635         ACE_ACCESS_DENIED_ACE_TYPE.
3636         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
3637         (NEW_ACE_EXECUTE): Fix value.
3638         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
3639         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
3640         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
3641         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
3642         NEW_ACE_SYNCHRONIZE): New macros.
3643         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
3644         instead of acl_fromtext, acl_set, facl_set.
3645         Fixes a coreutils/tests/cp/perm failure.
3646
3647 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
3648
3649         openat: test for fstatat (..., 0) bug
3650         Further testing with tar suggests that fstatat (..., 0)
3651         does not work in general, on AIX 7.1; see
3652         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
3653         So, give up entirely on AIX 7.1's fstatat, and fall back on our
3654         replacement fstatat (which is what older AIX releases were using
3655         anyway).
3656         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
3657         use is now changed to orig_fstatat.  This was probably the right
3658         thing to do anyway.
3659         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
3660         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
3661         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
3662         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
3663         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
3664         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
3665         if the bug is found.
3666
3667         openat: test for fstatat (AT_FDCWD, ..., 0) bug
3668         This tests for another fstatat bug on AIX 7.1:
3669         fstatat (AT_FDCWD, ..., 0) does not work.  See
3670         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
3671         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
3672         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
3673         (rpl_fstatat): Adjust so that it works around either (or both)
3674         bugs if present.
3675         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
3676
3677 2011-09-03  Karl Berry  <karl@gnu.org>
3678
3679         * doc/regex.texi (Character Class Operators): Avoid literal ":"
3680         in index entries.
3681
3682 2011-09-02  Bruno Haible  <bruno@clisp.org>
3683
3684         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
3685         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
3686         values of AR, ARFLAGS, RANLIB.
3687         Reported by John W. Eaton <jwe@gnu.org> for Octave.
3688
3689 2011-09-02  Bruno Haible  <bruno@clisp.org>
3690
3691         Find 'ar' program that fits with --host argument.
3692         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
3693
3694 2011-09-02  Bruno Haible  <bruno@clisp.org>
3695
3696         tests: init.sh: Support any non-GNU diff.
3697         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
3698         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
3699         Solaris 8.
3700
3701 2011-09-02  Bruno Haible  <bruno@clisp.org>
3702
3703         tests: init.sh: work also with any non-GNU diff that supports -u
3704         * tests/init.sh: Relax check for diff -u support.
3705         Rather than checking for GNU diff via --version, simply check
3706         for support for -u itself.  Useful at least on OpenBSD 4.9,
3707         AIX 7.1, IRIX 6.5, and Solaris 10.
3708
3709 2011-09-01  Bruno Haible  <bruno@clisp.org>
3710
3711         strtoimax, strtoumax: Document problem on HP-UX 11.
3712         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
3713         * doc/posix-functions/strtoumax.texi: Likewise.
3714
3715 2011-09-01  Bruno Haible  <bruno@clisp.org>
3716
3717         strtoumax: Avoid link error on OSF/1 with DTK cc.
3718         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
3719         defined as a function.
3720         * modules/strtoumax (Depends-on, configure.ac): Test only whether
3721         strtoumax is defined, not whether it is declared.
3722
3723 2011-09-01  Bruno Haible  <bruno@clisp.org>
3724
3725         strtoimax: Avoid link error on OSF/1 with DTK cc.
3726         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
3727         defined as a function.
3728         * modules/strtoimax (Depends-on, configure.ac): Test only whether
3729         strtoimax is defined, not whether it is declared.
3730
3731 2011-09-01  Bruno Haible  <bruno@clisp.org>
3732
3733         imaxdiv: Avoid link error on OSF/1 with DTK cc.
3734         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
3735         as a function.
3736         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
3737         whether it is declared.
3738
3739 2011-09-01  Bruno Haible  <bruno@clisp.org>
3740
3741         imaxabs: Avoid link error on OSF/1 with DTK cc.
3742         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
3743         as a function.
3744         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
3745         whether it is declared.
3746
3747 2011-09-01  Bruno Haible  <bruno@clisp.org>
3748
3749         Tests for module 'strtoumax'.
3750         * modules/strtoumax-tests: New file.
3751         * tests/test-strtoumax.c: New file.
3752
3753         Tests for module 'strtoimax'.
3754         * modules/strtoimax-tests: New file.
3755         * tests/test-strtoimax.c: New file.
3756
3757         Tests for module 'imaxdiv'.
3758         * modules/imaxdiv-tests: New file.
3759         * tests/test-imaxdiv.c: New file.
3760
3761         Tests for module 'imaxabs'.
3762         * modules/imaxabs-tests: New file.
3763         * tests/test-imaxabs.c: New file.
3764
3765 2011-09-01  Bruno Haible  <bruno@clisp.org>
3766
3767         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
3768         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
3769         pthread_create.
3770
3771 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3772
3773         openat: work around AIX 7.1 fstatat issue
3774         This should fix the problem that was not properly fixed
3775         in the previous change, dated 2011-08-30.
3776         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
3777         __need_system_stat_h defined.
3778         (orig_fstatat) [HAVE_FSTATAT]: New function.
3779         (rpl_fstatat): Go back to the old way of doing things,
3780         except call orig_fstatat instead of fstatat.
3781         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
3782         Remove unnecessary check whether fstatat fills in st_size etc.
3783
3784 2011-09-01  Bruno Haible  <bruno@clisp.org>
3785
3786         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
3787         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
3788         just include the system's header.
3789
3790 2011-08-31  Jim Meyering  <meyering@redhat.com>
3791
3792         tests: avoid spurious assertion failure in test-float.c on ppc64
3793         * tests/test-float.c (test_long_double): Comment out an assertion,
3794         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
3795         with gcc-4.4.4.
3796
3797         maint: indent with spaces, not TABs
3798         I need to get in the habit of running gnulib's "make check".
3799         Both of these would have been caught.
3800         * m4/largefile.m4: Indent with spaces, not TABs.
3801         * lib/parse-datetime.y (iso_8601_time): Likewise.
3802         Spotted by Pádraig Brady.
3803
3804         test-parse-datetime.c: accommodate a relatively strict gcc warning
3805         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
3806         to avoid a warning from gcc's -Werror=missing-declarations.
3807         Insert a few spaces-before-funcall-parenthesis.
3808
3809 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
3810
3811         parse-datetime: accept ISO 8601 date and time rep with "T" separator
3812         The parser now accepts ISO 8601 date-time strings with "T" as the
3813         separator.  It has long parsed dates like "2004-02-29 16:21:42"
3814         with a space between the date and time strings.  Now it also parses
3815         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
3816         variants like "2004-02-29T16:21:42.333-07:00"
3817         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
3818         of day representation using the 'T' separator character.
3819         * doc/parse-datetime.texi (General date syntax): replace use of
3820         deprecated --iso-8601 option with --rfc-3339 in example of date
3821         command output formats that can be parsed.
3822         * tests/test-parse-datetime.c (tm_diff): New function, taken from
3823         lib/parse-datetime.y.
3824         (gmt_offset): New function.
3825         (main): Add additional test cases to validate ISO8601 extended
3826         date and time of day parsing.
3827
3828 2011-08-31  Bruno Haible  <bruno@clisp.org>
3829
3830         freopen: Documentation.
3831         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
3832         name.
3833         Reported by Claudio Bley <claudio.bley@gmail.com>.
3834
3835 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
3836
3837         freopen: Don't crash if the filename argument is NULL.
3838         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
3839         NULL.
3840
3841 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3842
3843         openat: work around AIX 7.1 fstatat bug
3844         Problem reported by Kevin Brott for GNU tar, in the thread containing
3845         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
3846         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
3847         FSTATAT_ST_SIZE_ETC_BROKEN.
3848         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
3849         rpl_fstatat.
3850         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
3851         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
3852         AC_CHECK_FUNCS_ONCE for fstatat.
3853         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
3854         fchmodat, mkdirat, openat and unlinkat.
3855
3856 2011-08-30  Bruno Haible  <bruno@clisp.org>
3857
3858         Avoid endless recursions if config.h includes some header files.
3859         * lib/fopen.c (__need_FILE): Define already before including config.h.
3860         * lib/freopen.c (__need_FILE): Likewise.
3861         * lib/open.c (__need_system_fcntl_h): Likewise.
3862         * lib/stat.c (__need_system_sys_stat_h): Likewise.
3863         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
3864         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3865
3866 2011-08-25  Karl Berry  <karl@gnu.org>
3867
3868         * config/srclist.txt (ylwrap): new try.
3869         * build-aux/ylwrap: new file.
3870
3871 2011-08-23  Bruno Haible  <bruno@clisp.org>
3872
3873         tmpdir: Use a good default directory on native Windows.
3874         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
3875         (P_tmpdir): Default to _P_tmpdir on native Windows.
3876         (path_search): On native Windows, try the value returned by GetTempPath
3877         before trying P_tmpdir.
3878         * modules/tmpdir (Depends-on): Add pathmax.
3879         Suggested by John Darrington <john@darrington.wattle.id.au>.
3880
3881 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
3882
3883         doc: fix typo in README-release
3884         * top/README-release: Capitalize first word of a sentence.
3885
3886 2011-08-19  Jim Meyering  <meyering@redhat.com>
3887
3888         fts: do not exhaust memory when processing million-entry directories
3889         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
3890         directory would require about 256*N bytes of memory.  Thus, it was
3891         easy to construct a directory too large to be processed by any of
3892         those tools.  With this change, fts' maximum memory utilization is
3893         now limited to around 30MB.
3894         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
3895         (fts_read): When we've processed the final entry (i.e., when
3896         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
3897         using the parent entry to read any remaining entries.  Dispatch
3898         depending on what fts_build returns:
3899         - NULL+stop, aka failure: stop
3900         - NULL otherwise: move up in the dir hierarchy
3901         - non-NULL: handle this new entry
3902         (fts_build): Declare and use new local, continue_readdir.
3903         Prepare to be called from fts_read, when the entries
3904         from a partially-read directory have just been exhausted.
3905         In that case, we'll skip the opendir and instead use the parent's
3906         fts_dirp and derive dir_fd from that.
3907         Finally, in the readdir loop, if we read max_entries entries,
3908         exit the loop ensuring *not* to call closedir.  This is required
3909         so that fts_dirp can be reused on a subsequent call.
3910         Prompted by Ben England's report of memory exhaustion in find
3911         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
3912
3913         maint: fts: move decl of `dp' down into while loop; split a long line
3914         * lib/fts.c (fts_build): No semantic change.
3915
3916         fts: add/use new struct member, fts_dirp
3917         We are about to use this to manage any directory with
3918         too many entries to read all of them into memory at once.
3919         To do that, we'll need to save the DIR* pointer in each
3920         affected FTSENT struct.
3921         * lib/fts_.h: Include <dirent.h>.
3922         (struct FTSENT) [fts_dirp]: New member.
3923         * lib/fts.c (closedir_and_clear): Define.
3924         Use it in place of closedir so that we are sure to
3925         clear the new fts_dirp member when done with it.
3926         (fts_alloc): Initialize the new member.
3927         (fts_lfree): Free, if needed.
3928
3929         maint: fts: give __opendir2 a new parameter and rename
3930         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
3931         than surreptitiously using sole caller's "dir_fd".
3932         (fts_opendir): Rename from __opendir2.
3933
3934         maint: fts.c: remove __opendir2's now-unused parameter, oflag
3935         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
3936
3937         maint: fts.c: correct off-by-one indentation
3938         * lib/fts.c (fts_build): Correct indentation, change style
3939         of a couple of block comments, and bracing style.
3940
3941         maint: fts.c: move __opendir2 #define "up" out of function body
3942         * lib/fts.c (__opendir2): Move "up".  No semantic change.
3943
3944         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
3945         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
3946         out for a long time and besides was useful only on BSD systems.
3947
3948 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3949
3950         regex: port to Stratus OpenVOS
3951         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
3952         define to empty, rather than attempting nonportable optimizations.
3953         Problem reported by Paul Green in:
3954         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
3955         and fix suggested by Eric Blake in:
3956         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
3957
3958 2011-08-17  Eric Blake  <eblake@redhat.com>
3959
3960         getcwd: fix test failures on mingw
3961         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
3962         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
3963         test if long directory cannot be created, and allow mingw errno.
3964
3965         getcwd-lgpl: fix m4 to match relaxed test for BSD
3966         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
3967         (gl_FUNC_GETCWD_SIGNATURE): New macro.
3968         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
3969         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
3970         signature problem.
3971
3972         getcwd: fix compilation on mingw64
3973         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
3974         getcwd.
3975         Reported by Marc-André Lureau.
3976
3977         pipe2: silence compiler warning
3978         * lib/pipe2.c (pipe2): Hide label if it is not used.
3979
3980 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
3981
3982         relocatable-prog: fix link error
3983         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
3984         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
3985         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
3986         into modules/relocatable-lib without noticing that
3987         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
3988         also needs to build relocatable.c.
3989
3990 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
3991
3992         getaddrinfo: fix sh typo in gai_strerrorA decl checking
3993         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
3994         shell code: it contained a 'break' that was not in a loop.
3995         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
3996         via a shell-language loop; this may have been true in old Autoconf
3997         versions, but it's not true in Autoconf 2.68.  I found this bug
3998         when testing coreutils git on Solaris 8, whose shell complains
3999         about the syntax error.
4000
4001 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4002
4003         * lib/base64.c: Fix comment to reference RFC 4648.
4004         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4005         <gvtulder@gmail.com>.
4006
4007 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4008
4009         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4010
4011         po/Makefile.in.in: fix make -q problem
4012         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4013         rule, since there's no file named 'check-macro-version' and its
4014         use as a file breaks make -q.
4015         (all): Don't depend on check-macro-version.
4016         (CHECK_MACRO_VERSION): New macro.
4017         (stamp-po): Use it.
4018
4019         configmake: fix make -q problem
4020         * modules/configmake (configmake.h): Update configmake.h's time stamp
4021         even if the file does not change.  Otherwise, 'make -q' fails.
4022         Problem reported by Simon Josefsson in
4023         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4024
4025 2011-08-11  Jim Meyering  <meyering@redhat.com>
4026
4027         git-version-gen: correct the advice in a comment
4028         * build-aux/git-version-gen: Correct comment.
4029         Don't recommend to list .tarball-version in .gitignore.
4030
4031 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4032
4033         base64: fix off-by-one buffer size bug
4034         Problem and (trivial) fix reported by Gijs van Tulder in
4035         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4036         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4037         * tests/test-base64.c (main): Catch the bug.
4038
4039 2011-08-10  Eric Blake  <eblake@redhat.com>
4040
4041         closein: correct comments
4042         * lib/closein.c (close_stdin): Improve comments.
4043
4044 2011-08-09  Bruno Haible  <bruno@clisp.org>
4045
4046         More tests for 'fseeko'.
4047         * tests/test-fseeko3.c: New file, from Eric Blake.
4048         * tests/test-fseeko3.sh: New file.
4049         * modules/fseeko-tests (Files): Add them.
4050         (TESTS): Add test-fseeko3.sh.
4051         (check_PROGRAMS): Add test-fseeko3.
4052
4053 2011-08-09  Eric Blake  <eblake@redhat.com>
4054
4055         fseeko: remove unneeded hack
4056         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4057
4058         fseeko: fix bug on glibc
4059         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4060         Reported by John W. Eaton.
4061
4062 2011-08-08  Bruno Haible  <bruno@clisp.org>
4063
4064         unictype/base: Fix interoperability with preinstalled libunistring.
4065         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4066         Reported by Simon Josefsson.
4067
4068 2011-08-08  Bruno Haible  <bruno@clisp.org>
4069
4070         iswblank: Detect declaration correctly.
4071         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4072         AC_CHECK_DECLS invocation.
4073
4074 2011-08-08  Bruno Haible  <bruno@clisp.org>
4075
4076         tcgetsid: Detect declaration correctly.
4077         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4078         AC_CHECK_DECLS invocation.
4079         Reported by Simon Josefsson.
4080
4081 2011-08-08  Eric Blake  <eblake@redhat.com>
4082
4083         largefile: fix typo that regressed large file support
4084         * modules/largefile (configure.ac-early): Fix section name.
4085
4086 2011-08-06  Karl Berry  <karl@gnu.org>
4087
4088         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4089         a separate module.
4090
4091 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4092
4093         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4094         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4095         get prototype for free.
4096
4097 2011-08-04  Bruno Haible  <bruno@clisp.org>
4098
4099         Tests for module 'pathmax'.
4100         * modules/pathmax-tests: New file.
4101         * tests/test-pathmax.c: New file.
4102
4103         canonicalize-lgpl: Support larger filenames on the Hurd.
4104         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4105         Reported by Paul Eggert.
4106
4107         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4108         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4109         * lib/chdir-long.h: Include pathmax.h.
4110         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4111         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4112         (PATH_MAX): Remove code that is done by pathmax.h.
4113         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4114         * lib/tmpfile.c: Add a comment.
4115         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4116         * modules/chdir-long (Depends-on): Add pathmax.
4117         * modules/getcwd (Depends-on): Add pathmax.
4118         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4119         is not defined.
4120         * doc/posix-headers/limits.texi: Mention the pathmax module.
4121         * NEWS: Mention the change.
4122
4123 2011-08-02  Bruno Haible  <bruno@clisp.org>
4124
4125         pthread_sigmask: Actually use results of gl_THREADLIB.
4126         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4127         gl_THREADLIB, not gl_[]THREADLIB.
4128         Reported by Eric Blake.
4129
4130 2011-08-02  Jim Meyering  <meyering@redhat.com>
4131
4132         maint.mk: relax the default _gl_TS_function_match regexp
4133         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4134         space between function name and "(" in an "extern" declaration.
4135         That would fail to match a decl with no space there: extern void foo();
4136
4137 2011-07-31  Iain Nicol  <iain@thenicols.net>
4138
4139         git-version-gen: document that EXTRA_DIST must include .version
4140         * build-aux/git-version-gen: In the how-to-use comment, document
4141         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4142         will fail when run from an unpacked distribution tarball.
4143
4144 2011-08-01  Bruno Haible  <bruno@clisp.org>
4145
4146         wctype-h: Fix last change.
4147         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4148         REPLACE_TOWLOWER to 0.
4149         Reported by Sam Steingold <sds@gnu.org>.
4150
4151 2011-07-31  Bruno Haible  <bruno@clisp.org>
4152
4153         frexpl: Update autoconf test.
4154         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4155         according to changes of 2011-06-20.
4156
4157 2011-07-31  Bruno Haible  <bruno@clisp.org>
4158
4159         sys_utsname: Add support for Minix.
4160         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4161         <sys/utsname.h>.
4162         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4163         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4164
4165 2011-07-31  Bruno Haible  <bruno@clisp.org>
4166
4167         strings: Add support for Minix.
4168         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4169         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4170         * doc/posix-headers/strings.texi: Document the Minix problem.
4171
4172 2011-07-31  Bruno Haible  <bruno@clisp.org>
4173
4174         wctype-h: Add support for Minix.
4175         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4176         REPLACE_TOWLOWER.
4177         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4178         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4179         REPLACE_ISWCNTRL.
4180
4181 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4182
4183         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4184         This is a performance improvement for 64-bit hosts: it causes the
4185         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4186
4187 2011-07-31  Bruno Haible  <bruno@clisp.org>
4188
4189         stdioext: Add support for Minix.
4190         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4191         * lib/fpurge.c (fpurge): Likewise.
4192         * lib/freadahead.c (freadahead): Likewise.
4193         * lib/freadable.c (freadable): Likewise.
4194         * lib/freading.c (freading): Likewise.
4195         * lib/freadptr.c (freadptr): Likewise.
4196         * lib/freadseek.c (freadptrinc): Likewise.
4197         * lib/fseeko.c (rpl_fseeko): Likewise.
4198         * lib/fseterr.c (fseterr): Likewise.
4199         * lib/fwritable.c (fwritable): Likewise.
4200         * lib/fwriting.c (fwriting): Likewise.
4201         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4202         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4203
4204 2011-07-31  Bruno Haible  <bruno@clisp.org>
4205
4206         errno: Port to Minix.
4207         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4208         ECONNABORTED are defined.
4209         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4210         GNULIB_defined_ECONNABORTED): New macros.
4211         * lib/strerror-override.h (strerror_override): Test also
4212         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4213         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4214         ECONNABORTED.
4215         * doc/posix-headers/errno.texi: Mention the Minix problem.
4216
4217 2011-07-31  Bruno Haible  <bruno@clisp.org>
4218
4219         Work around declaration collisions on Minix.
4220         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4221         defined, set REPLACE_MBSINIT.
4222         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4223         defined, set REPLACE_MBRTOWC.
4224         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4225         set REPLACE_MBRLEN.
4226         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4227         defined, set REPLACE_MBSRTOWCS.
4228         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4229         defined, set REPLACE_WCRTOMB.
4230         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4231         defined, set REPLACE_WCSRTOMBS.
4232
4233 2011-07-31  Bruno Haible  <bruno@clisp.org>
4234
4235         Add support for Minix with ACK compiler.
4236         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4237         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4238         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4239
4240 2011-07-31  Bruno Haible  <bruno@clisp.org>
4241
4242         Documentation about Minix.
4243         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4244         * doc/glibc-headers/*.texi: Likewise.
4245         * doc/posix-functions/*.texi: Likewise.
4246         * doc/glibc-functions/*.texi: Likewise.
4247
4248 2011-07-31  Bruno Haible  <bruno@clisp.org>
4249
4250         snippet/warn-on-use: Fix indentation.
4251         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4252
4253 2011-07-25  Jim Meyering  <meyering@redhat.com>
4254
4255         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4256         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4257         commands.
4258
4259 2011-07-27  Jim Meyering  <meyering@redhat.com>
4260
4261         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4262         * top/maint.mk (gl_extract_significant_defines_): Now that
4263         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4264         gnulib/lib/signal.in.h, and now that we recommend to
4265         define-if-undefined those two symbols in application code,
4266         we must filter them out of the "significant" list.
4267         This avoids a "make syntax-check" failure in coreutils.
4268
4269 2011-07-26  Eric Blake  <eblake@redhat.com>
4270
4271         warnings: add comments about previous patch
4272         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4273         * m4/include_next.m4: Likewise.
4274         * m4/warn-on-use.m4: Likewise.
4275         * m4/warnings.m4: Likewise, and simplify use.
4276         Suggested by Stefano Lattarini.
4277
4278         include-next, warnings: support older autoconf
4279         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4280         AS_VAR_PUSHDEF in a way that works with older autoconf.
4281         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4282         Reported by Daniel P. Berrange.
4283
4284 2011-07-25  Bruno Haible  <bruno@clisp.org>
4285
4286         fseek, ftell: Fix doc.
4287         * doc/posix-functions/fseek.texi: Reword statement about
4288         AC_SYS_LARGEFILE.
4289         * doc/posix-functions/ftell.texi: Likewise.
4290
4291 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4292             Bruno Haible  <bruno@clisp.org>
4293
4294         Add dependencies to the 'largefile' module.
4295         * modules/fopen (Depends-on): Add 'largefile'.
4296         * modules/freopen (Depends-on): Likewise.
4297         * modules/fseeko (Depends-on): Likewise.
4298         * modules/ftello (Depends-on): Likewise.
4299         * modules/glob (Depends-on): Likewise.
4300         * modules/lseek (Depends-on): Likewise.
4301         * modules/lstat (Depends-on): Likewise.
4302         * modules/mkostemp (Depends-on): Likewise.
4303         * modules/mkostemps (Depends-on): Likewise.
4304         * modules/mkstemp (Depends-on): Likewise.
4305         * modules/mkstemps (Depends-on): Likewise.
4306         * modules/open (Depends-on): Likewise.
4307         * modules/openat (Depends-on): Likewise.
4308         * modules/pread (Depends-on): Likewise.
4309         * modules/pwrite (Depends-on): Likewise.
4310         * modules/scandir (Depends-on): Likewise.
4311         * modules/stat (Depends-on): Likewise.
4312         * modules/tmpfile (Depends-on): Likewise.
4313         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4314         since the containing module now depends on the largefile module.
4315         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4316         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4317         off_t is fixed by gnulib.
4318         * doc/posix-functions/freopen.texi: Likewise.
4319         * doc/posix-functions/fseeko.texi: Likewise.
4320         * doc/posix-functions/fstatat.texi: Likewise.
4321         * doc/posix-functions/ftello.texi: Likewise.
4322         * doc/posix-functions/glob.texi: Likewise.
4323         * doc/posix-functions/lseek.texi: Likewise.
4324         * doc/posix-functions/lstat.texi: Likewise.
4325         * doc/posix-functions/mkstemp.texi: Likewise.
4326         * doc/posix-functions/open.texi: Likewise.
4327         * doc/posix-functions/openat.texi: Likewise.
4328         * doc/posix-functions/pread.texi: Likewise.
4329         * doc/posix-functions/pwrite.texi: Likewise.
4330         * doc/posix-functions/scandir.texi: Likewise.
4331         * doc/posix-functions/stat.texi: Likewise.
4332         * doc/posix-functions/tmpfile.texi: Likewise.
4333         * doc/glibc-functions/mkostemp.texi: Likewise.
4334         * doc/glibc-functions/mkostemps.texi: Likewise.
4335         * doc/glibc-functions/mkstemps.texi: Likewise.
4336
4337 2011-07-25  Bruno Haible  <bruno@clisp.org>
4338
4339         fcntl: Move AC_LIBOBJ invocation to module description.
4340         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4341         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4342
4343         fcntl: Remove call-in from fchdir.m4.
4344         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4345         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4346
4347         dup3: Remove potential call-in from fchdir.m4.
4348         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4349         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4350
4351         dup2: Move AC_LIBOBJ invocation to module description.
4352         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4353         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4354         Don't invoke AC_LIBOBJ.
4355         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4356
4357         dup2: Remove call-in from fchdir.m4.
4358         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4359         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4360
4361         fclose: Move AC_LIBOBJ invocation to module description.
4362         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4363         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4364         to 1.
4365         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4366
4367         fclose: Remove call-in from close.m4.
4368         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4369         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4370
4371         close: Move AC_LIBOBJ invocation to module description.
4372         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4373         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4374         1.
4375         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4376
4377         close: Remove call-in from fchdir.m4.
4378         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4379         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4380
4381         open: Move AC_LIBOBJ invocation to module description.
4382         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4383         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4384         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4385
4386         open: Remove call-in from fchdir.m4.
4387         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4388         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4389
4390         fchdir: Start to remove gl_REPLACE_* idiom.
4391         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4392         (gl_FUNC_FCHDIR): Invoke it.
4393
4394 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4395
4396         * lib/ftell.c (ftell): Comment out cast.
4397
4398         close: use gl_REPLACE_FCLOSE only if defined
4399         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4400         is defined.  The close module doesn't depend on the fclose module
4401         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4402         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4403         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4404
4405 2011-07-24  Jim Meyering  <meyering@redhat.com>
4406
4407         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4408         * tests/test-select.h (test_function): Declare as "static".
4409
4410 2011-07-24  Bruno Haible  <bruno@clisp.org>
4411
4412         doc: Mention the effects of AC_SYS_LARGEFILE.
4413         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4414         on this function.
4415         * doc/posix-functions/aio_error.texi: Likewise.
4416         * doc/posix-functions/aio_fsync.texi: Likewise.
4417         * doc/posix-functions/aio_read.texi: Likewise.
4418         * doc/posix-functions/aio_return.texi: Likewise.
4419         * doc/posix-functions/aio_suspend.texi: Likewise.
4420         * doc/posix-functions/aio_write.texi: Likewise.
4421         * doc/posix-functions/fgetpos.texi: Likewise.
4422         * doc/posix-functions/fopen.texi: Likewise.
4423         * doc/posix-functions/freopen.texi: Likewise.
4424         * doc/posix-functions/fsetpos.texi: Likewise.
4425         * doc/posix-functions/fstatvfs.texi: Likewise.
4426         * doc/posix-functions/ftruncate.texi: Likewise.
4427         * doc/posix-functions/ftw.texi: Likewise.
4428         * doc/posix-functions/getrlimit.texi: Likewise.
4429         * doc/posix-functions/glob.texi: Likewise.
4430         * doc/posix-functions/lio_listio.texi: Likewise.
4431         * doc/posix-functions/lockf.texi: Likewise.
4432         * doc/posix-functions/mkstemp.texi: Likewise.
4433         * doc/posix-functions/mmap.texi: Likewise.
4434         * doc/posix-functions/nftw.texi: Likewise.
4435         * doc/posix-functions/openat.texi: Likewise.
4436         * doc/posix-functions/opendir.texi: Likewise.
4437         * doc/posix-functions/posix_fadvise.texi: Likewise.
4438         * doc/posix-functions/posix_fallocate.texi: Likewise.
4439         * doc/posix-functions/pread.texi: Likewise.
4440         * doc/posix-functions/pwrite.texi: Likewise.
4441         * doc/posix-functions/readdir.texi: Likewise.
4442         * doc/posix-functions/readdir_r.texi: Likewise.
4443         * doc/posix-functions/rewinddir.texi: Likewise.
4444         * doc/posix-functions/scandir.texi: Likewise.
4445         * doc/posix-functions/seekdir.texi: Likewise.
4446         * doc/posix-functions/setrlimit.texi: Likewise.
4447         * doc/posix-functions/statvfs.texi: Likewise.
4448         * doc/posix-functions/telldir.texi: Likewise.
4449         * doc/posix-functions/tmpfile.texi: Likewise.
4450         * doc/posix-functions/truncate.texi: Likewise.
4451         * doc/glibc-functions/fallocate.texi: Likewise.
4452         * doc/glibc-functions/fstatfs.texi: Likewise.
4453         * doc/glibc-functions/fts_children.texi: Likewise.
4454         * doc/glibc-functions/fts_read.texi: Likewise.
4455         * doc/glibc-functions/getdirentries.texi: Likewise.
4456         * doc/glibc-functions/mkostemp.texi: Likewise.
4457         * doc/glibc-functions/mkostemps.texi: Likewise.
4458         * doc/glibc-functions/mkstemps.texi: Likewise.
4459         * doc/glibc-functions/preadv.texi: Likewise.
4460         * doc/glibc-functions/pwritev.texi: Likewise.
4461         * doc/glibc-functions/sendfile.texi: Likewise.
4462         * doc/glibc-functions/statfs.texi: Likewise.
4463
4464 2011-07-24  Bruno Haible  <bruno@clisp.org>
4465
4466         doc: Fix typo.
4467         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4468
4469 2011-07-24  Bruno Haible  <bruno@clisp.org>
4470
4471         doc: Mention fsusage.
4472         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
4473
4474 2011-07-24  Bruno Haible  <bruno@clisp.org>
4475
4476         doc: Mention new glibc headers and functions.
4477         * doc/glibc-headers/gshadow.texi: New file.
4478         * doc/glibc-functions/endsgent.texi: New file.
4479         * doc/glibc-functions/fgetsgent.texi: New file.
4480         * doc/glibc-functions/fgetsgent_r.texi: New file.
4481         * doc/glibc-functions/getsgent.texi: New file.
4482         * doc/glibc-functions/getsgent_r.texi: New file.
4483         * doc/glibc-functions/getsgnam.texi: New file.
4484         * doc/glibc-functions/getsgnam_r.texi: New file.
4485         * doc/glibc-functions/putsgent.texi: New file.
4486         * doc/glibc-functions/setsgent.texi: New file.
4487         * doc/glibc-functions/sgetsgent.texi: New file.
4488         * doc/glibc-functions/sgetsgent_r.texi: New file.
4489         * doc/glibc-functions/malloc_info.texi: New file.
4490         * doc/glibc-functions/preadv.texi: New file.
4491         * doc/glibc-functions/pwritev.texi: New file.
4492         * doc/glibc-functions/register_printf_modifier.texi: New file.
4493         * doc/glibc-functions/register_printf_specifier.texi: New file.
4494         * doc/glibc-functions/register_printf_type.texi: New file.
4495         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
4496         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
4497         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
4498         * doc/glibc-functions/pthread_getname_np.texi: New file.
4499         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
4500         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
4501         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
4502         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
4503         * doc/glibc-functions/pthread_setname_np.texi: New file.
4504         * doc/glibc-functions/pthread_sigqueue.texi: New file.
4505         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
4506         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
4507         * doc/glibc-functions/qsort_r.texi: New file.
4508         * doc/glibc-functions/quick_exit.texi: New file.
4509         * doc/glibc-functions/syncfs.texi: New file.
4510         * doc/gnulib.texi: Include them.
4511         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
4512         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
4513         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
4514         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
4515         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
4516         * doc/glibc-functions/execvpe.texi: Likewise.
4517
4518 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4519
4520         ftell: don't include <unistd.h>
4521         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
4522         guaranteed to define off_t, and the ftell module depends on the
4523         stdio module.
4524
4525         ftell: do not assume wraparound signed arithmetic
4526         * lib/ftell.c: Include <limits.h>.
4527         (ftell): Don't assume wraparound signed arithmetic.
4528
4529 2011-07-24  Bruno Haible  <bruno@clisp.org>
4530
4531         close: No longer depend on module 'fclose'.
4532         * modules/close (Depends-on): Remove fclose.
4533         * NEWS: Mention the change.
4534         Suggested by Sam Steingold <sds@gnu.org>.
4535
4536 2011-07-24  Bruno Haible  <bruno@clisp.org>
4537
4538         fsusage: Enable large volume support on AIX >= 5.2.
4539         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
4540         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
4541         instead of STAT_STATVFS.
4542         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
4543
4544         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
4545         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
4546         f_blocks field only on MacOS X.
4547
4548         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
4549         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
4550         * modules/fsusage (Depends-on): Add largefile.
4551
4552 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4553
4554         * README: Modernize discussion of signed integers.
4555         Assuming overflow wraparound is no longer safe.
4556         Mention ones' complement and signed magnitude.
4557
4558 2011-07-22  Bruno Haible  <bruno@clisp.org>
4559
4560         select tests, pselect tests: Refactor.
4561         * tests/test-select.h: New file, extracted from tests/test-select.c.
4562         (select_fn): New type.
4563         (test, do_select, do_select_nowait, do_select_wait, test_tty,
4564         test_connect_first, test_accept_first, test_pair, test_socket_pair,
4565         test_pipe): Add my_select argument.
4566         (test_function): Renamed from main. Add my_select argument.
4567         * tests/test-select.c: Move most code to tests/test-select.h. Include
4568         test-select.h.
4569         * modules/select-tests (Files): Add tests/test-select.h.
4570         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
4571         (my_select, main): New functions.
4572         * modules/pselect-tests (Files): Add tests/test-select.h,
4573         tests/macros.h, tests/signature.h.
4574         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
4575         (configure.ac): Check for <sys/wait.h>.
4576
4577 2011-07-22  Bruno Haible  <bruno@clisp.org>
4578
4579         sys_select tests: Check the signature of FD_*.
4580         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
4581         signature tests from here...
4582         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
4583         here.
4584         * modules/sys_select-tests (Files): Add tests/signature.h.
4585
4586 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4587
4588         largefile: new module, replacing large-inode
4589         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
4590         * MODULES.html.sh: Add largefile, remove large-inode.
4591         * modules/largefile, m4/largefile.m4: New files.
4592         * modules/large-inode, m4/large-inode.m4: Remove.
4593
4594         fsusage: port to MacOS X 10.7 with 4 TiB file systems
4595         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
4596         implementations that use only 32 bits to count blocks.
4597         On typical hosts with 1024-byte blocks, this fails with file
4598         systems as small as 4 TiB.  Problem reported by Herb Wartens
4599         <http://debbugs.gnu.org/9140> and this should also fix a similar
4600         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
4601
4602         large-inode: New module
4603         * MODULES.html.sh: Add it.
4604         * modules/large-inode, m4/large-inode.m4: New files.
4605
4606         extensions: Enable extensions on MacOS X 10.5 and later.
4607         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
4608
4609 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
4610
4611         file-has-acl: use acl_extended_file_nofollow if available
4612         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
4613         (acl_extended_file): New macro.
4614         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
4615         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
4616
4617 2011-07-21  Bruno Haible  <bruno@clisp.org>
4618
4619         Declare system functions in a way that works with C++.
4620         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
4621         declare fdopendir as extern "C".
4622         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
4623         declare frexpl as extern "C".
4624         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
4625         declare gai_strerror as extern "C".
4626         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
4627         programs, declare gai_strerror as extern "C".
4628         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
4629         declare getlogin_r as extern "C".
4630         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
4631         as extern "C".
4632         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
4633         declare ldexpl as extern "C".
4634         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
4635         as extern "C".
4636         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
4637         program, declare getmntinfo as extern "C".
4638         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
4639         stpncpy as extern "C".
4640         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
4641         program, declare __xpg_strerror_r as extern "C".
4642         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
4643         strndup as extern "C".
4644         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
4645         declare memset and bzero as extern "C".
4646         Reported by Sam Steingold <sds@gnu.org>.
4647
4648 2011-07-12  Jim Meyering  <meyering@redhat.com>
4649
4650         maint.mk: prohibit inclusion of "verify.h" without use
4651         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
4652
4653 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4654
4655         timer-time: A new module to check for timer_settime()
4656         * m4/timer_time.m4: Check for the posix function.
4657         * modules/timer-time: Add the new module.
4658         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
4659         Mention it.
4660
4661 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
4662             Bruno Haible  <bruno@clisp.org>
4663
4664         pthread_sigmask: assume POSIX threads if --avoid=threadlib
4665         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
4666         not defined, assume POSIX threads and look for pthread_sigmask in
4667         $LIBS, without changing $CPPFLAGS.
4668
4669 2011-07-19  Bruno Haible  <bruno@clisp.org>
4670
4671         strstr: Update cross-compilation guess.
4672         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
4673         CPUs, guess no, in view of glibc
4674         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
4675         Suggested by Eric Blake. Reported by Reuben Thomas.
4676
4677 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4678
4679         getopt-gnu: suppress core dumps from detection code
4680         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
4681         to suppress core dumps that may well occur on glibc systems.
4682         * modules/getopt-gnu: Depend on nocrash.
4683
4684 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4685
4686         pthread_sigmask: ensure usleep is declared
4687         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
4688         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
4689
4690 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
4691
4692         doc: Document NonStop portability issues.
4693         * doc/posix-functions/sigaction.texi (sigaction):
4694         * doc/posix-headers/signal.texi (signal.h):
4695         Document NonStop.  See Joachim Schmitz in
4696         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
4697
4698 2011-07-15  Bruno Haible  <bruno@clisp.org>
4699
4700         ffsl, ffsll: Avoid unportable behaviour.
4701         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
4702
4703 2011-07-15  Bruno Haible  <bruno@clisp.org>
4704
4705         ffs: More tests.
4706         * tests/test-ffs.c (NBITS): New macro.
4707         (main): Add more tests.
4708         * tests/test-ffsl.c (NBITS): New macro.
4709         (main): Add more tests.
4710         * tests/test-ffsll.c (NBITS): New macro.
4711         (main): Add more tests.
4712
4713 2011-07-15  Eric Blake  <eblake@redhat.com>
4714
4715         ffsl, ffsll: new modules
4716         * modules/ffsl: New file.
4717         * modules/ffsll: Likewise.
4718         * m4/ffsl.m4: Likewise.
4719         * m4/ffsll.m4: Likewise.
4720         * lib/ffsl.c: Likewise.
4721         * lib/ffsl.h: Likewise.
4722         * lib/ffsll.c: Likewise.
4723         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
4724         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
4725         * modules/string (Makefile.am): Substitute witnesses.
4726         * lib/strings.in.h (ffsl, ffsll): Declare.
4727         * modules/ffsl-tests: New test file.
4728         * modules/ffsll-tests: Likewise.
4729         * tests/test-ffsl.c: Likewise.
4730         * tests/test-ffsll.c: Likewise.
4731         * MODULES.html.sh (Integer arithmetic functions): Mention it.
4732         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
4733         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
4734
4735         ffs: fix m4 prerequisite
4736         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
4737
4738         ffs: avoid undefined behavior
4739         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
4740         * tests/test-ffs.c (naive, main): Avoid signed shifts.
4741         Reported by Bruno Haible.
4742
4743 2011-07-12  Bruno Haible  <bruno@clisp.org>
4744
4745         pthread_sigmask: Rely on module 'threadlib'.
4746         * modules/pthread_sigmask (Depends-on): Add threadlib.
4747         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
4748         is defined.
4749
4750 2011-07-12  Bruno Haible  <bruno@clisp.org>
4751
4752         regex: Depend on module 'strcase'.
4753         * modules/regex (Depends-on): Add strcase, for strcasecmp().
4754
4755 2011-07-12  Jim Meyering  <meyering@redhat.com>
4756
4757         warn-on-use: fix typo in file name
4758         * modules/snippet/warn-on-use (Files): Correct file name:
4759         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
4760
4761 2011-07-12  Bruno Haible  <bruno@clisp.org>
4762
4763         strings: Document module.
4764         * doc/posix-headers/strings.texi: Mention module 'strings'.
4765
4766 2011-07-12  Bruno Haible  <bruno@clisp.org>
4767
4768         Rename module '_Noreturn' to 'snippet/_Noreturn'.
4769         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
4770         (Files, Makefile.am): Update.
4771         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
4772         * modules/stdlib (Depends-on): Update.
4773
4774 2011-07-12  Bruno Haible  <bruno@clisp.org>
4775
4776         * NEWS: Mention the changes.
4777
4778         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
4779         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
4780         (Files, Makefile.am): Update.
4781         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
4782         * modules/arpa_inet (Depends-on): Update.
4783         * modules/ctype (Depends-on): Update.
4784         * modules/dirent (Depends-on): Update.
4785         * modules/fcntl-h (Depends-on): Update.
4786         * modules/glob (Depends-on): Update.
4787         * modules/iconv-h (Depends-on): Update.
4788         * modules/inttypes-incomplete (Depends-on): Update.
4789         * modules/langinfo (Depends-on): Update.
4790         * modules/locale (Depends-on): Update.
4791         * modules/math (Depends-on): Update.
4792         * modules/netdb (Depends-on): Update.
4793         * modules/poll-h (Depends-on): Update.
4794         * modules/pty (Depends-on): Update.
4795         * modules/search (Depends-on): Update.
4796         * modules/signal (Depends-on): Update.
4797         * modules/spawn (Depends-on): Update.
4798         * modules/stdio (Depends-on): Update.
4799         * modules/stdlib (Depends-on): Update.
4800         * modules/string (Depends-on): Update.
4801         * modules/strings (Depends-on): Update.
4802         * modules/sys_file (Depends-on): Update.
4803         * modules/sys_ioctl (Depends-on): Update.
4804         * modules/sys_select (Depends-on): Update.
4805         * modules/sys_socket (Depends-on): Update.
4806         * modules/sys_stat (Depends-on): Update.
4807         * modules/sys_time (Depends-on): Update.
4808         * modules/sys_times (Depends-on): Update.
4809         * modules/sys_utsname (Depends-on): Update.
4810         * modules/sys_wait (Depends-on): Update.
4811         * modules/termios (Depends-on): Update.
4812         * modules/time (Depends-on): Update.
4813         * modules/unistd (Depends-on): Update.
4814         * modules/wchar (Depends-on): Update.
4815         * modules/wctype-h (Depends-on): Update.
4816         * MODULES.html.sh (Support for building libraries and executables):
4817         Update.
4818
4819         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
4820         * modules/snippet/unused-parameter: Renamed from
4821         modules/unused-parameter.
4822         (Files, Makefile.am): Update.
4823         * build-aux/snippet/unused-parameter.h: Renamed from
4824         build-aux/unused-parameter.h.
4825         * modules/selinux-h (Depends-on): Update.
4826         * modules/unistr/base (Depends-on): Update.
4827         * MODULES.html.sh (Core language properties): Update.
4828
4829         Rename module 'link-warning' to 'snippet/link-warning'.
4830         * modules/snippet/link-warning: Renamed from modules/link-warning.
4831         (Files, Makefile.am): Update.
4832         * build-aux/snippet/link-warning.h: Renamed from
4833         build-aux/link-warning.h.
4834         * MODULES.html.sh (Support for building libraries and executables):
4835         Update.
4836
4837         Rename module 'c++defs' to 'snippet/c++defs'.
4838         * modules/snippet/c++defs: Renamed from modules/c++defs.
4839         (Files, Makefile.am): Update.
4840         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
4841         * modules/arpa_inet (Depends-on): Update.
4842         * modules/ctype (Depends-on): Update.
4843         * modules/dirent (Depends-on): Update.
4844         * modules/fcntl-h (Depends-on): Update.
4845         * modules/glob (Depends-on): Update.
4846         * modules/iconv-h (Depends-on): Update.
4847         * modules/langinfo (Depends-on): Update.
4848         * modules/locale (Depends-on): Update.
4849         * modules/math (Depends-on): Update.
4850         * modules/netdb (Depends-on): Update.
4851         * modules/poll-h (Depends-on): Update.
4852         * modules/pty (Depends-on): Update.
4853         * modules/search (Depends-on): Update.
4854         * modules/signal (Depends-on): Update.
4855         * modules/spawn (Depends-on): Update.
4856         * modules/stdio (Depends-on): Update.
4857         * modules/stdlib (Depends-on): Update.
4858         * modules/string (Depends-on): Update.
4859         * modules/strings (Depends-on): Update.
4860         * modules/sys_ioctl (Depends-on): Update.
4861         * modules/sys_select (Depends-on): Update.
4862         * modules/sys_socket (Depends-on): Update.
4863         * modules/sys_stat (Depends-on): Update.
4864         * modules/sys_time (Depends-on): Update.
4865         * modules/sys_wait (Depends-on): Update.
4866         * modules/termios (Depends-on): Update.
4867         * modules/time (Depends-on): Update.
4868         * modules/unistd (Depends-on): Update.
4869         * modules/wchar (Depends-on): Update.
4870         * modules/wctype-h (Depends-on): Update.
4871
4872         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
4873         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
4874         (Files, Makefile.am): Update.
4875         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
4876         * modules/argv-iter (Depends-on): Update.
4877         * modules/arpa_inet (Depends-on): Update.
4878         * modules/dirent (Depends-on): Update.
4879         * modules/fcntl-h (Depends-on): Update.
4880         * modules/fnmatch (Depends-on): Update.
4881         * modules/getopt-posix (Depends-on): Update.
4882         * modules/glob (Depends-on): Update.
4883         * modules/iconv-h (Depends-on): Update.
4884         * modules/inttypes-incomplete (Depends-on): Update.
4885         * modules/locale (Depends-on): Update.
4886         * modules/math (Depends-on): Update.
4887         * modules/netdb (Depends-on): Update.
4888         * modules/search (Depends-on): Update.
4889         * modules/signal (Depends-on): Update.
4890         * modules/spawn (Depends-on): Update.
4891         * modules/stdio (Depends-on): Update.
4892         * modules/stdlib (Depends-on): Update.
4893         * modules/string (Depends-on): Update.
4894         * modules/strings (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/time (Depends-on): Update.
4901         * modules/unistd (Depends-on): Update.
4902         * modules/wchar (Depends-on): Update.
4903         * MODULES.html.sh (Support for building libraries and executables):
4904         Update.
4905
4906 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
4907
4908         Improvements on _Noreturn and related modules.
4909
4910         modules/_Exit-tests: test _Noreturn too
4911         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
4912         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
4913         (main): Use them.
4914
4915         stdnoreturn, stdnoreturn-tests: remove modules
4916         They're not needed here and a bit premature for use elsewhere.  See
4917         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
4918         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
4919         * tests/test-stdnoreturn.c: Remove files.
4920         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
4921         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
4922         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
4923         and using noreturn.
4924         * modules/openat, modules/sigpipe-die, modules/xalloc:
4925         * modules/xmemdup0, modules/xstrtol:
4926         Remove dependency on stdnoreturn.
4927
4928         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
4929         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
4930         Reparenthesize to avoid GCC warning.
4931         Support Microsoft's syntax.
4932         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
4933
4934         _Noreturn-tests: remove module
4935         * modules/_Noreturn-tests: Remove.
4936         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
4937         * tests/test-_Noreturn.c: Remove.
4938         * tests/test-stdnoreturn.c: Merge from the old
4939         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
4940
4941 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
4942
4943         _Noreturn, stdnoreturn, and related modules.
4944
4945         * top/maint.mk: Adjust to new noreturn support.
4946         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
4947         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
4948
4949         xalloc: use stdnoreturn.h
4950         * lib/xalloc.h: Include <stdnoreturn.h>.
4951         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4952         * modules/xalloc (Depends-on): Add stdnoreturn.
4953
4954         xstrtol: use stdnoreturn.h
4955         * lib/xstrtol.h: Include <stdnoreturn.h>.
4956         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4957         * modules/xstrtol (Depends-on): Add stdnoreturn.
4958
4959         xmemdup0: use stdnoreturn.h
4960         * lib/xmemdup0.h: Include <stdnoreturn.h>.
4961         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4962         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
4963
4964         sigpipe-die: use stdnoreturn.h
4965         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
4966         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4967         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
4968
4969         openat: use stdnoreturn.h
4970         * lib/openat.h: Include <stdnoreturn.h>.
4971         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
4972         * modules/openat (Depends-on): Add stdnoreturn.
4973
4974         * lib/openat-die.c (openat_save_fail): Modernize comment.
4975
4976         * lib/xalloc-die.c (xalloc_die): Modernize comment.
4977
4978         * lib/glthread/thread.h: Modernize comment.
4979
4980         obstack: use _Noreturn
4981         * lib/obstack.c (__attribute__): Remove macro.
4982         (print_and_abort): Use _Noreturn.
4983
4984         c-stack: use _Noreturn
4985         * lib/c-stack.c (die, overflow_handler, segv_handler):
4986         Use _Noreturn rather than __attribute__((noreturn)).
4987
4988         argmatch-tests, exclude_tests: use _Noreturn
4989         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
4990         Remove.
4991         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
4992
4993         stdlib: use _Noreturn
4994         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
4995         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
4996         * modules/stdlib (Depends-on): Add _Noreturn.
4997         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
4998
4999         stdnoreturn-tests: new module
5000         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5001
5002         stdnoreturn: new module
5003         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5004         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5005
5006         _Noreturn-tests: new module
5007         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5008
5009         _Noreturn: new module
5010         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5011         New section, mentioning it.
5012         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5013
5014         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5015
5016 2011-07-11  Eric Blake  <eblake@redhat.com>
5017
5018         ffs: new module
5019         * modules/ffs: New file.
5020         * m4/ffs.m4: Likewise.
5021         * lib/ffs.c: Likewise.
5022         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5023         * modules/strings (Makefile.am): Substitute witness.
5024         (Depends-on): Add c++defs.
5025         * lib/strings.in.h (ffs): Declare.
5026         * modules/ffs-tests: New test file.
5027         * tests/test-ffs.c: Test new module.
5028         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5029         * doc/posix-functions/ffs.texi (ffs): Likewise.
5030
5031         regex: avoid compiler warning
5032         * lib/regex.c (includes): Include <strings.h>, for use of
5033         strcasecmp in regcomp.c.
5034         Reported by Joachim Schmitz.
5035
5036 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5037
5038         stdint: respect system's intmax_t if INTMAX_MAX
5039         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5040         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5041         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5042         long but int64_t is long long, and where we will clash with the
5043         system intmax_t if we override it.  See
5044         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5045         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5046         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5047         similarly for UINTMAX_C.
5048
5049 2011-07-08  Bruno Haible  <bruno@clisp.org>
5050
5051         pthread_sigmask tests: Avoid a compiler warning.
5052         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5053         non-zero.
5054
5055         sigprocmask tests: A better way to avoid a compiler warning.
5056         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5057         (main): Complain if system() returns non-zero.
5058         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5059
5060 2011-07-08  Bruno Haible  <bruno@clisp.org>
5061
5062         pthread_sigmask: Work around IRIX bug.
5063         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5064         bug.
5065         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5066         there may be unblocked pending signals.
5067         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5068
5069 2011-07-08  Bruno Haible  <bruno@clisp.org>
5070
5071         pthread_sigmask: Work around Cygwin bug.
5072         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5073         bug.
5074         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5075         the system's pthread_sigmask function.
5076         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5077
5078 2011-07-08  Bruno Haible  <bruno@clisp.org>
5079
5080         pthread_sigmask: Work around bug in single-threaded implementation.
5081         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5082         FreeBSD, HP-UX, Solaris bug.
5083         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5084         * lib/pthread_sigmask.c: Include <stddef.h>.
5085         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5086         the system's pthread_sigmask function.
5087         * modules/pthread_sigmask (configure.ac): Invoke
5088         gl_PREREQ_PTHREAD_SIGMASK.
5089         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5090         HP-UX, Solaris.
5091
5092 2011-07-08  Eric Blake  <eblake@redhat.com>
5093
5094         test-sigprocmask: avoid compiler warning
5095         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5096         * tests/test-sigprocmask.c (main): Use it to silence warning.
5097         Reported by Jim Meyering.
5098
5099         test-snprintf: avoid compiler warning
5100         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5101         * tests/test-vsnprintf.c (main): Likewise.
5102         Reported by Jim Meyering.
5103
5104 2011-07-08  Bruno Haible  <bruno@clisp.org>
5105
5106         Tests for module 'pthread_sigmask'.
5107         * modules/pthread_sigmask-tests: New file.
5108         * tests/test-pthread_sigmask1.c: New file, based on
5109         tests/test-sigprocmask.c.
5110         * tests/test-pthread_sigmask2.c: New file.
5111
5112 2011-07-08  Jim Meyering  <meyering@redhat.com>
5113
5114         test-getopt.h: avoid warning about an unused variable
5115         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5116
5117 2011-07-07  Jim Meyering  <meyering@redhat.com>
5118
5119         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5120         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5121         now that it no longer contains leading TABs.
5122         Remove unused "url=FIXME" statement.
5123
5124 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5125
5126         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5127         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5128         When gl_THREADLIB is not in use, assume that the POSIX sematics
5129         are desired.  This is better for Emacs, which uses POSIX semantics
5130         on GNUish and/or POSIXish platforms, and does not use threads at
5131         all otherwise.
5132
5133         pthread_sigmask: fix typo when testing for libraries
5134         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5135         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5136
5137 2011-07-08  Eric Blake  <eblake@redhat.com>
5138
5139         fts: introduce FTS_NOATIME
5140         * lib/fts_.h (FTS_NOATIME): New bit flag.
5141         (FTS_OPTIONMASK): Adjust.
5142         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5143         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5144
5145 2011-07-08  Bruno Haible  <bruno@clisp.org>
5146
5147         Tests for module 'thread'.
5148         * modules/thread-tests: New file.
5149         * tests/test-thread_self.c: New file.
5150         * tests/test-thread_create.cc: New file.
5151
5152 2011-07-08  Bruno Haible  <bruno@clisp.org>
5153
5154         thread: Avoid gcc warnings when using gl_thread_self().
5155         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5156         'void *'.
5157         (gl_thread_self_pointer): Update.
5158
5159 2011-07-07  Bruno Haible  <bruno@clisp.org>
5160
5161         signal-c++-tests: Check declaration of pthread_sigmask.
5162         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5163         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5164         $(LIB_PTHREAD_SIGMASK).
5165
5166 2011-07-07  Bruno Haible  <bruno@clisp.org>
5167
5168         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5169         * lib/signal.in.h (pthread_sigmask): Override if
5170         REPLACE_PTHREAD_SIGMASK is 1.
5171         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5172         REPLACE_PTHREAD_SIGMASK.
5173         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5174         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5175         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5176         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5177         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5178
5179 2011-07-07  Bruno Haible  <bruno@clisp.org>
5180
5181         pthread_sigmask: Ensure declaration in <signal.h>.
5182         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5183         include <pthread.h>.
5184         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5185         problem.
5186
5187 2011-07-07  Bruno Haible  <bruno@clisp.org>
5188
5189         pthread_sigmask: Document the module.
5190         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5191
5192 2011-07-07  Bruno Haible  <bruno@clisp.org>
5193
5194         pthread_sigmask: Follow gnulib conventions.
5195         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5196         gl_PTHREAD_SIGMASK.
5197         * modules/pthread_sigmask (configure.ac): Update.
5198
5199 2011-07-07  Bruno Haible  <bruno@clisp.org>
5200
5201         pthread_sigmask: Make declaration C++ safe.
5202         * lib/signal.in.h: In two special conditions, just do an #include_next.
5203         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5204         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5205         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5206         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5207         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5208         not REPLACE_PTHREAD_MASK.
5209         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5210         not REPLACE_PTHREAD_MASK.
5211         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5212
5213 2011-07-07  Bruno Haible  <bruno@clisp.org>
5214
5215         pthread_sigmask: Fix return value.
5216         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5217         * lib/pthread_sigmask.c: New file.
5218         * modules/pthread_sigmask (Files): Add it.
5219         (configure.ac): Invoke AC_LIBOBJ.
5220
5221 2011-07-07  Eric Blake  <eblake@redhat.com>
5222
5223         getopt: more portable argv creation
5224         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5225         const, use char arrays rather than strings.
5226         Suggested by Paul Eggert.
5227
5228 2011-07-07  Bruno Haible  <bruno@clisp.org>
5229
5230         Tests for module 'sigprocmask'.
5231         * modules/sigprocmask-tests: New file.
5232         * tests/test-sigprocmask.c: New file.
5233
5234 2011-07-07  Bruno Haible  <bruno@clisp.org>
5235
5236         float tests: Tweak.
5237         * tests/test-float.c (main): Tweak skip message.
5238
5239 2011-07-07  Eric Blake  <eblake@redhat.com>
5240
5241         getopt: avoid compiler warning during configure
5242         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5243         assigning string literals to non-const pointer.
5244
5245         getopt-gnu: avoid crash in glibc getopt
5246         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5247         * tests/test-getopt.h (test_getopt): Enhance test.
5248         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5249         * doc/posix-functions/getopt.texi (getopt): Document it.
5250         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5251         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5252         Likewise.
5253
5254 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5255
5256         getopt: handle W; without long options in getopt [BZ #12922]
5257         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5258         but no long options are defined, just return 'W'.
5259
5260 2011-07-07  Bruno Haible  <bruno@clisp.org>
5261
5262         Avoid literal tabs.
5263         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5264         variable containing a tab instead of a literal tab.
5265         Reported by Jim Meyering.
5266
5267 2011-07-07  Bruno Haible  <bruno@clisp.org>
5268
5269         Comments.
5270         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5271
5272 2011-07-06  Bruno Haible  <bruno@clisp.org>
5273
5274         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5275         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5276         <winsock2.h>.
5277         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5278         lib/sys_socket.in.h.
5279         (close, gethostname): Hide declarations from <winsock2.h>.
5280         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5281         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5282         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5283         (select): Don't override if gnulib's <sys/select.h> was already
5284         included.
5285         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5286         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5287         setsockopt, shutdown, select): Tweak indentation.
5288
5289 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5290
5291         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5292         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5293         in an application that does not use the sys_select module.
5294
5295 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5296
5297         poll: do not return 0 on timeout=-1
5298         * lib/poll.c: Loop with yield if no events occured
5299
5300 2011-07-06  Eric Blake  <eblake@redhat.com>
5301
5302         pthread_sigmask: always replace when not using pthread
5303         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5304         replacement when using some threading other than pthread.  Fix
5305         logic bug.
5306
5307 2011-07-06  Bruno Haible  <bruno@clisp.org>
5308
5309         Comments.
5310         * m4/printf.m4: Update comments about mingw.
5311
5312 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5313
5314         sys_select: define sigset_t more portably
5315         * lib/sys_select.in.h: Always include <sys/types.h>, since
5316         we now need sigset_t and mingw defines it there.
5317         Include <signal.h> before split inclusion guard, to avoid
5318         mishaps on Solaris, whose <signal.h> eventually includes us.
5319         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5320         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5321         which come from ...
5322         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5323         gl_CHECK_TYPE_SIGSET_T.
5324         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5325         does the real work.
5326         * modules/sys_select (Depends-on): Add 'signal'.
5327
5328         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5329         Suggested by Bruno Haible.
5330
5331         pselect: Use pthread_sigmask, not sigprocmask.
5332         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5333         multithreaded apps better than sigprocmask does.
5334         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5335         sigprocmask directly.
5336
5337 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5338
5339         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5340         Don't #undef,  since we don't need any underlying pselect.
5341         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5342         (Depends-on): Add select.
5343         (Link): Add $(LIBSOCKET).
5344         These changes suggested by Bruno Haible.
5345
5346         pselect: document better
5347         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5348         * doc/posix-functions/pselect.texi (pselect): Document new module.
5349
5350         pthread_sigmask: new module
5351         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5352         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5353         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5354         This is done only as a macro; I don't know how well that'll
5355         work for C++.  Move <sys/types.h> include before the include_next,
5356         to avoid mishap on Solaris.
5357         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5358         * modules/signal (Makefile.am): Substitute the check's results.
5359         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5360
5361         test-pselect: new module
5362         * modules/pselect-tests, tests/test-pselect.c: New files.
5363         * tests/test-select.c, tests/test-sys_select-c++.cc:
5364         If TEST_PSELECT is defined, test pselect instead of testing select.
5365
5366         * tests/test-sys_select.c (sigset_t): Test for it, too.
5367         Suggested by Bruno Haible.
5368
5369 2011-07-05  Eric Blake  <eblake@redhat.com>
5370
5371         snprintf: guarantee %1$d, for libintl
5372         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5373         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5374         * doc/posix-functions/snprintf.texi (snprintf): Update.
5375         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5376         * tests/test-snprintf.c (main): Enhance test.
5377         * tests/test-vsnprintf.c (main): Likewise.
5378
5379 2011-07-05  Jim Meyering  <meyering@redhat.com>
5380
5381         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5382         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5383         per Bruno's request, to accommodate this idiom (no space after "#")
5384         even when the function is inside an #if block:
5385         char *
5386         gets (char *s)
5387         #undef gets
5388         {
5389           ...
5390         }
5391
5392 2011-07-04  Jim Meyering  <meyering@redhat.com>
5393
5394         maint: indent with spaces, not TABs, and add a rule to check this
5395         * tests/test-userspec.c: Indent with spaces, not TABs.
5396         * tests/test-argp.c: Likewise.
5397         * tests/test-c-stack2.sh: Likewise.
5398         * tests/test-parse-duration.sh: Likewise
5399         * m4/strtod.m4: Likewise.
5400         * m4/alloca.m4: Likewise.
5401         * m4/pselect.m4: Likewise.
5402         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5403
5404 2011-07-03  Jim Meyering  <meyering@redhat.com>
5405
5406         maint.mk: correct omissions in prohibit_argmatch_without_use check
5407         This rule would mistakenly report that argmatch.h is included without
5408         use even when both the argmatch and invalid_arg macro were used.
5409         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5410         of argmatch and invalid_arg.
5411
5412 2011-07-03  Bruno Haible  <bruno@clisp.org>
5413
5414         Comments about EINTR.
5415         * lib/safe-read.h: Explain the purpose of this module.
5416         * lib/safe-write.h: Likewise.
5417         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5418         module.
5419         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5420         module.
5421         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5422
5423 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5424
5425         xnanosleep: Rewrite to use new dtotimespec module.
5426         It has the conversion code that used to be in xnanosleep.
5427         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5428         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5429         (TIME_T_MAX): Remove.
5430         (xnanosleep): Rewrite in terms of dtotimespec.
5431         * modules/xnanosleep (Depends-on): Add dtotimespec.
5432         Remove intprops, stdbool.
5433
5434         timespec-add, timespec-sub: new modules
5435         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5436         * lib/timespec-add.c, lib/timespec-sub.c:
5437         * modules/timespec-add, modules/timespec-sub: New files.
5438
5439         dtotimespec: new module
5440         * lib/timespec.h (dtotimespec): New decl.
5441         * lib/dtotimespec.c, modules/dtotimespec: New files.
5442
5443         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5444
5445         pselect: new module
5446         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5447         (pselect): New decls.
5448         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5449         since the standard pselect decl uses 'restrict'.
5450         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5451         HAVE_PSELECT, REPLACE_PSELECT.
5452         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5453         HAVE_PSELECT, REPLACE_PSELECT.
5454         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5455
5456         sys_select: don't depend on sys_socket
5457         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5458         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5459         This fix works on GNU and GNU-like platforms, but has not been tested
5460         on native Windows.
5461         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5462         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5463         gl_HEADER_SYS_SOCKET.
5464         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5465         gl_PREREQ_SYS_H_WINSOCK2.
5466
5467 2011-06-29  Eric Blake  <eblake@redhat.com>
5468
5469         pipe2: fix C89 compile problem
5470         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
5471         Reported by Bruno Haible.
5472
5473         pipe, pipe2: don't corrupt fd on error
5474         * lib/pipe.c (pipe): Leave fd unchanged on error.
5475         * lib/pipe2.c (pipe2): Likewise.
5476         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
5477         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5478
5479 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
5480
5481         mmap-anon: do not use regular expressions inadvertently
5482         * m4/mmap-anon.m4: Remove trailing period from strings sought
5483         in the output.
5484
5485 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5486
5487         nanosleep: fix integer overflow problem
5488         * lib/nanosleep.c (my_usleep): Don't assume signed integer
5489         arithmetic wraps around on overflow.
5490
5491         nanosleep: simplify carrying
5492         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
5493         first call to the underyling nanosleep, not for the last one.
5494         This doesn't fix any bugs, but it simplifies the computation of
5495         the remaining delay.  Found while auditing integer overflow issues.
5496
5497         dup2: remove test for existence of fcntl
5498         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
5499         "#if HAVE_FCNTL", in the configure-time test program.
5500         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
5501         and therefore speeds up "configure" a bit.  Found while
5502         adding the dup2 module to Emacs.
5503
5504 2011-06-24  Eric Blake  <eblake@redhat.com>
5505
5506         maint.mk: enhance useless header checks
5507         * top/maint.mk (_sc_header_without_use): Check both include
5508         styles.
5509         (sc_prohibit_assert_without_use)
5510         (sc_prohibit_close_stream_without_use)
5511         (sc_prohibit_getopt_without_use)
5512         (sc_prohibit_quotearg_without_use)
5513         (sc_prohibit_quote_without_use)
5514         (sc_prohibit_long_options_without_use)
5515         (sc_prohibit_inttostr_without_use)
5516         (sc_prohibit_ignore_value_without_use)
5517         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
5518         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
5519         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
5520         (sc_prohibit_hash_pjw_without_use)
5521         (sc_prohibit_safe_read_without_use)
5522         (sc_prohibit_argmatch_without_use)
5523         (sc_prohibit_canonicalize_without_use)
5524         (sc_prohibit_root_dev_ino_without_use)
5525         (sc_prohibit_openat_without_use)
5526         (sc_prohibit_c_ctype_without_use)
5527         (sc_prohibit_signal_without_use)
5528         (sc_prohibit_stdio--_without_use)
5529         (sc_prohibit_stdio-safer_without_use)
5530         (sc_prohibit_strings_without_use)
5531         (sc_prohibit_intprops_without_use)
5532         (sc_prohibit_stddef_without_use)
5533         (sc_prohibit_xfreopen_without_use): Update clients.
5534
5535 2011-06-24  Jim Meyering  <meyering@redhat.com>
5536
5537         syntax-check: keep one maint.mk rule in sync with its header
5538         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
5539         of the bug Eric has just fixed, with today's commit 25e4c2ec.
5540         I prefer to avoid temporary files here, so use <(...), but that
5541         is not supported by /bin/sh, so...
5542         (SHELL): Define to /bin/bash.
5543
5544 2011-06-24  Eric Blake  <eblake@redhat.com>
5545
5546         maint.mk: update sc_prohibit_intprops_without_use
5547         * top/maint.mk (_intprops_names): Match recent changes.
5548
5549 2011-06-24  Bruno Haible  <bruno@clisp.org>
5550
5551         strerror-override: No-op tweak.
5552         * lib/strerror-override.h (strerror_override): Reorder conditions,
5553         for consistency with lib/strerror-override.c.
5554
5555 2011-06-23  Eric Blake  <eblake@redhat.com>
5556
5557         maint.mk: test further PATH_MAX issues
5558         * top/maint.mk (sc_prohibit_path_max_array): Rename...
5559         (sc_prohibit_path_max_allocation): ...and also test alloca.
5560         Suggested by Jim Meyering.
5561
5562 2011-06-22  Eric Blake  <eblake@redhat.com>
5563
5564         maint.mk: add syntax-check to avoid char[PATH_MAX]
5565         * top/maint.mk (sc_prohibit_path_max_array): New rule.
5566
5567         stat: be robust to PATH_MAX definition
5568         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
5569         * modules/stat (Depends-on): Add verify.
5570
5571         link: work around IRIX bug
5572         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
5573         * lib/link.c (rpl_link): Work around it.
5574         * tests/test-link.h (test_link): Enhance test.
5575         * doc/posix-functions/link.texi (link): Document the bug.
5576
5577         getopt: silence clang warning
5578         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
5579         dereference.
5580         Reported by Gustavo Martin Domato.
5581
5582 2011-06-22  Jim Meyering  <meyering@redhat.com>
5583
5584         bootstrap: do not insert a blank line into each .gitignore file
5585         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
5586
5587 2011-06-21  Eric Blake  <eblake@redhat.com>
5588
5589         perror: test for output mismatch
5590         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
5591         perror on IRIX.
5592
5593         strerror_r: fix OpenBSD behavior on out-of-range
5594         * lib/strerror_r.c (strerror_r): Always use maximal string.
5595         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5596
5597         strerror_r: fix OpenBSD behavior on 0
5598         * lib/strerror-override.c (strerror_override): Also override 0
5599         when needed.
5600         * lib/strerror-override.h (strerror_override): Likewise.
5601         * lib/strerror.c (strerror): Simplify, now that 0 override is done
5602         earlier.
5603         * lib/strerror_r.c (strerror_r): Likewise.
5604         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
5605         behavior...
5606         (gl_FUNC_STRERROR_0): ...into new macro.
5607         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
5608         is overridden.
5609         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
5610         * modules/strerror-override (Files): Add strerror.m4.
5611         (configure.ac): Also provide override for 0 when needed.
5612         * doc/posix-functions/strerror.texi (strerror): Document this.
5613         * doc/posix-functions/perror.texi (perror): Likewise.
5614
5615         perror: adjust array size
5616         * modules/perror (Depends-on): Add strerror-override.
5617         * lib/perror.c (perror): Use it to avoid magic number.
5618
5619         strerror-override: reduce size
5620         * lib/strerror-override.c (strerror_override): Use fewer lines.
5621
5622 2011-06-20  Bruno Haible  <bruno@clisp.org>
5623
5624         pathmax: Ensure correct value for PATH_MAX on HP-UX.
5625         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
5626
5627 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5628
5629         alloca: port to compilers that can optimize like GCC 4.6.0
5630         * lib/alloca.c (find_stack_direction): New signature, taken from
5631         Autoconf git.  This works with GCC 4.6.0.  This code should never
5632         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
5633         be used with other compilers that optimize as well as GCC 4.6.0 does.
5634         (alloca): Adjust to new signature.
5635         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
5636         New macro, which patches Autoconf in a similar way.
5637
5638         c-stack: stop worrying about stack direction
5639         * lib/c-stack.c (find_stack_direction): Remove.
5640         (segv_handler): Don't worry about stack direction growth, as it's
5641         too much of a pain to configure this correctly, given how compilers
5642         are optimizing-away our stack-growth detection code.  Instead, assume
5643         that any access to just before or just after the stack is OK.
5644         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
5645         Don't require AC_FUNC_ALLOCA; no longer needed.
5646
5647 2011-06-20  Eric Blake  <eblake@redhat.com>
5648
5649         test-stat: don't allocate PATH_MAX bytes
5650         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
5651         PATH_MAX-sized buffer.
5652         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
5653         * modules/stat-tests (Depends-on): Likewise.
5654         * tests/test-fstatat.c (includes): Drop pathmax.h.
5655         * tests/test-stat.c (includes): Likewise.
5656         Reported by Bruno Haible.
5657
5658 2011-06-20  Bruno Haible  <bruno@clisp.org>
5659
5660         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
5661         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
5662         * lib/float.c: New file.
5663         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
5664         REPLACE_FLOAT_LDBL.
5665         * modules/float (Files): Add lib/float.c.
5666         (configure.ac): Invoke AC_LIBOBJ.
5667         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
5668
5669 2011-06-20  Bruno Haible  <bruno@clisp.org>
5670
5671         Tests for module 'float'.
5672         * modules/float-tests: New file.
5673         * tests/test-float.c: New file.
5674
5675 2011-06-19  Bruno Haible  <bruno@clisp.org>
5676
5677         isinf: Coding style.
5678         * lib/isinf.c: Use GNU coding style.
5679
5680 2011-06-19  Bruno Haible  <bruno@clisp.org>
5681
5682         linkat test: Avoid test failure on AIX 7.1.
5683         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
5684         * tests/test-link.h (test_link): Likewise.
5685
5686 2011-06-19  Bruno Haible  <bruno@clisp.org>
5687
5688         pread test: Avoid test failure on OpenBSD 4.9.
5689         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
5690
5691 2011-06-19  Bruno Haible  <bruno@clisp.org>
5692
5693         sprintf-posix: Fix test failure on AIX 7.1.
5694         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
5695         * doc/posix-functions/dprintf.texi: Mention limited precision problem
5696         on AIX.
5697         * doc/posix-functions/fprintf.texi: Likewise.
5698         * doc/posix-functions/printf.texi: Likewise.
5699         * doc/posix-functions/snprintf.texi: Likewise.
5700         * doc/posix-functions/sprintf.texi: Likewise.
5701         * doc/posix-functions/vdprintf.texi: Likewise.
5702         * doc/posix-functions/vfprintf.texi: Likewise.
5703         * doc/posix-functions/vprintf.texi: Likewise.
5704         * doc/posix-functions/vsnprintf.texi: Likewise.
5705         * doc/posix-functions/vsprintf.texi: Likewise.
5706
5707 2011-06-19  Bruno Haible  <bruno@clisp.org>
5708
5709         roundl-ieee: Fix test failure on AIX 7.1.
5710         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
5711         * doc/posix-functions/roundl.texi: Mention problem with negative
5712         arguments.
5713
5714 2011-06-19  Bruno Haible  <bruno@clisp.org>
5715
5716         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
5717         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
5718         * doc/posix-functions/round.texi: Mention problem with negative
5719         arguments.
5720         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
5721
5722 2011-06-19  Bruno Haible  <bruno@clisp.org>
5723
5724         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
5725         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
5726         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
5727         * doc/posix-functions/roundf.texi: Mention problem with negative
5728         arguments.
5729         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
5730
5731 2011-06-19  Bruno Haible  <bruno@clisp.org>
5732
5733         ceilf-ieee: Work around bug on MacOS X 10.5.
5734         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
5735
5736         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
5737         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
5738         IEEE compliant, avoid compiler optimizations.
5739         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5740         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5741         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5742         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5743         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5744         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5745         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5746         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5747         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5748         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5749
5750 2011-06-19  Bruno Haible  <bruno@clisp.org>
5751
5752         ceilf-ieee: Work around bug on AIX 7.1.
5753         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
5754         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
5755
5756 2011-06-19  Bruno Haible  <bruno@clisp.org>
5757
5758         ceil-ieee: Work around bug on AIX 7.1.
5759         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
5760         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
5761
5762 2011-06-18  Bruno Haible  <bruno@clisp.org>
5763
5764         fsync test: Avoid test failure on MacOS X and AIX.
5765         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
5766         EINVAL.
5767
5768 2011-06-18  Bruno Haible  <bruno@clisp.org>
5769
5770         openat, fdopendir tests: Fix link errors.
5771         * modules/openat-tests (Depends-on): Add progname.
5772         * modules/fdopendir-tests (Depends-on): Likewise.
5773         * tests/test-fchownat.c: Include progname.h.
5774         (main): Call set_program_name.
5775         * tests/test-fstatat.c: Include progname.h.
5776         (main): Call set_program_name.
5777         * tests/test-mkdirat.c: Include progname.h.
5778         (main): Call set_program_name.
5779         * tests/test-openat.c: Include progname.h.
5780         (main): Call set_program_name.
5781         * tests/test-unlinkat.c: Include progname.h.
5782         (main): Call set_program_name.
5783         * tests/test-fdopendir.c: Include progname.h.
5784         (main): Call set_program_name.
5785
5786 2011-06-18  Bruno Haible  <bruno@clisp.org>
5787
5788         Doc update.
5789         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
5790         HP-UX.
5791         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
5792
5793 2011-06-18  Bruno Haible  <bruno@clisp.org>
5794
5795         getcwd tests: Avoid compilation error on HP-UX 11.31.
5796         * modules/getcwd-tests (Depends-on): Add pathmax.
5797         * tests/test-getcwd.c: Include pathmax.h.
5798
5799 2011-06-18  Bruno Haible  <bruno@clisp.org>
5800
5801         isfinite, isinf: Fix link error on AIX 6 and 7.
5802         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
5803         needed, also test the macro with a 'float' argument.
5804         * m4/isinf.m4 (gl_ISINF): Likewise.
5805
5806 2011-06-18  Bruno Haible  <bruno@clisp.org>
5807
5808         getloadavg: Don't clobber LIBS. Regression from previous commit.
5809         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
5810         AC_CHECK_LIB from here...
5811         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
5812         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
5813         gl_func_getloadavg_done.
5814         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5815
5816 2011-06-18  Bruno Haible  <bruno@clisp.org>
5817
5818         clean-temp: Improve documentation.
5819         * lib/clean-temp.h: Explain better how to use this module.
5820         Reported by John Darrington <john@darrington.wattle.id.au>.
5821
5822 2011-06-17  Bruno Haible  <bruno@clisp.org>
5823
5824         pread, pwrite: Avoid cc warning on AIX.
5825         * lib/unistd.in.h (pread): Undefine before defining as a macro.
5826         (pwrite): Likewise.
5827
5828 2011-06-17  Bruno Haible  <bruno@clisp.org>
5829
5830         spawn-pipe tests: Fix link error.
5831         * tests/test-spawn-pipe-child.c: Undefine fprintf.
5832         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5833
5834 2011-06-17  Bruno Haible  <bruno@clisp.org>
5835
5836         Tests: Remove unnecessary dependency.
5837         * modules/canonicalize-tests (Depends-on): Remove progname.
5838         * modules/chown-tests (Depends-on): Likewise.
5839         * modules/dirname-tests (Depends-on): Likewise.
5840         * modules/fdopendir-tests (Depends-on): Likewise.
5841         * modules/fdutimensat-tests (Depends-on): Likewise.
5842         * modules/hash-tests (Depends-on): Likewise.
5843         * modules/lchown-tests (Depends-on): Likewise.
5844         * modules/linkat-tests (Depends-on): Likewise.
5845         * modules/renameat-tests (Depends-on): Likewise.
5846         * modules/spawn-pipe-tests (Depends-on): Likewise.
5847         * modules/utimensat-tests (Depends-on): Likewise.
5848
5849 2011-06-17  Bruno Haible  <bruno@clisp.org>
5850
5851         spawn-pipe tests: Fix link error.
5852         * tests/test-spawn-pipe-child.c: Undefine fflush.
5853
5854 2011-06-17  Bruno Haible  <bruno@clisp.org>
5855
5856         Fix tests link errors.
5857         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
5858         * modules/chown-tests (Makefile.am): Don't link test-chown with
5859         LIBINTL.
5860         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
5861         LIBINTL.
5862         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
5863         LIBINTL.
5864         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
5865         LIBINTL.
5866
5867 2011-06-16  Bruno Haible  <bruno@clisp.org>
5868
5869         crypto/gc-sha1: Fix recent regression.
5870         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
5871         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
5872
5873         crypto/gc-md5: Fix recent regression.
5874         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
5875
5876         crypto/gc-md4: Fix recent regression.
5877         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
5878         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
5879
5880         crypto/gc-arctwo: Fix recent regression.
5881         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
5882         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
5883
5884         crypto/gc-rijndael: Fix recent regression.
5885         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
5886         (configure.ac): Invoke AC_LIBOBJ here.
5887         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
5888         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5889
5890         crypto/gc-hmac-sha1: Fix recent regression.
5891         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
5892         (configure.ac): Invoke AC_LIBOBJ here.
5893         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
5894         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5895
5896         crypto/gc-hmac-md5: Fix recent regression.
5897         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
5898         (configure.ac): Invoke AC_LIBOBJ here.
5899         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
5900         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5901
5902         crypto/gc-des: Fix recent regression.
5903         * modules/crypto/gc-des (Files): Remove m4/des.m4.
5904         (configure.ac): Invoke AC_LIBOBJ here.
5905         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
5906         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5907
5908         crypto/gc-arcfour: Fix recent regression.
5909         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
5910         (configure.ac): Invoke AC_LIBOBJ here.
5911         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
5912         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5913
5914 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
5915
5916         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
5917         After the 2011-05-21 change, this macro requires
5918         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
5919         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
5920
5921 2011-06-16  Bruno Haible  <bruno@clisp.org>
5922
5923         fprintftime: Move AC_LIBOBJ invocations to module description.
5924         * m4/fprintftime.m4: Remove file.
5925         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
5926         (configure.ac): Remove gl_FPRINTFTIME call.
5927         (Makefile.am): Augment lib_SOURCES.
5928         Reported by Jim Meyering.
5929
5930 2011-06-16  Bruno Haible  <bruno@clisp.org>
5931
5932         tmpfile-safer: Finish 2011-05-23 commit.
5933         * m4/stdio-safer.m4: Really remove file.
5934         Reported by Jim Meyering.
5935
5936 2011-06-16  Bruno Haible  <bruno@clisp.org>
5937
5938         syntax-check: Fix typo.
5939         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
5940         printf-posix.m4.
5941         Reported by Jim Meyering.
5942
5943 2011-06-13  Jim Meyering  <meyering@redhat.com>
5944
5945         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
5946         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
5947
5948 2011-05-23  Bruno Haible  <bruno@clisp.org>
5949
5950         yesno: Move AC_LIBOBJ invocations to module description.
5951         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
5952         * modules/yesno (Makefile.am): Augment lib_SOURCES.
5953
5954 2011-05-23  Bruno Haible  <bruno@clisp.org>
5955
5956         xstrtol: Move AC_LIBOBJ invocations to module description.
5957         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
5958         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
5959
5960 2011-05-23  Bruno Haible  <bruno@clisp.org>
5961
5962         xstrtold: Move AC_LIBOBJ invocations to module description.
5963         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
5964         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
5965
5966 2011-05-23  Bruno Haible  <bruno@clisp.org>
5967
5968         xstrtod: Move AC_LIBOBJ invocations to module description.
5969         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
5970         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
5971
5972 2011-05-23  Bruno Haible  <bruno@clisp.org>
5973
5974         xnanosleep: Move AC_LIBOBJ invocations to module description.
5975         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
5976         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
5977
5978 2011-05-23  Bruno Haible  <bruno@clisp.org>
5979
5980         xgetcwd: Move AC_LIBOBJ invocations to module description.
5981         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
5982         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
5983
5984 2011-05-23  Bruno Haible  <bruno@clisp.org>
5985
5986         xalloc: Move AC_LIBOBJ invocations to module description.
5987         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
5988         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
5989
5990 2011-05-23  Bruno Haible  <bruno@clisp.org>
5991
5992         write-any-file: Move AC_LIBOBJ invocations to module description.
5993         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
5994         invocation.
5995         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
5996
5997 2011-05-23  Bruno Haible  <bruno@clisp.org>
5998
5999         utimens: Move AC_LIBOBJ invocations to module description.
6000         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6001         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6002
6003 2011-05-23  Bruno Haible  <bruno@clisp.org>
6004
6005         utimecmp: Move AC_LIBOBJ invocations to module description.
6006         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6007         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6008
6009 2011-05-23  Bruno Haible  <bruno@clisp.org>
6010
6011         userspec: Move AC_LIBOBJ invocations to module description.
6012         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6013         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6014
6015 2011-05-23  Bruno Haible  <bruno@clisp.org>
6016
6017         unlinkdir: Move AC_LIBOBJ invocations to module description.
6018         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6019         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6020
6021 2011-05-23  Bruno Haible  <bruno@clisp.org>
6022
6023         unistd-safer: Move AC_LIBOBJ invocations to module description.
6024         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6025         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6026
6027 2011-05-23  Bruno Haible  <bruno@clisp.org>
6028
6029         tempname: Move AC_LIBOBJ invocations to module description.
6030         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6031         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6032
6033 2011-05-23  Bruno Haible  <bruno@clisp.org>
6034
6035         strftime: Move AC_LIBOBJ invocations to module description.
6036         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6037         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6038
6039 2011-05-23  Bruno Haible  <bruno@clisp.org>
6040
6041         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6042         * m4/stdlib-safer.m4: Remove file.
6043         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6044         (configure.ac): Remove gl_STDLIB_SAFER call.
6045         (Makefile.am): Augment lib_SOURCES.
6046
6047 2011-05-23  Bruno Haible  <bruno@clisp.org>
6048
6049         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6050         * m4/stdio-safer.m4: Remove file.
6051         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6052         (configure.ac): Remove gl_TMPFILE_SAFER call.
6053         (Makefile.am): Augment lib_SOURCES.
6054
6055 2011-05-23  Bruno Haible  <bruno@clisp.org>
6056
6057         popen-safer: Move AC_LIBOBJ invocations to module description.
6058         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6059         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6060         (configure.ac): Remove gl_POPEN_SAFER call.
6061         (Makefile.am): Augment lib_SOURCES.
6062
6063 2011-05-23  Bruno Haible  <bruno@clisp.org>
6064
6065         freopen-safer: Move AC_LIBOBJ invocations to module description.
6066         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6067         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6068         (configure.ac): Remove gl_FREOPEN_SAFER call.
6069         (Makefile.am): Augment lib_SOURCES.
6070
6071 2011-05-23  Bruno Haible  <bruno@clisp.org>
6072
6073         fopen-safer: Move AC_LIBOBJ invocations to module description.
6074         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6075         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6076         (configure.ac): Remove gl_FOPEN_SAFER call.
6077         (Makefile.am): Augment lib_SOURCES.
6078
6079 2011-05-23  Bruno Haible  <bruno@clisp.org>
6080
6081         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6082         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6083         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6084
6085 2011-05-23  Bruno Haible  <bruno@clisp.org>
6086
6087         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6088         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6089         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6090
6091 2011-05-23  Bruno Haible  <bruno@clisp.org>
6092
6093         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6094         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6095         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6096
6097 2011-05-23  Bruno Haible  <bruno@clisp.org>
6098
6099         settime: Move AC_LIBOBJ invocations to module description.
6100         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6101         * modules/settime (Makefile.am): Augment lib_SOURCES.
6102
6103 2011-05-23  Bruno Haible  <bruno@clisp.org>
6104
6105         savedir: Move AC_LIBOBJ invocations to module description.
6106         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6107         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6108
6109 2011-05-23  Bruno Haible  <bruno@clisp.org>
6110
6111         save-cwd: Move AC_LIBOBJ invocations to module description.
6112         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6113         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6114
6115 2011-05-23  Bruno Haible  <bruno@clisp.org>
6116
6117         same: Move AC_LIBOBJ invocations to module description.
6118         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6119         * modules/same (Makefile.am): Augment lib_SOURCES.
6120
6121 2011-05-23  Bruno Haible  <bruno@clisp.org>
6122
6123         safe-write: Move AC_LIBOBJ invocations to module description.
6124         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6125         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6126         instead of gl_SAFE_WRITE.
6127         (Makefile.am): Augment lib_SOURCES.
6128
6129 2011-05-23  Bruno Haible  <bruno@clisp.org>
6130
6131         safe-read: Move AC_LIBOBJ invocations to module description.
6132         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6133         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6134         of gl_SAFE_READ.
6135         (Makefile.am): Augment lib_SOURCES.
6136
6137 2011-05-23  Bruno Haible  <bruno@clisp.org>
6138
6139         safe-alloc: Move AC_LIBOBJ invocations to module description.
6140         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6141         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6142
6143 2011-05-23  Bruno Haible  <bruno@clisp.org>
6144
6145         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6146         * m4/rijndael.m4: Remove file.
6147         * modules/crypto/rijndael (Files): Remove it.
6148         (configure.ac): Remove gl_RIJNDAEL call.
6149         (Makefile.am): Augment lib_SOURCES.
6150
6151 2011-05-23  Bruno Haible  <bruno@clisp.org>
6152
6153         readtokens: Move AC_LIBOBJ invocations to module description.
6154         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6155         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6156
6157 2011-05-23  Bruno Haible  <bruno@clisp.org>
6158
6159         read-file: Move AC_LIBOBJ invocations to module description.
6160         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6161         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6162         of gl_FUNC_READ_FILE.
6163         (Makefile.am): Augment lib_SOURCES.
6164
6165 2011-05-23  Bruno Haible  <bruno@clisp.org>
6166
6167         quotearg: Move AC_LIBOBJ invocations to module description.
6168         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6169         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6170
6171 2011-05-23  Bruno Haible  <bruno@clisp.org>
6172
6173         quote: Move AC_LIBOBJ invocations to module description.
6174         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6175         * modules/quote (Makefile.am): Augment lib_SOURCES.
6176
6177 2011-05-23  Bruno Haible  <bruno@clisp.org>
6178
6179         posixver: Move AC_LIBOBJ invocations to module description.
6180         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6181         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6182
6183 2011-05-23  Bruno Haible  <bruno@clisp.org>
6184
6185         posixtm: Move AC_LIBOBJ invocations to module description.
6186         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6187         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6188
6189 2011-05-23  Bruno Haible  <bruno@clisp.org>
6190
6191         physmem: Move AC_LIBOBJ invocations to module description.
6192         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6193         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6194
6195 2011-05-23  Bruno Haible  <bruno@clisp.org>
6196
6197         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6198         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6199         invocation.
6200         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6201
6202 2011-05-23  Bruno Haible  <bruno@clisp.org>
6203
6204         mpsort: Move AC_LIBOBJ invocations to module description.
6205         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6206         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6207
6208 2011-05-23  Bruno Haible  <bruno@clisp.org>
6209
6210         modechange: Move AC_LIBOBJ invocations to module description.
6211         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6212         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6213
6214 2011-05-23  Bruno Haible  <bruno@clisp.org>
6215
6216         mkdir-p: Move AC_LIBOBJ invocations to module description.
6217         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6218         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6219
6220 2011-05-23  Bruno Haible  <bruno@clisp.org>
6221
6222         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6223         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6224         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6225
6226 2011-05-23  Bruno Haible  <bruno@clisp.org>
6227
6228         mgetgroups: Move AC_LIBOBJ invocations to module description.
6229         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6230         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6231
6232 2011-05-23  Bruno Haible  <bruno@clisp.org>
6233
6234         memxor: Move AC_LIBOBJ invocations to module description.
6235         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6236         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6237
6238 2011-05-23  Bruno Haible  <bruno@clisp.org>
6239
6240         memcoll: Move AC_LIBOBJ invocations to module description.
6241         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6242         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6243
6244 2011-05-23  Bruno Haible  <bruno@clisp.org>
6245
6246         memcasecmp: Move AC_LIBOBJ invocations to module description.
6247         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6248         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6249
6250 2011-05-23  Bruno Haible  <bruno@clisp.org>
6251
6252         crypto/md5: Move AC_LIBOBJ invocations to module description.
6253         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6254         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6255
6256 2011-05-23  Bruno Haible  <bruno@clisp.org>
6257
6258         crypto/md4: Move AC_LIBOBJ invocations to module description.
6259         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6260         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6261
6262 2011-05-23  Bruno Haible  <bruno@clisp.org>
6263
6264         crypto/md2: Move AC_LIBOBJ invocations to module description.
6265         * m4/md2.m4: Remove file.
6266         * modules/crypto/md2 (Files): Remove it.
6267         (configure.ac): Remove gl_MD2 call.
6268         (Makefile.am): Augment lib_SOURCES.
6269
6270 2011-05-23  Bruno Haible  <bruno@clisp.org>
6271
6272         long-options: Move AC_LIBOBJ invocations to module description.
6273         * m4/long-options.m4: Remove file.
6274         * modules/long-options (Files): Remove it.
6275         (configure.ac): Remove gl_LONG_OPTIONS call.
6276         (Makefile.am): Augment lib_SOURCES.
6277
6278 2011-05-23  Bruno Haible  <bruno@clisp.org>
6279
6280         i-ring: Move AC_LIBOBJ invocations to module description.
6281         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6282         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6283
6284 2011-05-23  Bruno Haible  <bruno@clisp.org>
6285
6286         idcache: Move AC_LIBOBJ invocations to module description.
6287         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6288         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6289
6290 2011-05-23  Bruno Haible  <bruno@clisp.org>
6291
6292         human: Move AC_LIBOBJ invocations to module description.
6293         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6294         * modules/human (Makefile.am): Augment lib_SOURCES.
6295
6296 2011-05-23  Bruno Haible  <bruno@clisp.org>
6297
6298         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6299         * m4/hmac-sha1.m4: Remove file.
6300         * modules/crypto/hmac-sha1 (Files): Remove it.
6301         (configure.ac): Remove gl_HMAC_SHA1 call.
6302         (Makefile.am): Augment lib_SOURCES.
6303
6304 2011-05-23  Bruno Haible  <bruno@clisp.org>
6305
6306         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6307         * m4/hmac-md5.m4: Remove file.
6308         * modules/crypto/hmac-md5 (Files): Remove it.
6309         (configure.ac): Remove gl_HMAC_MD5 call.
6310         (Makefile.am): Augment lib_SOURCES.
6311
6312 2011-05-23  Bruno Haible  <bruno@clisp.org>
6313
6314         hash: Move AC_LIBOBJ invocations to module description.
6315         * m4/hash.m4: Remove file.
6316         * modules/hash (Files): Remove it.
6317         (configure.ac): Remove gl_HASH call.
6318         (Makefile.am): Augment lib_SOURCES.
6319
6320 2011-05-23  Bruno Haible  <bruno@clisp.org>
6321
6322         hard-locale: Move AC_LIBOBJ invocations to module description.
6323         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6324         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6325
6326 2011-05-23  Bruno Haible  <bruno@clisp.org>
6327
6328         getugroups: Move AC_LIBOBJ invocations to module description.
6329         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6330         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6331
6332 2011-05-23  Bruno Haible  <bruno@clisp.org>
6333
6334         gettime: Move AC_LIBOBJ invocations to module description.
6335         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6336         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6337
6338 2011-05-23  Bruno Haible  <bruno@clisp.org>
6339
6340         getndelim2: Move AC_LIBOBJ invocations to module description.
6341         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6342         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6343
6344 2011-05-23  Bruno Haible  <bruno@clisp.org>
6345
6346         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6347         * m4/gc-pbkdf2-sha1.m4: Remove file.
6348         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6349         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6350         (Makefile.am): Augment lib_SOURCES.
6351
6352 2011-05-23  Bruno Haible  <bruno@clisp.org>
6353
6354         fts: Move AC_LIBOBJ invocations to module description.
6355         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6356         * modules/fts (configure.ac): ... to here.
6357
6358 2011-05-23  Bruno Haible  <bruno@clisp.org>
6359
6360         file-type: Move AC_LIBOBJ invocations to module description.
6361         * m4/file-type.m4: Remove file.
6362         * modules/file-type (Files): Remove it.
6363         (configure.ac): Remove gl_FILE_TYPE call.
6364         (Makefile.am): Augment lib_SOURCES.
6365
6366 2011-05-23  Bruno Haible  <bruno@clisp.org>
6367
6368         filenamecat*: Respect rules for use of AC_LIBOBJ.
6369         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6370         Remove AC_LIBOBJ invocation.
6371         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6372         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6373
6374 2011-05-23  Bruno Haible  <bruno@clisp.org>
6375
6376         filemode: Move AC_LIBOBJ invocations to module description.
6377         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6378         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6379
6380 2011-05-23  Bruno Haible  <bruno@clisp.org>
6381
6382         openat-safer: Move AC_LIBOBJ invocations to module description.
6383         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6384         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6385
6386 2011-05-23  Bruno Haible  <bruno@clisp.org>
6387
6388         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6389         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6390         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6391
6392 2011-05-23  Bruno Haible  <bruno@clisp.org>
6393
6394         exclude: Move AC_LIBOBJ invocations to module description.
6395         * m4/exclude.m4: Remove file.
6396         * modules/exclude (Files): Remove it.
6397         (configure.ac): Remove gl_EXCLUDE call.
6398         (Makefile.am): Augment lib_SOURCES.
6399
6400 2011-05-23  Bruno Haible  <bruno@clisp.org>
6401
6402         dirname*: Respect rules for use of AC_LIBOBJ.
6403         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6404         invocations.
6405         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6406         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6407
6408 2011-05-23  Bruno Haible  <bruno@clisp.org>
6409
6410         dirent-safer: Move AC_LIBOBJ invocations to module description.
6411         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6412         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6413
6414 2011-05-23  Bruno Haible  <bruno@clisp.org>
6415
6416         crypto/des: Move AC_LIBOBJ invocations to module description.
6417         * m4/des.m4: Remove file.
6418         * modules/crypto/des (Files): Remove it.
6419         (configure.ac): Remove gl_DES call.
6420         (Makefile.am): Augment lib_SOURCES.
6421
6422 2011-05-23  Bruno Haible  <bruno@clisp.org>
6423
6424         cycle-check: Move AC_LIBOBJ invocations to module description.
6425         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6426         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6427
6428 2011-05-23  Bruno Haible  <bruno@clisp.org>
6429
6430         c-strtold: Move AC_LIBOBJ invocations to module description.
6431         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6432         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6433
6434 2011-05-23  Bruno Haible  <bruno@clisp.org>
6435
6436         c-strtod: Move AC_LIBOBJ invocations to module description.
6437         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6438         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6439
6440 2011-05-23  Bruno Haible  <bruno@clisp.org>
6441
6442         crc: Move AC_LIBOBJ invocations to module description.
6443         * m4/crc.m4: Remove file.
6444         * modules/crc (Files): Remove it.
6445         (configure.ac): Remove gl_CRC call.
6446         (Makefile.am): Augment lib_SOURCES.
6447
6448 2011-05-23  Bruno Haible  <bruno@clisp.org>
6449
6450         close-stream: Move AC_LIBOBJ invocations to module description.
6451         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6452         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6453
6454 2011-05-23  Bruno Haible  <bruno@clisp.org>
6455
6456         closeout: Move AC_LIBOBJ invocations to module description.
6457         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6458         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6459
6460 2011-05-23  Bruno Haible  <bruno@clisp.org>
6461
6462         closein: Move AC_LIBOBJ invocations to module description.
6463         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6464         * modules/closein (Makefile.am): Augment lib_SOURCES.
6465
6466 2011-05-23  Bruno Haible  <bruno@clisp.org>
6467
6468         cloexec: Move AC_LIBOBJ invocations to module description.
6469         * m4/cloexec.m4: Remove file.
6470         * modules/cloexec (Files): Remove it.
6471         (configure.ac): Remove gl_CLOEXEC call.
6472         (Makefile.am): Augment lib_SOURCES.
6473
6474 2011-05-23  Bruno Haible  <bruno@clisp.org>
6475
6476         check-version: Move AC_LIBOBJ invocations to module description.
6477         * m4/check-version.m4: Remove file.
6478         * modules/check-version (Files): Remove it.
6479         (configure.ac): Remove gl_CHECK_VERSION call.
6480         (Makefile.am): Augment lib_SOURCES.
6481
6482 2011-05-23  Bruno Haible  <bruno@clisp.org>
6483
6484         chdir-safer: Move AC_LIBOBJ invocations to module description.
6485         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
6486         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
6487
6488 2011-05-23  Bruno Haible  <bruno@clisp.org>
6489
6490         canonicalize: Move AC_LIBOBJ invocations to module description.
6491         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
6492         AC_LIBOBJ invocation.
6493         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
6494
6495 2011-05-23  Bruno Haible  <bruno@clisp.org>
6496
6497         canon-host: Move AC_LIBOBJ invocations to module description.
6498         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
6499         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
6500         instead of gl_CANON_HOST.
6501         (Makefile.am): Augment lib_SOURCES.
6502
6503 2011-05-23  Bruno Haible  <bruno@clisp.org>
6504
6505         backupfile: Move AC_LIBOBJ invocations to module description.
6506         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
6507         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
6508
6509 2011-05-23  Bruno Haible  <bruno@clisp.org>
6510
6511         argmatch: Move AC_LIBOBJ invocations to module description.
6512         * m4/argmatch.m4: Remove file.
6513         * modules/argmatch (Files): Remove it.
6514         (configure.ac): Remove gl_ARGMATCH call.
6515         (Makefile.am): Augment lib_SOURCES.
6516
6517 2011-05-23  Bruno Haible  <bruno@clisp.org>
6518
6519         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
6520         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
6521         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
6522
6523 2011-05-23  Bruno Haible  <bruno@clisp.org>
6524
6525         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
6526         * m4/arcfour.m4: Remove file.
6527         * modules/crypto/arcfour (Files): Remove it.
6528         (configure.ac): Remove gl_ARCFOUR call.
6529         (Makefile.am): Augment lib_SOURCES.
6530
6531 2011-05-22  Bruno Haible  <bruno@clisp.org>
6532
6533         write: Move AC_LIBOBJ invocations to module description.
6534         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
6535         * modules/write (configure.ac): ... to here.
6536
6537 2011-05-22  Bruno Haible  <bruno@clisp.org>
6538
6539         wmemset: Move AC_LIBOBJ invocations to module description.
6540         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
6541         here...
6542         * modules/wmemset (configure.ac): ... to here.
6543
6544 2011-05-22  Bruno Haible  <bruno@clisp.org>
6545
6546         wmemmove: Move AC_LIBOBJ invocations to module description.
6547         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
6548         here...
6549         * modules/wmemmove (configure.ac): ... to here.
6550
6551 2011-05-22  Bruno Haible  <bruno@clisp.org>
6552
6553         wmemcpy: Move AC_LIBOBJ invocations to module description.
6554         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
6555         here...
6556         * modules/wmemcpy (configure.ac): ... to here.
6557
6558 2011-05-22  Bruno Haible  <bruno@clisp.org>
6559
6560         wmemcmp: Move AC_LIBOBJ invocations to module description.
6561         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
6562         here...
6563         * modules/wmemcmp (configure.ac): ... to here.
6564
6565 2011-05-22  Bruno Haible  <bruno@clisp.org>
6566
6567         wmemchr: Move AC_LIBOBJ invocations to module description.
6568         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
6569         here...
6570         * modules/wmemchr (configure.ac): ... to here.
6571
6572 2011-05-22  Bruno Haible  <bruno@clisp.org>
6573
6574         wcswidth: Move AC_LIBOBJ invocations to module description.
6575         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
6576         here...
6577         * modules/wcswidth (configure.ac): ... to here.
6578
6579 2011-05-22  Bruno Haible  <bruno@clisp.org>
6580
6581         wcwidth: Respect rules for use of AC_LIBOBJ.
6582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
6583         invocation from here...
6584         * modules/wcwidth (configure.ac): ... to here.
6585         (Depends-on): Update conditions.
6586
6587 2011-05-22  Bruno Haible  <bruno@clisp.org>
6588
6589         wctype: Move AC_LIBOBJ invocations to module description.
6590         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
6591         invocation from here...
6592         * modules/wctype (configure.ac): ... to here.
6593         (Depends-on): Update conditions.
6594
6595 2011-05-22  Bruno Haible  <bruno@clisp.org>
6596
6597         wctrans: Move AC_LIBOBJ invocations to module description.
6598         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
6599         invocation from here...
6600         * modules/wctrans (configure.ac): ... to here.
6601
6602 2011-05-22  Bruno Haible  <bruno@clisp.org>
6603
6604         wctomb: Move AC_LIBOBJ invocations to module description.
6605         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
6606         invocations from here...
6607         * modules/wctomb (configure.ac): ... to here.
6608
6609 2011-05-22  Bruno Haible  <bruno@clisp.org>
6610
6611         wctob: Move AC_LIBOBJ invocations to module description.
6612         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
6613         gl_PREREQ_WCTOB invocations from here...
6614         * modules/wctob (configure.ac): ... to here.
6615         (Depends-on): Update conditions.
6616
6617 2011-05-22  Bruno Haible  <bruno@clisp.org>
6618
6619         wcsxfrm: Move AC_LIBOBJ invocations to module description.
6620         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
6621         here...
6622         * modules/wcsxfrm (configure.ac): ... to here.
6623
6624 2011-05-22  Bruno Haible  <bruno@clisp.org>
6625
6626         wcstok: Move AC_LIBOBJ invocations to module description.
6627         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
6628         * modules/wcstok (configure.ac): ... to here.
6629
6630 2011-05-22  Bruno Haible  <bruno@clisp.org>
6631
6632         wcsstr: Move AC_LIBOBJ invocations to module description.
6633         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
6634         * modules/wcsstr (configure.ac): ... to here.
6635
6636 2011-05-22  Bruno Haible  <bruno@clisp.org>
6637
6638         wcsspn: Move AC_LIBOBJ invocations to module description.
6639         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
6640         * modules/wcsspn (configure.ac): ... to here.
6641
6642 2011-05-22  Bruno Haible  <bruno@clisp.org>
6643
6644         wcsrtombs: Move AC_LIBOBJ invocations to module description.
6645         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
6646         gl_PREREQ_WCSRTOMBS invocations from here...
6647         * modules/wcsrtombs (configure.ac): ... to here.
6648
6649 2011-05-22  Bruno Haible  <bruno@clisp.org>
6650
6651         wcsrchr: Move AC_LIBOBJ invocations to module description.
6652         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
6653         here...
6654         * modules/wcsrchr (configure.ac): ... to here.
6655
6656 2011-05-22  Bruno Haible  <bruno@clisp.org>
6657
6658         wcspbrk: Move AC_LIBOBJ invocations to module description.
6659         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
6660         here...
6661         * modules/wcspbrk (configure.ac): ... to here.
6662
6663 2011-05-22  Bruno Haible  <bruno@clisp.org>
6664
6665         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
6666         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
6667         gl_PREREQ_WCSNRTOMBS invocations from here...
6668         * modules/wcsnrtombs (configure.ac): ... to here.
6669
6670 2011-05-22  Bruno Haible  <bruno@clisp.org>
6671
6672         wcsnlen: Move AC_LIBOBJ invocations to module description.
6673         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
6674         here...
6675         * modules/wcsnlen (configure.ac): ... to here.
6676
6677 2011-05-22  Bruno Haible  <bruno@clisp.org>
6678
6679         wcsncpy: Move AC_LIBOBJ invocations to module description.
6680         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
6681         here...
6682         * modules/wcsncpy (configure.ac): ... to here.
6683
6684 2011-05-22  Bruno Haible  <bruno@clisp.org>
6685
6686         wcsncmp: Move AC_LIBOBJ invocations to module description.
6687         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
6688         here...
6689         * modules/wcsncmp (configure.ac): ... to here.
6690
6691 2011-05-22  Bruno Haible  <bruno@clisp.org>
6692
6693         wcsncat: Move AC_LIBOBJ invocations to module description.
6694         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
6695         here...
6696         * modules/wcsncat (configure.ac): ... to here.
6697
6698 2011-05-22  Bruno Haible  <bruno@clisp.org>
6699
6700         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
6701         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
6702         from here...
6703         * modules/wcsncasecmp (configure.ac): ... to here.
6704
6705 2011-05-22  Bruno Haible  <bruno@clisp.org>
6706
6707         wcslen: Move AC_LIBOBJ invocations to module description.
6708         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
6709         * modules/wcslen (configure.ac): ... to here.
6710
6711 2011-05-22  Bruno Haible  <bruno@clisp.org>
6712
6713         wcsdup: Move AC_LIBOBJ invocations to module description.
6714         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
6715         * modules/wcsdup (configure.ac): ... to here.
6716
6717 2011-05-22  Bruno Haible  <bruno@clisp.org>
6718
6719         wcscspn: Move AC_LIBOBJ invocations to module description.
6720         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
6721         here...
6722         * modules/wcscspn (configure.ac): ... to here.
6723
6724 2011-05-22  Bruno Haible  <bruno@clisp.org>
6725
6726         wcscpy: Move AC_LIBOBJ invocations to module description.
6727         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
6728         * modules/wcscpy (configure.ac): ... to here.
6729
6730 2011-05-22  Bruno Haible  <bruno@clisp.org>
6731
6732         wcscoll: Move AC_LIBOBJ invocations to module description.
6733         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
6734         here...
6735         * modules/wcscoll (configure.ac): ... to here.
6736
6737 2011-05-22  Bruno Haible  <bruno@clisp.org>
6738
6739         wcscmp: Move AC_LIBOBJ invocations to module description.
6740         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
6741         * modules/wcscmp (configure.ac): ... to here.
6742
6743 2011-05-22  Bruno Haible  <bruno@clisp.org>
6744
6745         wcschr: Move AC_LIBOBJ invocations to module description.
6746         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
6747         * modules/wcschr (configure.ac): ... to here.
6748
6749 2011-05-22  Bruno Haible  <bruno@clisp.org>
6750
6751         wcscat: Move AC_LIBOBJ invocations to module description.
6752         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
6753         * modules/wcscat (configure.ac): ... to here.
6754
6755 2011-05-22  Bruno Haible  <bruno@clisp.org>
6756
6757         wcscasecmp: Move AC_LIBOBJ invocations to module description.
6758         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
6759         here...
6760         * modules/wcscasecmp (configure.ac): ... to here.
6761
6762 2011-05-22  Bruno Haible  <bruno@clisp.org>
6763
6764         wcrtomb: Move AC_LIBOBJ invocations to module description.
6765         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
6766         invocations from here...
6767         * modules/wcrtomb (configure.ac): ... to here.
6768
6769 2011-05-22  Bruno Haible  <bruno@clisp.org>
6770
6771         wcpncpy: Move AC_LIBOBJ invocations to module description.
6772         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
6773         here...
6774         * modules/wcpncpy (configure.ac): ... to here.
6775
6776 2011-05-22  Bruno Haible  <bruno@clisp.org>
6777
6778         wcpcpy: Move AC_LIBOBJ invocations to module description.
6779         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
6780         * modules/wcpcpy (configure.ac): ... to here.
6781
6782 2011-05-22  Bruno Haible  <bruno@clisp.org>
6783
6784         waitpid: Move AC_LIBOBJ invocations to module description.
6785         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
6786         invocation from here...
6787         * modules/waitpid (configure.ac): ... to here.
6788
6789 2011-05-22  Bruno Haible  <bruno@clisp.org>
6790
6791         utimensat: Move AC_LIBOBJ invocations to module description.
6792         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
6793         here...
6794         * modules/utimensat (configure.ac): ... to here.
6795
6796 2011-05-22  Bruno Haible  <bruno@clisp.org>
6797
6798         usleep: Move AC_LIBOBJ invocations to module description.
6799         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
6800         here...
6801         * modules/usleep (configure.ac): ... to here.
6802
6803 2011-05-22  Bruno Haible  <bruno@clisp.org>
6804
6805         unlockpt: Move AC_LIBOBJ invocations to module description.
6806         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
6807         gl_PREREQ_UNLOCKPT invocations from here...
6808         * modules/unlockpt (configure.ac): ... to here.
6809
6810 2011-05-22  Bruno Haible  <bruno@clisp.org>
6811
6812         unlink: Respect rules for use of AC_LIBOBJ.
6813         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
6814         * modules/unlink (configure.ac): ... to here.
6815
6816 2011-05-22  Bruno Haible  <bruno@clisp.org>
6817
6818         uname: Move AC_LIBOBJ invocations to module description.
6819         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
6820         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
6821         here...
6822         * modules/uname (configure.ac): ... to here.
6823
6824 2011-05-22  Bruno Haible  <bruno@clisp.org>
6825
6826         ttyname_r: Move AC_LIBOBJ invocations to module description.
6827         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
6828         gl_PREREQ_TTYNAME_R invocations from here...
6829         * modules/ttyname_r (configure.ac): ... to here.
6830
6831 2011-05-22  Bruno Haible  <bruno@clisp.org>
6832
6833         tsearch: Move AC_LIBOBJ invocations to module description.
6834         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
6835         invocations from here...
6836         * modules/tsearch (configure.ac): ... to here.
6837
6838 2011-05-22  Bruno Haible  <bruno@clisp.org>
6839
6840         towctrans: Move AC_LIBOBJ invocations to module description.
6841         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
6842         AC_LIBOBJ invocation from here...
6843         * modules/towctrans (configure.ac): ... to here.
6844
6845 2011-05-22  Bruno Haible  <bruno@clisp.org>
6846
6847         tmpfile: Move AC_LIBOBJ invocations to module description.
6848         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
6849         invocations from here...
6850         * modules/tmpfile (configure.ac): ... to here.
6851
6852 2011-05-22  Bruno Haible  <bruno@clisp.org>
6853
6854         times: Move AC_LIBOBJ invocations to module description.
6855         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
6856         * modules/times (configure.ac): ... to here.
6857
6858 2011-05-22  Bruno Haible  <bruno@clisp.org>
6859
6860         time_r: Move AC_LIBOBJ invocations to module description.
6861         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
6862         invocations from here...
6863         * modules/time_r (configure.ac): ... to here.
6864
6865 2011-05-22  Bruno Haible  <bruno@clisp.org>
6866
6867         timegm: Move AC_LIBOBJ invocations to module description.
6868         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
6869         invocations from here...
6870         * modules/timegm (configure.ac): ... to here.
6871
6872 2011-05-22  Bruno Haible  <bruno@clisp.org>
6873
6874         tcgetsid: Move AC_LIBOBJ invocations to module description.
6875         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
6876         and gl_PREREQ_TCGETSID invocations from here...
6877         * modules/tcgetsid (configure.ac): ... to here.
6878         (Depends-on): Update conditions.
6879
6880 2011-05-22  Bruno Haible  <bruno@clisp.org>
6881
6882         symlinkat: Move AC_LIBOBJ invocations to module description.
6883         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
6884         here...
6885         * modules/symlinkat (configure.ac): ... to here.
6886
6887 2011-05-22  Bruno Haible  <bruno@clisp.org>
6888
6889         symlink: Move AC_LIBOBJ invocations to module description.
6890         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
6891         here...
6892         * modules/symlink (configure.ac): ... to here.
6893
6894 2011-05-22  Bruno Haible  <bruno@clisp.org>
6895
6896         strverscmp: Move AC_LIBOBJ invocations to module description.
6897         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
6898         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
6899         from here...
6900         * modules/strverscmp (configure.ac): ... to here.
6901
6902 2011-05-22  Bruno Haible  <bruno@clisp.org>
6903
6904         strtok_r: Move AC_LIBOBJ invocations to module description.
6905         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
6906         and gl_PREREQ_STRTOK_R invocations from here...
6907         * modules/strtok_r (configure.ac): ... to here.
6908         (Depends-on): Update conditions.
6909
6910 2011-05-22  Bruno Haible  <bruno@clisp.org>
6911
6912         strtoumax: Move AC_LIBOBJ invocations to module description.
6913         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
6914         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
6915         from here...
6916         * modules/strtoumax (configure.ac): ... to here.
6917
6918 2011-05-22  Bruno Haible  <bruno@clisp.org>
6919
6920         strtoimax: Move AC_LIBOBJ invocations to module description.
6921         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
6922         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
6923         from here...
6924         * modules/strtoimax (configure.ac): ... to here.
6925
6926 2011-05-22  Bruno Haible  <bruno@clisp.org>
6927
6928         strtoull: Move AC_LIBOBJ invocations to module description.
6929         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
6930         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
6931         from here...
6932         * modules/strtoull (configure.ac): ... to here.
6933
6934 2011-05-22  Bruno Haible  <bruno@clisp.org>
6935
6936         strtoll: Move AC_LIBOBJ invocations to module description.
6937         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
6938         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
6939         here...
6940         * modules/strtoll (configure.ac): ... to here.
6941
6942 2011-05-22  Bruno Haible  <bruno@clisp.org>
6943
6944         strtoul: Move AC_LIBOBJ invocations to module description.
6945         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
6946         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
6947         * modules/strtoul (configure.ac): ... to here.
6948
6949 2011-05-22  Bruno Haible  <bruno@clisp.org>
6950
6951         strtol: Move AC_LIBOBJ invocations to module description.
6952         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
6953         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
6954         * modules/strtol (configure.ac): ... to here.
6955
6956 2011-05-22  Bruno Haible  <bruno@clisp.org>
6957
6958         strtod: Move AC_LIBOBJ invocations to module description.
6959         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
6960         invocations from here...
6961         * modules/strtod (configure.ac): ... to here.
6962
6963 2011-05-22  Bruno Haible  <bruno@clisp.org>
6964
6965         strstr*: Move AC_LIBOBJ invocations to module description.
6966         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
6967         invocations from here...
6968         * modules/strstr-simple (configure.ac): ... to here.
6969         * modules/strstr (configure.ac): ... and here.
6970
6971 2011-05-22  Bruno Haible  <bruno@clisp.org>
6972
6973         strsignal: Move AC_LIBOBJ invocations to module description.
6974         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
6975         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
6976         * modules/strsignal (configure.ac): ... to here.
6977         (Depends-on): Update conditions.
6978
6979 2011-05-22  Bruno Haible  <bruno@clisp.org>
6980
6981         strsep: Move AC_LIBOBJ invocations to module description.
6982         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
6983         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
6984         here...
6985         * modules/strsep (configure.ac): ... to here.
6986
6987 2011-05-22  Bruno Haible  <bruno@clisp.org>
6988
6989         strptime: Move AC_LIBOBJ invocations to module description.
6990         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
6991         gl_PREREQ_STRPTIME invocations from here...
6992         * modules/strptime (configure.ac): ... to here.
6993
6994 2011-05-22  Bruno Haible  <bruno@clisp.org>
6995
6996         strpbrk: Move AC_LIBOBJ invocations to module description.
6997         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
6998         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
6999         here...
7000         * modules/strpbrk (configure.ac): ... to here.
7001
7002 2011-05-22  Bruno Haible  <bruno@clisp.org>
7003
7004         strnlen: Move AC_LIBOBJ invocations to module description.
7005         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7006         invocations from here...
7007         * modules/strnlen (configure.ac): ... to here.
7008
7009 2011-05-22  Bruno Haible  <bruno@clisp.org>
7010
7011         strndup: Move AC_LIBOBJ invocations to module description.
7012         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7013         invocations from here...
7014         * modules/strndup (configure.ac): ... to here.
7015         (Depends-on): Update conditions.
7016
7017 2011-05-22  Bruno Haible  <bruno@clisp.org>
7018
7019         strncat: Move AC_LIBOBJ invocations to module description.
7020         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7021         invocations from here...
7022         * modules/strncat (configure.ac): ... to here.
7023
7024 2011-05-22  Bruno Haible  <bruno@clisp.org>
7025
7026         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7027         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7028         invocations from here...
7029         * modules/strdup (configure.ac): ... to here.
7030         * modules/strdup-posix (configure.ac): ... and here.
7031
7032 2011-05-22  Bruno Haible  <bruno@clisp.org>
7033
7034         strcspn: Move AC_LIBOBJ invocations to module description.
7035         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7036         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7037         here...
7038         * modules/strcspn (configure.ac): ... to here.
7039
7040 2011-05-22  Bruno Haible  <bruno@clisp.org>
7041
7042         strchrnul: Move AC_LIBOBJ invocations to module description.
7043         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7044         gl_PREREQ_STRCHRNUL invocations from here...
7045         * modules/strchrnul (configure.ac): ... to here.
7046
7047 2011-05-22  Bruno Haible  <bruno@clisp.org>
7048
7049         strcasestr*: Move AC_LIBOBJ invocations to module description.
7050         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7051         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7052         * modules/strcasestr-simple (configure.ac): ... to here.
7053         * modules/strcasestr (configure.ac): ... and here.
7054
7055 2011-05-22  Bruno Haible  <bruno@clisp.org>
7056
7057         strcase: Move AC_LIBOBJ invocations to module description.
7058         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7059         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7060         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7061         gl_PREREQ_STRNCASECMP invocations from here...
7062         * modules/strcase (configure.ac): ... to here.
7063
7064 2011-05-22  Bruno Haible  <bruno@clisp.org>
7065
7066         stpncpy: Move AC_LIBOBJ invocations to module description.
7067         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7068         here...
7069         * modules/stpncpy (configure.ac): ... to here.
7070
7071 2011-05-22  Bruno Haible  <bruno@clisp.org>
7072
7073         stpcpy: Move AC_LIBOBJ invocations to module description.
7074         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7075         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7076         here...
7077         * modules/stpcpy (configure.ac): ... to here.
7078
7079 2011-05-21  Bruno Haible  <bruno@clisp.org>
7080
7081         stat: Move AC_LIBOBJ invocations to module description.
7082         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7083         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7084         here...
7085         * modules/stat (configure.ac): ... to here.
7086
7087 2011-05-21  Bruno Haible  <bruno@clisp.org>
7088
7089         sleep: Move AC_LIBOBJ invocations to module description.
7090         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7091         * modules/sleep (configure.ac): ... to here.
7092
7093 2011-05-21  Bruno Haible  <bruno@clisp.org>
7094
7095         signbit: Move AC_LIBOBJ invocations to module description.
7096         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7097         * modules/signbit (configure.ac): ... to here.
7098
7099 2011-05-21  Bruno Haible  <bruno@clisp.org>
7100
7101         sigprocmask: Move AC_LIBOBJ invocations to module description.
7102         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7103         gl_PREREQ_SIGPROMASK invocations from here...
7104         * modules/sigprocmask (configure.ac): ... to here.
7105
7106 2011-05-21  Bruno Haible  <bruno@clisp.org>
7107
7108         sigaction: Move AC_LIBOBJ invocations to module description.
7109         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7110         gl_PREREQ_SIGACTION invocations from here...
7111         * modules/sigaction (configure.ac): ... to here.
7112
7113 2011-05-21  Bruno Haible  <bruno@clisp.org>
7114
7115         sig2str: Move AC_LIBOBJ invocations to module description.
7116         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7117         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7118         here...
7119         * modules/sig2str (configure.ac): ... to here.
7120
7121 2011-05-21  Bruno Haible  <bruno@clisp.org>
7122
7123         setlocale: Move AC_LIBOBJ invocations to module description.
7124         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7125         gl_PREREQ_SETLOCALE invocations from here...
7126         * modules/setlocale (configure.ac): ... to here.
7127
7128 2011-05-21  Bruno Haible  <bruno@clisp.org>
7129
7130         unsetenv: Move AC_LIBOBJ invocations to module description.
7131         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7132         and gl_PREREQ_UNSETENV invocations from here...
7133         * modules/unsetenv (configure.ac): ... to here.
7134         (Depends-on): Update.
7135
7136 2011-05-21  Bruno Haible  <bruno@clisp.org>
7137
7138         setenv: Move AC_LIBOBJ invocations to module description.
7139         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7140         here...
7141         * modules/setenv (configure.ac): ... to here.
7142
7143 2011-05-21  Bruno Haible  <bruno@clisp.org>
7144
7145         selinux-h: Move AC_LIBOBJ invocations to module description.
7146         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7147         AC_LIBOBJ invocation from here...
7148         * modules/selinux-h (configure.ac): ... to here.
7149
7150 2011-05-21  Bruno Haible  <bruno@clisp.org>
7151
7152         select: Respect rules for use of AC_LIBOBJ.
7153         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7154         here...
7155         * modules/select (configure.ac): ... to here.
7156
7157 2011-05-21  Bruno Haible  <bruno@clisp.org>
7158
7159         scandir: Move AC_LIBOBJ invocations to module description.
7160         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7161         invocations from here...
7162         * modules/scandir (configure.ac): ... to here.
7163
7164 2011-05-21  Bruno Haible  <bruno@clisp.org>
7165
7166         rpmatch: Move AC_LIBOBJ invocations to module description.
7167         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7168         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7169         here...
7170         * modules/rpmatch (configure.ac): ... to here.
7171
7172 2011-05-21  Bruno Haible  <bruno@clisp.org>
7173
7174         rmdir: Respect rules for use of AC_LIBOBJ.
7175         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7176         * modules/rmdir (configure.ac): ... to here.
7177
7178 2011-05-21  Bruno Haible  <bruno@clisp.org>
7179
7180         renameat: Move AC_LIBOBJ invocations to module description.
7181         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7182         here...
7183         * modules/renameat (configure.ac): ... to here.
7184
7185 2011-05-21  Bruno Haible  <bruno@clisp.org>
7186
7187         rename: Respect rules for use of AC_LIBOBJ.
7188         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7189         here...
7190         * modules/rename (configure.ac): ... to here.
7191
7192 2011-05-21  Bruno Haible  <bruno@clisp.org>
7193
7194         remove: Move AC_LIBOBJ invocations to module description.
7195         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7196         here...
7197         * modules/remove (configure.ac): ... to here.
7198
7199 2011-05-21  Bruno Haible  <bruno@clisp.org>
7200
7201         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7202         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7203         macro.
7204         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7205         * modules/relocatable-lib (configure.ac): ... to here.
7206         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7207         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7208
7209 2011-05-21  Bruno Haible  <bruno@clisp.org>
7210
7211         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7212         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7213         here...
7214         * modules/relocatable-prog (configure.ac): ... to here.
7215
7216 2011-05-21  Bruno Haible  <bruno@clisp.org>
7217
7218         regex: Move AC_LIBOBJ invocations to module description.
7219         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7220         invocations from here...
7221         * modules/regex (configure.ac): ... to here.
7222
7223 2011-05-21  Bruno Haible  <bruno@clisp.org>
7224
7225         realloc-*: Move AC_LIBOBJ invocations to module description.
7226         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7227         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7228         AC_LIBOBJ invocations from here...
7229         * modules/realloc-gnu (configure.ac): ... to here.
7230         * modules/realloc-posix (configure.ac): ... and here.
7231
7232 2011-05-21  Bruno Haible  <bruno@clisp.org>
7233
7234         readutmp: Move AC_LIBOBJ invocations to module description.
7235         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7236         * modules/readutmp (configure.ac): ... to here.
7237
7238 2011-05-21  Bruno Haible  <bruno@clisp.org>
7239
7240         readlinkat: Move AC_LIBOBJ invocations to module description.
7241         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7242         here...
7243         * modules/readlinkat (configure.ac): ... to here.
7244
7245 2011-05-21  Bruno Haible  <bruno@clisp.org>
7246
7247         readlink: Move AC_LIBOBJ invocations to module description.
7248         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7249         gl_PREREQ_READLINK invocations from here...
7250         * modules/readlink (configure.ac): ... to here.
7251
7252 2011-05-21  Bruno Haible  <bruno@clisp.org>
7253
7254         readline: Move AC_LIBOBJ invocations to module description.
7255         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7256         gl_PREREQ_READLINE invocations from here...
7257         * modules/readline (configure.ac): ... to here.
7258
7259 2011-05-21  Bruno Haible  <bruno@clisp.org>
7260
7261         read: Move AC_LIBOBJ invocations to module description.
7262         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7263         * modules/read (configure.ac): ... to here.
7264
7265 2011-05-21  Bruno Haible  <bruno@clisp.org>
7266
7267         rawmemchr: Move AC_LIBOBJ invocations to module description.
7268         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7269         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7270         from here...
7271         * modules/rawmemchr (configure.ac): ... to here.
7272
7273 2011-05-21  Bruno Haible  <bruno@clisp.org>
7274
7275         random_r: Move AC_LIBOBJ invocations to module description.
7276         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7277         gl_PREREQ_RANDOM_R invocations from here...
7278         * modules/random_r (configure.ac): ... to here.
7279
7280 2011-05-21  Bruno Haible  <bruno@clisp.org>
7281
7282         pwrite: Move AC_LIBOBJ invocations to module description.
7283         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7284         * modules/pwrite (configure.ac): ... to here.
7285
7286 2011-05-21  Bruno Haible  <bruno@clisp.org>
7287
7288         putenv: Move AC_LIBOBJ invocations to module description.
7289         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7290         * modules/putenv (configure.ac): ... to here.
7291
7292 2011-05-21  Bruno Haible  <bruno@clisp.org>
7293
7294         login_tty: Move AC_LIBOBJ invocations to module description.
7295         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7296         * modules/login_tty (configure.ac): ... to here.
7297
7298 2011-05-21  Bruno Haible  <bruno@clisp.org>
7299
7300         openpty: Move AC_LIBOBJ invocations to module description.
7301         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7302         * modules/openpty (configure.ac): ... to here.
7303
7304 2011-05-21  Bruno Haible  <bruno@clisp.org>
7305
7306         forkpty: Move AC_LIBOBJ invocations to module description.
7307         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7308         * modules/forkpty (configure.ac): ... to here.
7309
7310 2011-05-21  Bruno Haible  <bruno@clisp.org>
7311
7312         ptsname: Move AC_LIBOBJ invocations to module description.
7313         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7314         invocations from here...
7315         * modules/ptsname (configure.ac): ... to here.
7316
7317 2011-05-21  Bruno Haible  <bruno@clisp.org>
7318
7319         pread: Move AC_LIBOBJ invocations to module description.
7320         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7321         * modules/pread (configure.ac): ... to here.
7322
7323 2011-05-21  Bruno Haible  <bruno@clisp.org>
7324
7325         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7326         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7327         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7328         * modules/posix_spawn (configure.ac): ... to here.
7329         * modules/posix_spawnp (configure.ac): ... and here.
7330
7331 2011-05-21  Bruno Haible  <bruno@clisp.org>
7332
7333         popen: Move AC_LIBOBJ invocations to module description.
7334         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7335         invocations from here...
7336         * modules/popen (configure.ac): ... to here.
7337
7338 2011-05-21  Bruno Haible  <bruno@clisp.org>
7339
7340         poll: Move AC_LIBOBJ invocations to module description.
7341         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7342         invocations from here...
7343         * modules/poll (configure.ac): ... to here.
7344
7345 2011-05-21  Bruno Haible  <bruno@clisp.org>
7346
7347         pipe-posix: Move AC_LIBOBJ invocations to module description.
7348         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7349         * modules/pipe-posix (configure.ac): ... to here.
7350
7351 2011-05-21  Bruno Haible  <bruno@clisp.org>
7352
7353         openat: Respect rules for use of AC_LIBOBJ.
7354         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7355         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7356         * modules/openat (configure.ac): ... to here.
7357
7358 2011-05-21  Bruno Haible  <bruno@clisp.org>
7359
7360         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7361         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7362         invocation from here...
7363         * modules/obstack-printf (configure.ac): ... to here.
7364         * modules/obstack-printf-posix (configure.ac): ... and here.
7365
7366 2011-05-21  Bruno Haible  <bruno@clisp.org>
7367
7368         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7369         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7370         from here...
7371         * modules/nl_langinfo (configure.ac): ... to here.
7372
7373 2011-05-21  Bruno Haible  <bruno@clisp.org>
7374
7375         nanosleep: Move AC_LIBOBJ invocations to module description.
7376         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7377         gl_PREREQ_NANOSLEEP invocations from here...
7378         * modules/nanosleep (configure.ac): ... to here.
7379
7380 2011-05-21  Bruno Haible  <bruno@clisp.org>
7381
7382         mountlist: Move AC_LIBOBJ invocations to module description.
7383         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7384         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7385         * modules/mountlist (configure.ac): ... to here.
7386
7387 2011-05-21  Bruno Haible  <bruno@clisp.org>
7388
7389         mktime: Respect rules for use of AC_LIBOBJ.
7390         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7391         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7392         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7393         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7394         * modules/mktime (configure.ac): ... to here.
7395         * modules/mktime-internal (configure.ac): ... and here.
7396         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7397
7398 2011-05-21  Bruno Haible  <bruno@clisp.org>
7399
7400         mkstemps: Move AC_LIBOBJ invocations to module description.
7401         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7402         here...
7403         * modules/mkstemps (configure.ac): ... to here.
7404
7405 2011-05-21  Bruno Haible  <bruno@clisp.org>
7406
7407         mkstemp: Move AC_LIBOBJ invocations to module description.
7408         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7409         gl_PREREQ_MKSTEMP invocations from here...
7410         * modules/mkstemp (configure.ac): ... to here.
7411
7412 2011-05-21  Bruno Haible  <bruno@clisp.org>
7413
7414         mkostemps: Move AC_LIBOBJ invocations to module description.
7415         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7416         here...
7417         * modules/mkostemps (configure.ac): ... to here.
7418
7419 2011-05-21  Bruno Haible  <bruno@clisp.org>
7420
7421         mkostemp: Move AC_LIBOBJ invocations to module description.
7422         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7423         gl_PREREQ_MKOSTEMP invocations from here...
7424         * modules/mkostemp (configure.ac): ... to here.
7425
7426 2011-05-21  Bruno Haible  <bruno@clisp.org>
7427
7428         mknod: Move AC_LIBOBJ invocations to module description.
7429         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7430         * modules/mknod (configure.ac): ... to here.
7431
7432 2011-05-21  Bruno Haible  <bruno@clisp.org>
7433
7434         mkfifoat: Move AC_LIBOBJ invocations to module description.
7435         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7436         here...
7437         * modules/mkfifoat (configure.ac): ... to here.
7438
7439 2011-05-21  Bruno Haible  <bruno@clisp.org>
7440
7441         mkfifo: Respect rules for use of AC_LIBOBJ.
7442         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7443         here...
7444         * modules/mkfifo (configure.ac): ... to here.
7445
7446 2011-05-21  Bruno Haible  <bruno@clisp.org>
7447
7448         mkdtemp: Move AC_LIBOBJ invocations to module description.
7449         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7450         invocations from here...
7451         * modules/mkdtemp (configure.ac): ... to here.
7452
7453 2011-05-21  Bruno Haible  <bruno@clisp.org>
7454
7455         mkdir: Move AC_LIBOBJ invocations to module description.
7456         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7457         * modules/mkdir (configure.ac): ... to here.
7458
7459 2011-05-21  Bruno Haible  <bruno@clisp.org>
7460
7461         memset: Move AC_LIBOBJ invocations to module description.
7462         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7463         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7464         here...
7465         * modules/memset (configure.ac): ... to here.
7466
7467 2011-05-21  Bruno Haible  <bruno@clisp.org>
7468
7469         memrchr: Move AC_LIBOBJ invocations to module description.
7470         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
7471         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
7472         here...
7473         * modules/memrchr (configure.ac): ... to here.
7474
7475 2011-05-21  Bruno Haible  <bruno@clisp.org>
7476
7477         mempcpy: Move AC_LIBOBJ invocations to module description.
7478         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
7479         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
7480         here...
7481         * modules/mempcpy (configure.ac): ... to here.
7482
7483 2011-05-21  Bruno Haible  <bruno@clisp.org>
7484
7485         memmove: Move AC_LIBOBJ invocations to module description.
7486         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
7487         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
7488         here...
7489         * modules/memmove (configure.ac): ... to here.
7490
7491 2011-05-21  Bruno Haible  <bruno@clisp.org>
7492
7493         memmem*: Move AC_LIBOBJ invocations to module description.
7494         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
7495         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
7496         here...
7497         (gl_FUNC_MEMMEM): ... and here...
7498         * modules/memmem-simple (configure.ac): ... to here.
7499         * modules/memmem (configure.ac): ... and here.
7500
7501 2011-05-21  Bruno Haible  <bruno@clisp.org>
7502
7503         memcpy: Move AC_LIBOBJ invocations to module description.
7504         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
7505         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
7506         here...
7507         * modules/memcpy (configure.ac): ... to here.
7508
7509 2011-05-21  Bruno Haible  <bruno@clisp.org>
7510
7511         memcmp: Simplify autoconf macro.
7512         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
7513         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
7514         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
7515
7516 2011-05-21  Bruno Haible  <bruno@clisp.org>
7517
7518         memcmp: Move AC_LIBOBJ invocations to module description.
7519         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
7520         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
7521         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
7522         * modules/memcmp (configure.ac): ... to here.
7523         (Depends-on): Update conditions.
7524
7525 2011-05-21  Bruno Haible  <bruno@clisp.org>
7526
7527         memchr: Respect rules for use of AC_LIBOBJ.
7528         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
7529         invocations from here...
7530         * modules/memchr (configure.ac): ... to here.
7531
7532 2011-05-21  Bruno Haible  <bruno@clisp.org>
7533
7534         mbtowc: Move AC_LIBOBJ invocations to module description.
7535         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
7536         invocations from here...
7537         * modules/mbtowc (configure.ac): ... to here.
7538
7539 2011-05-21  Bruno Haible  <bruno@clisp.org>
7540
7541         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
7542         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
7543         gl_PREREQ_MBSRTOWCS invocations from here...
7544         * modules/mbsrtowcs (configure.ac): ... to here.
7545
7546 2011-05-21  Bruno Haible  <bruno@clisp.org>
7547
7548         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
7549         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
7550         gl_PREREQ_MBSNRTOWCS invocations from here...
7551         * modules/mbsnrtowcs (configure.ac): ... to here.
7552
7553 2011-05-21  Bruno Haible  <bruno@clisp.org>
7554
7555         mbsinit: Move AC_LIBOBJ invocations to module description.
7556         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
7557         invocations from here...
7558         * modules/mbsinit (configure.ac): ... to here.
7559
7560 2011-05-21  Bruno Haible  <bruno@clisp.org>
7561
7562         mbrlen: Move AC_LIBOBJ invocations to module description.
7563         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
7564         invocations from here...
7565         * modules/mbrlen (configure.ac): ... to here.
7566
7567 2011-05-21  Bruno Haible  <bruno@clisp.org>
7568
7569         mbrtowc: Respect rules for use of AC_LIBOBJ.
7570         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
7571         invocations from here...
7572         * modules/mbrtowc (configure.ac): ... to here.
7573
7574 2011-05-21  Bruno Haible  <bruno@clisp.org>
7575
7576         malloc-*: Move AC_LIBOBJ invocations to module description.
7577         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
7578         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
7579         AC_LIBOBJ invocations from here...
7580         * modules/malloc-gnu (configure.ac): ... to here.
7581         * modules/malloc-posix (configure.ac): ... and here.
7582
7583 2011-05-21  Bruno Haible  <bruno@clisp.org>
7584
7585         lstat, openat: Respect rules for use of AC_LIBOBJ.
7586         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
7587         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
7588         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
7589         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
7590         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
7591         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
7592         here.
7593         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
7594
7595 2011-05-21  Bruno Haible  <bruno@clisp.org>
7596
7597         lseek: Move AC_LIBOBJ invocations to module description.
7598         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
7599         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
7600         * modules/lseek (configure.ac): ... to here.
7601
7602 2011-05-21  Bruno Haible  <bruno@clisp.org>
7603
7604         linkat: Move AC_LIBOBJ invocations to module description.
7605         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
7606         here...
7607         * modules/linkat (configure.ac): ... to here.
7608
7609 2011-05-21  Bruno Haible  <bruno@clisp.org>
7610
7611         link: Respect rules for use of AC_LIBOBJ.
7612         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
7613         * modules/link (configure.ac): ... to here.
7614
7615 2011-05-21  Bruno Haible  <bruno@clisp.org>
7616
7617         lchown: Move AC_LIBOBJ invocations to module description.
7618         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
7619         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7620         * modules/lchown (configure.ac): ... to here.
7621
7622 2011-05-21  Bruno Haible  <bruno@clisp.org>
7623
7624         iswctype: Move AC_LIBOBJ invocations to module description.
7625         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
7626         here...
7627         * modules/iswctype (configure.ac): ... to here.
7628
7629 2011-05-21  Bruno Haible  <bruno@clisp.org>
7630
7631         iswblank: Move AC_LIBOBJ invocations to module description.
7632         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
7633         here...
7634         * modules/iswblank (configure.ac): ... to here.
7635
7636 2011-05-21  Bruno Haible  <bruno@clisp.org>
7637
7638         atanl: Move AC_LIBOBJ invocations to module description.
7639         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
7640         * modules/atanl (configure.ac): ... to here.
7641
7642 2011-05-21  Bruno Haible  <bruno@clisp.org>
7643
7644         acosl: Move AC_LIBOBJ invocations to module description.
7645         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
7646         * modules/acosl (configure.ac): ... to here.
7647
7648 2011-05-21  Bruno Haible  <bruno@clisp.org>
7649
7650         asinl: Respect rules for use of AC_LIBOBJ.
7651         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
7652         * modules/asinl (configure.ac): ... to here.
7653
7654 2011-05-21  Bruno Haible  <bruno@clisp.org>
7655
7656         tanl: Move AC_LIBOBJ invocations to module description.
7657         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
7658         * modules/tanl (configure.ac): ... to here.
7659
7660 2011-05-21  Bruno Haible  <bruno@clisp.org>
7661
7662         cosl: Move AC_LIBOBJ invocations to module description.
7663         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
7664         * modules/cosl (configure.ac): ... to here.
7665
7666 2011-05-21  Bruno Haible  <bruno@clisp.org>
7667
7668         sinl: Move AC_LIBOBJ invocations to module description.
7669         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
7670         * modules/sinl (configure.ac): ... to here.
7671
7672 2011-05-21  Bruno Haible  <bruno@clisp.org>
7673
7674         logl: Move AC_LIBOBJ invocations to module description.
7675         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
7676         * modules/logl (configure.ac): ... to here.
7677
7678 2011-05-21  Bruno Haible  <bruno@clisp.org>
7679
7680         expl: Move AC_LIBOBJ invocations to module description.
7681         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
7682         * modules/expl (configure.ac): ... to here.
7683
7684 2011-05-21  Bruno Haible  <bruno@clisp.org>
7685
7686         roundl: Move AC_LIBOBJ invocations to module description.
7687         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
7688         * modules/roundl (configure.ac): ... to here.
7689
7690 2011-05-21  Bruno Haible  <bruno@clisp.org>
7691
7692         round: Move AC_LIBOBJ invocations to module description.
7693         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
7694         * modules/round (configure.ac): ... to here.
7695
7696 2011-05-21  Bruno Haible  <bruno@clisp.org>
7697
7698         roundf: Move AC_LIBOBJ invocations to module description.
7699         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
7700         * modules/roundf (configure.ac): ... to here.
7701
7702 2011-05-21  Bruno Haible  <bruno@clisp.org>
7703
7704         truncl: Move AC_LIBOBJ invocations to module description.
7705         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
7706         * modules/truncl (configure.ac): ... to here.
7707
7708 2011-05-21  Bruno Haible  <bruno@clisp.org>
7709
7710         trunc: Move AC_LIBOBJ invocations to module description.
7711         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
7712         * modules/trunc (configure.ac): ... to here.
7713
7714 2011-05-21  Bruno Haible  <bruno@clisp.org>
7715
7716         truncf: Move AC_LIBOBJ invocations to module description.
7717         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
7718         * modules/truncf (configure.ac): ... to here.
7719
7720 2011-05-21  Bruno Haible  <bruno@clisp.org>
7721
7722         ceill: Move AC_LIBOBJ invocations to module description.
7723         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
7724         * modules/ceill (configure.ac): ... to here.
7725
7726 2011-05-21  Bruno Haible  <bruno@clisp.org>
7727
7728         ceil: Move AC_LIBOBJ invocations to module description.
7729         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
7730         * modules/ceil (configure.ac): ... to here.
7731
7732 2011-05-21  Bruno Haible  <bruno@clisp.org>
7733
7734         ceilf: Move AC_LIBOBJ invocations to module description.
7735         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
7736         * modules/ceilf (configure.ac): ... to here.
7737
7738 2011-05-21  Bruno Haible  <bruno@clisp.org>
7739
7740         floorl: Respect rules for use of AC_LIBOBJ.
7741         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
7742         * modules/floorl (configure.ac): ... to here.
7743
7744 2011-05-21  Bruno Haible  <bruno@clisp.org>
7745
7746         floor: Respect rules for use of AC_LIBOBJ.
7747         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
7748         * modules/floor (configure.ac): ... to here.
7749
7750 2011-05-21  Bruno Haible  <bruno@clisp.org>
7751
7752         floorf: Move AC_LIBOBJ invocations to module description.
7753         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
7754         * modules/floorf (configure.ac): ... to here.
7755
7756 2011-05-20  Bruno Haible  <bruno@clisp.org>
7757
7758         sqrtl: Respect rules for use of AC_LIBOBJ.
7759         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
7760         * modules/sqrtl (configure.ac): ... to here.
7761
7762 2011-05-20  Bruno Haible  <bruno@clisp.org>
7763
7764         ldexpl: Respect rules for use of AC_LIBOBJ.
7765         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
7766         * modules/ldexpl (configure.ac): ... to here.
7767
7768 2011-05-20  Bruno Haible  <bruno@clisp.org>
7769
7770         frexpl*: Respect rules for use of AC_LIBOBJ.
7771         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
7772         invocation from here...
7773         * modules/frexpl (configure.ac): ... to here.
7774         * modules/frexpl-nolibm (configure.ac): ... and here.
7775
7776 2011-05-20  Bruno Haible  <bruno@clisp.org>
7777
7778         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
7779         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
7780         invocation from here...
7781         * modules/frexp (configure.ac): ... to here.
7782         * modules/frexp-nolibm (configure.ac): ... and here.
7783
7784 2011-05-20  Bruno Haible  <bruno@clisp.org>
7785
7786         isnan: Respect rules for use of AC_LIBOBJ.
7787         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
7788         invocations here.
7789         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
7790         REPLACE_ISNAN.
7791         * modules/isnand (configure.ac): Likewise.
7792         * modules/isnanl (configure.ac): Likewise.
7793
7794 2011-05-20  Bruno Haible  <bruno@clisp.org>
7795
7796         isnanl*: Respect rules for use of AC_LIBOBJ.
7797         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
7798         invocation from here...
7799         * modules/isnanl (configure.ac): ... to here.
7800         * modules/isnanl-nolibm (configure.ac): ... and here.
7801
7802 2011-05-20  Bruno Haible  <bruno@clisp.org>
7803
7804         isnand*: Move AC_LIBOBJ invocations to module description.
7805         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
7806         invocation from here...
7807         * modules/isnand (configure.ac): ... to here.
7808         * modules/isnand-nolibm (configure.ac): ... and here.
7809
7810 2011-05-20  Bruno Haible  <bruno@clisp.org>
7811
7812         isnanf*: Move AC_LIBOBJ invocations to module description.
7813         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
7814         invocation from here...
7815         * modules/isnanf (configure.ac): ... to here.
7816         * modules/isnanf-nolibm (configure.ac): ... and here.
7817
7818 2011-05-20  Bruno Haible  <bruno@clisp.org>
7819
7820         isnan*: Separate the AC_LIBOBJ invocations.
7821         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
7822         AC_LIBOBJ invocation.
7823         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
7824         here.
7825         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
7826         AC_LIBOBJ invocation.
7827         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
7828         here.
7829         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
7830         AC_LIBOBJ invocation.
7831         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
7832         here.
7833         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
7834
7835 2011-05-08  Bruno Haible  <bruno@clisp.org>
7836
7837         isinf: Move AC_LIBOBJ invocations to module description.
7838         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
7839         * modules/isinf (configure.ac): ... to here.
7840
7841 2011-05-08  Bruno Haible  <bruno@clisp.org>
7842
7843         isfinite: Move AC_LIBOBJ invocations to module description.
7844         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
7845         * modules/isfinite (configure.ac): ... to here.
7846
7847 2011-05-08  Bruno Haible  <bruno@clisp.org>
7848
7849         isblank: Move AC_LIBOBJ invocations to module description.
7850         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
7851         here...
7852         * modules/isblank (configure.ac): ... to here.
7853
7854 2011-05-08  Bruno Haible  <bruno@clisp.org>
7855
7856         isapipe: Move AC_LIBOBJ invocations to module description.
7857         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
7858         gl_PREREQ_ISAPIPE invocations from here...
7859         * modules/isapipe (configure.ac): ... to here.
7860         (Depends-on): Update condition.
7861
7862 2011-05-08  Bruno Haible  <bruno@clisp.org>
7863
7864         ioctl: Move AC_LIBOBJ invocations to module description.
7865         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
7866         invocations from here...
7867         * modules/ioctl (configure.ac): ... to here.
7868         (Depends-on): Update condition.
7869
7870 2011-05-08  Bruno Haible  <bruno@clisp.org>
7871
7872         imaxdiv: Move AC_LIBOBJ invocations to module description.
7873         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
7874         invocations from here...
7875         * modules/imaxdiv (configure.ac): ... to here.
7876
7877 2011-05-08  Bruno Haible  <bruno@clisp.org>
7878
7879         imaxabs: Move AC_LIBOBJ invocations to module description.
7880         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
7881         invocations from here...
7882         * modules/imaxabs (configure.ac): ... to here.
7883
7884 2011-05-08  Bruno Haible  <bruno@clisp.org>
7885
7886         getaddrinfo: Move AC_LIBOBJ invocations to module description.
7887         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
7888         AC_LIBOBJ invocations from here...
7889         * modules/getaddrinfo (configure.ac): ... to here.
7890         (Depends-on): Add conditions.
7891
7892 2011-05-08  Bruno Haible  <bruno@clisp.org>
7893
7894         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
7895         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
7896         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
7897         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
7898         (gl_PREREQ_INET_PTON): ... from here.
7899         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
7900         gl_PREREQ_INET_PTON here.
7901         (Depends-on): Update condition.
7902
7903 2011-05-08  Bruno Haible  <bruno@clisp.org>
7904
7905         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
7906         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
7907         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
7908         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
7909         (gl_PREREQ_INET_NTOP): ... from here.
7910         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
7911         gl_PREREQ_INET_NTOP here.
7912         (Depends-on): Update condition.
7913
7914 2011-05-08  Bruno Haible  <bruno@clisp.org>
7915
7916         iconv_open: Move AC_LIBOBJ invocations to module description.
7917         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
7918         AC_LIBOBJ invocations from here...
7919         * modules/iconv_open (configure.ac): ... to here.
7920
7921 2011-05-08  Bruno Haible  <bruno@clisp.org>
7922
7923         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
7924         If module 'iconv_open' is among the main modules and module
7925         'iconv_open-utf' is among the tests dependencies, then
7926         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
7927         return the special iconv_t values. Therefore iconv() and iconv_close()
7928         must support these special iconv_t values, already in lib, not only in
7929         tests.
7930         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
7931         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
7932         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
7933         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
7934         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
7935         (Depends-on): Add the dependencies of iconv_open-utf.
7936         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
7937         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
7938         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
7939
7940 2011-05-08  Bruno Haible  <bruno@clisp.org>
7941
7942         group-member: Move AC_LIBOBJ invocations to module description.
7943         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
7944         gl_PREREQ_GROUP_MEMBER invocations from here...
7945         * modules/group-member (configure.ac): ... to here.
7946
7947 2011-05-08  Bruno Haible  <bruno@clisp.org>
7948
7949         grantpt: Move AC_LIBOBJ invocations to module description.
7950         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
7951         invocations from here...
7952         * modules/grantpt (configure.ac): ... to here.
7953
7954 2011-05-08  Bruno Haible  <bruno@clisp.org>
7955
7956         glob: Move AC_LIBOBJ invocations to module description.
7957         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
7958         from here...
7959         * modules/glob (configure.ac): ... to here.
7960
7961 2011-05-08  Bruno Haible  <bruno@clisp.org>
7962
7963         getusershell: Move AC_LIBOBJ invocations to module description.
7964         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
7965         Move AC_LIBOBJ invocation from here...
7966         * modules/getusershell (configure.ac): ... to here.
7967         (Depends-on): Update condition.
7968
7969 2011-05-08  Bruno Haible  <bruno@clisp.org>
7970
7971         gettimeofday: Move AC_LIBOBJ invocations to module description.
7972         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
7973         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
7974         gl_PREREQ_GETTIMEOFDAY invocations from here...
7975         * modules/gettimeofday (configure.ac): ... to here.
7976
7977 2011-05-08  Bruno Haible  <bruno@clisp.org>
7978
7979         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
7980         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
7981         just gl_FUNC_TZSET.
7982         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
7983         (gl_FUNC_TZSET_CLOBBER): Remove actions.
7984         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
7985         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
7986
7987 2011-05-08  Bruno Haible  <bruno@clisp.org>
7988
7989         getsubopt: Move AC_LIBOBJ invocations to module description.
7990         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
7991         gl_PREREQ_GETSUBOPT invocations from here...
7992         * modules/getsubopt (configure.ac): ... to here.
7993
7994 2011-05-08  Bruno Haible  <bruno@clisp.org>
7995
7996         getpass-gnu: Move AC_LIBOBJ invocations to module description.
7997         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
7998         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
7999         * modules/getpass-gnu (configure.ac): ... to here.
8000
8001 2011-05-08  Bruno Haible  <bruno@clisp.org>
8002
8003         getpass: Move AC_LIBOBJ invocations to module description.
8004         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8005         gl_PREREQ_GETPASS invocations from here...
8006         * modules/getpass (configure.ac): ... to here.
8007
8008 2011-05-08  Bruno Haible  <bruno@clisp.org>
8009
8010         getpagesize: Move AC_LIBOBJ invocations to module description.
8011         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8012         from here...
8013         * modules/getpagesize (configure.ac): ... to here.
8014
8015 2011-05-08  Bruno Haible  <bruno@clisp.org>
8016
8017         getopt: Move AC_LIBOBJ invocations to module description.
8018         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8019         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8020         invocations from here...
8021         * modules/getopt-gnu (configure.ac): ... to here.
8022         * modules/getopt-posix (configure.ac): ... and here.
8023         (Depends-on): Update condition.
8024
8025 2011-05-08  Bruno Haible  <bruno@clisp.org>
8026
8027         getopt, argp: Respect rules for use of AC_LIBOBJ.
8028         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8029         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8030         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8031         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8032
8033 2011-05-08  Bruno Haible  <bruno@clisp.org>
8034
8035         getlogin_r: Move AC_LIBOBJ invocations to module description.
8036         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8037         gl_PREREQ_GETLOGIN_R invocations from here...
8038         * modules/getlogin_r (configure.ac): ... to here.
8039
8040 2011-05-08  Bruno Haible  <bruno@clisp.org>
8041
8042         getlogin: Move AC_LIBOBJ invocations to module description.
8043         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8044         here...
8045         * modules/getlogin (configure.ac): ... to here.
8046
8047 2011-05-08  Bruno Haible  <bruno@clisp.org>
8048
8049         getloadavg: Move AC_LIBOBJ invocations to module description.
8050         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8051         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8052         * modules/getloadavg (configure.ac): ... to here.
8053
8054 2011-05-08  Bruno Haible  <bruno@clisp.org>
8055
8056         gethrxtime: Move AC_LIBOBJ invocations to module description.
8057         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8058         LIB_GETHRXTIME from here...
8059         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8060         invocations from here...
8061         * modules/gethrxtime (configure.ac): ... to here.
8062
8063 2011-05-08  Bruno Haible  <bruno@clisp.org>
8064
8065         gethostname: Move AC_LIBOBJ invocations to module description.
8066         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8067         gl_PREREQ_GETHOSTNAME invocations from here...
8068         * modules/gethostname (configure.ac): ... to here.
8069
8070 2011-05-08  Bruno Haible  <bruno@clisp.org>
8071
8072         getgroups: Move AC_LIBOBJ invocations to module description.
8073         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8074         here...
8075         * modules/getgroups (configure.ac): ... to here.
8076
8077 2011-05-08  Bruno Haible  <bruno@clisp.org>
8078
8079         getdtablesize: Move AC_LIBOBJ invocations to module description.
8080         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8081         invocation from here...
8082         * modules/getdtablesize (configure.ac): ... to here.
8083
8084 2011-05-08  Bruno Haible  <bruno@clisp.org>
8085
8086         getdomainname: Move AC_LIBOBJ invocations to module description.
8087         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8088         gl_PREREQ_GETDOMAINNAME invocations from here...
8089         * modules/getdomainname (configure.ac): ... to here.
8090
8091 2011-05-08  Bruno Haible  <bruno@clisp.org>
8092
8093         getline: Move AC_LIBOBJ invocations to module description.
8094         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8095         invocations from here...
8096         * modules/getline (configure.ac): ... to here.
8097
8098 2011-05-08  Bruno Haible  <bruno@clisp.org>
8099
8100         getline: Simplify.
8101         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8102         It's already handled through the module dependency.
8103
8104 2011-05-08  Bruno Haible  <bruno@clisp.org>
8105
8106         getdelim: Move AC_LIBOBJ invocations to module description.
8107         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8108         and gl_PREREQ_GETDELIM invocations from here...
8109         * modules/getdelim (configure.ac): ... to here.
8110         (Depends-on): Fix condition.
8111
8112 2011-05-08  Bruno Haible  <bruno@clisp.org>
8113
8114         getcwd: Move AC_LIBOBJ invocations to module description.
8115         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8116         invocations from here...
8117         * modules/getcwd (configure.ac): ... to here.
8118
8119 2011-05-08  Bruno Haible  <bruno@clisp.org>
8120
8121         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8122         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8123         here...
8124         * modules/getcwd-lgpl (configure.ac): ... to here.
8125
8126 2011-05-07  Bruno Haible  <bruno@clisp.org>
8127
8128         crypto/gc: Move AC_LIBOBJ invocations to module description.
8129         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8130         * modules/crypto/gc (configure.ac): ... to here.
8131
8132 2011-05-07  Bruno Haible  <bruno@clisp.org>
8133
8134         fwriting: Move AC_LIBOBJ invocations to module description.
8135         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8136         here...
8137         * modules/fwriting (configure.ac): ... to here.
8138
8139 2011-05-07  Bruno Haible  <bruno@clisp.org>
8140
8141         fwritable: Move AC_LIBOBJ invocations to module description.
8142         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8143         here...
8144         * modules/fwritable (configure.ac): ... to here.
8145
8146 2011-05-07  Bruno Haible  <bruno@clisp.org>
8147
8148         futimens: Move AC_LIBOBJ invocations to module description.
8149         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8150         here...
8151         * modules/futimens (configure.ac): ... to here.
8152
8153 2011-05-07  Bruno Haible  <bruno@clisp.org>
8154
8155         ftruncate: Move AC_LIBOBJ invocations to module description.
8156         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8157         gl_PREREQ_FTRUNCATE invocations from here...
8158         * modules/ftruncate (configure.ac): ... to here.
8159
8160 2011-05-07  Bruno Haible  <bruno@clisp.org>
8161
8162         fsync: Move AC_LIBOBJ invocations to module description.
8163         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8164         invocations from here...
8165         * modules/fsync (configure.ac): ... to here.
8166
8167 2011-05-07  Bruno Haible  <bruno@clisp.org>
8168
8169         fsusage: Move AC_LIBOBJ invocations to module description.
8170         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8171         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8172         * modules/fsusage (configure.ac): ... to here.
8173
8174 2011-05-07  Bruno Haible  <bruno@clisp.org>
8175
8176         freopen: Move AC_LIBOBJ invocations to module description.
8177         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8178         invocations from here...
8179         * modules/freopen (configure.ac): ... to here.
8180
8181 2011-05-07  Bruno Haible  <bruno@clisp.org>
8182
8183         free: Move AC_LIBOBJ invocations to module description.
8184         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8185         invocations from here...
8186         * modules/free (configure.ac): ... to here.
8187
8188 2011-05-07  Bruno Haible  <bruno@clisp.org>
8189
8190         freadable: Move AC_LIBOBJ invocations to module description.
8191         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8192         here...
8193         * modules/freadable (configure.ac): ... to here.
8194
8195 2011-05-07  Bruno Haible  <bruno@clisp.org>
8196
8197         fpurge: Move AC_LIBOBJ invocations to module description.
8198         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8199         invocations from here...
8200         * modules/fpurge (configure.ac): ... to here.
8201
8202 2011-05-07  Bruno Haible  <bruno@clisp.org>
8203
8204         fpending: Move AC_LIBOBJ invocations to module description.
8205         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8206         gl_FUNC_FPENDING.
8207         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8208         invocations from here...
8209         * modules/fpending (configure.ac): ... to here.
8210
8211 2011-05-07  Bruno Haible  <bruno@clisp.org>
8212
8213         fopen: Move AC_LIBOBJ invocations to module description.
8214         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8215         invocations from here...
8216         * modules/fopen (configure.ac): ... to here.
8217
8218 2011-05-07  Bruno Haible  <bruno@clisp.org>
8219
8220         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8221         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8222         gl_FUNC_FNMATCH_POSIX.
8223         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8224         invocations from here...
8225         * modules/fnmatch (configure.ac): ... to here.
8226         * modules/fnmatch-gnu (configure.ac): ... and here.
8227
8228 2011-05-07  Bruno Haible  <bruno@clisp.org>
8229
8230         flock: Move AC_LIBOBJ invocations to module description.
8231         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8232         invocations from here...
8233         * modules/flock (configure.ac): ... to here.
8234
8235 2011-05-07  Bruno Haible  <bruno@clisp.org>
8236
8237         fileblocks: Move AC_LIBOBJ invocations to module description.
8238         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8239         gl_PREREQ_FILEBLOCKS invocations from here...
8240         * modules/fileblocks (configure.ac): ... to here.
8241
8242 2011-05-06  Bruno Haible  <bruno@clisp.org>
8243
8244         fflush: Move AC_LIBOBJ invocations to module description.
8245         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8246         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8247         invocations from here...
8248         * modules/fflush (configure.ac): ... to here.
8249
8250 2011-05-06  Bruno Haible  <bruno@clisp.org>
8251
8252         fdopendir: Move AC_LIBOBJ invocations to module description.
8253         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8254         here...
8255         * modules/fdopendir (configure.ac): ... to here.
8256         (Depends-on): Improve conditions.
8257
8258 2011-05-06  Bruno Haible  <bruno@clisp.org>
8259
8260         _Exit: Move AC_LIBOBJ invocations to module description.
8261         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8262         invocations from here...
8263         * modules/_Exit (configure.ac): ... to here.
8264
8265 2011-05-21  Bruno Haible  <bruno@clisp.org>
8266
8267         euidaccess: Respect rules for use of AC_LIBOBJ.
8268         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8269         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8270         from here...
8271         * modules/euidaccess (configure.ac): ... to here.
8272
8273 2011-05-06  Bruno Haible  <bruno@clisp.org>
8274
8275         error: Move AC_LIBOBJ invocations to module description.
8276         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8277         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8278         invocations from here...
8279         * modules/error (configure.ac): ... to here.
8280
8281 2011-05-06  Bruno Haible  <bruno@clisp.org>
8282
8283         duplocale: Move AC_LIBOBJ invocations to module description.
8284         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8285         gl_PREREQ_DUPLOCALE invocations from here...
8286         * modules/duplocale (configure.ac): ... to here.
8287
8288 2011-05-05  Bruno Haible  <bruno@clisp.org>
8289
8290         dirfd: Move AC_LIBOBJ invocations to module description.
8291         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8292         gl_FUNC_DIRFD.
8293         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8294         here...
8295         * modules/dirfd (configure.ac): ... to here.
8296         (Depends-on): Fix condition.
8297
8298 2011-05-05  Bruno Haible  <bruno@clisp.org>
8299
8300         chown: Respect rules for use of AC_LIBOBJ.
8301         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8302         * modules/chown (configure.ac): ... to here.
8303
8304 2011-05-05  Bruno Haible  <bruno@clisp.org>
8305
8306         chdir-long: Move AC_LIBOBJ invocations to module description.
8307         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8308         gl_PREREQ_CHDIR_LONG invocations from here...
8309         * modules/chdir-long (configure.ac): ... to here.
8310
8311 2011-05-05  Bruno Haible  <bruno@clisp.org>
8312
8313         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8314         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8315         from here...
8316         * modules/canonicalize-lgpl (configure.ac): ... to here.
8317
8318 2011-05-05  Bruno Haible  <bruno@clisp.org>
8319
8320         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8321         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8322         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8323         REPLACE_CALLOC.
8324         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8325         * modules/calloc-gnu (configure.ac): Likewise.
8326
8327 2011-05-05  Bruno Haible  <bruno@clisp.org>
8328
8329         btowc: Move AC_LIBOBJ invocations to module description.
8330         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8331         invocations from here...
8332         * modules/btowc (configure.ac): ... to here.
8333
8334 2011-05-21  Bruno Haible  <bruno@clisp.org>
8335
8336         atexit: Move AC_LIBOBJ invocations to module description.
8337         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8338         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8339         here...
8340         * modules/atexit (configure.ac): ... to here.
8341
8342 2011-05-05  Bruno Haible  <bruno@clisp.org>
8343
8344         atoll: Move AC_LIBOBJ invocations to module description.
8345         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8346         invocations from here...
8347         * modules/atoll (configure.ac): ... to here.
8348
8349 2011-05-05  Bruno Haible  <bruno@clisp.org>
8350
8351         argz: Move AC_LIBOBJ invocations to module description.
8352         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8353         * modules/argz (configure.ac): ... to here.
8354
8355 2011-05-05  Bruno Haible  <bruno@clisp.org>
8356
8357         alphasort: Move AC_LIBOBJ invocations to module description.
8358         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8359         gl_PREREQ_ALPHASORT invocations from here...
8360         * modules/alphasort (configure.ac): ... to here.
8361
8362 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8363
8364         verify: new macro verify_expr; verify_true deprecated
8365         * NEWS: Mention this.
8366         * doc/verify.texi (Compile-time Assertions): Document this.
8367         * lib/verify.h (verify_true): Deprecate.
8368         (verify_expr): New macro.
8369         * tests/test-verify.c (function): Test verify_expr.
8370
8371 2011-06-14  Jim Meyering  <meyering@redhat.com>
8372
8373         init.sh: give more portable redirection-related advice in a comment
8374         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8375         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8376         for lots of discussion.  Stefano Lattarini suggested the solution
8377         of putting "9>&2" after the command.  Reported by Bruno Haible.
8378
8379 2011-06-13  Bruno Haible  <bruno@clisp.org>
8380
8381         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8382         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8383         'none'.
8384
8385 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8386
8387         ftoastr: use strtof only if HAVE_STRTOF
8388         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8389         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8390         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8391         * modules/ftoastr (configure.ac): Check for strtof.
8392
8393 2011-06-13  Bruno Haible  <bruno@clisp.org>
8394
8395         gnulib-tool: Addendum to 2011-06-08 commit.
8396         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8397         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8398
8399 2011-06-13  Bruno Haible  <bruno@clisp.org>
8400
8401         fseeko: Provide a non-inline replacement of fseek().
8402         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8403         * modules/fseeko (Depends-on): Add fseek.
8404         * modules/fseek (License): Change to LGPLv2+.
8405
8406 2011-06-13  Bruno Haible  <bruno@clisp.org>
8407
8408         ftello: Provide a non-inline replacement of ftell().
8409         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8410         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8411         not have ftello() (such as on mingw).
8412         * modules/ftello (Depends-on): Add ftell.
8413         * modules/ftell (License): Change to LGPLv2+.
8414
8415 2011-05-07  Bruno Haible  <bruno@clisp.org>
8416
8417         ftell: Move AC_LIBOBJ invocations to module description.
8418         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8419         * modules/ftell (configure.ac): ... to here.
8420
8421 2011-05-07  Bruno Haible  <bruno@clisp.org>
8422
8423         ftello: Respect rules for use of AC_LIBOBJ.
8424         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8425         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8426         here...
8427         * modules/ftello (configure.ac): ... to here.
8428
8429 2011-05-07  Bruno Haible  <bruno@clisp.org>
8430
8431         fseeko: Simplify.
8432         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8433         (gl_FUNC_FSEEKO): Inline it here.
8434
8435 2011-05-07  Bruno Haible  <bruno@clisp.org>
8436
8437         fseek: Move AC_LIBOBJ invocations to module description.
8438         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8439         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8440         * modules/fseek (configure.ac): ... to here.
8441
8442 2011-05-07  Bruno Haible  <bruno@clisp.org>
8443
8444         fseek: Respect rules for use of AC_LIBOBJ.
8445         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8446         here...
8447         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8448
8449 2011-05-07  Bruno Haible  <bruno@clisp.org>
8450
8451         fseeko: Respect rules for use of AC_LIBOBJ.
8452         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8453         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8454         here...
8455         * modules/fseeko (configure.ac): ... to here.
8456
8457 2011-06-13  Bruno Haible  <bruno@clisp.org>
8458
8459         gnulib-tool: Allow comments in the 'Depends-on' section.
8460         * doc/gnulib.texi (Module description): Mention comment syntax in the
8461         Depends-on section.
8462         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8463
8464 2011-06-13  Bruno Haible  <bruno@clisp.org>
8465
8466         file-set.h: guard __attibute__ use, now that it's not always defined
8467         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8468         versions that support it.  This fixes a coreutils build failure with
8469         the vendor cc on HP-UX 11.31.
8470
8471 2011-06-12  Bruno Haible  <bruno@clisp.org>
8472
8473         acl: Add support for HP-UX >= 11.11 JFS ACLs.
8474         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
8475         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
8476         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
8477         (acl, aclsort): New declarations.
8478         (aclv_nontrivial): New declaration.
8479         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
8480         (file_has_acl): Read also the second kind of HP-UX ACLs.
8481         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
8482         kind of HP-UX ACLs if the first kind fails.
8483         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
8484         second kind of HP-UX ACLs.
8485         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
8486         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
8487         agree.
8488         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8489         hpuxjfs.
8490         Handle hpuxjfs.
8491         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8492         hpuxjfs.
8493         Handle hpuxjfs.
8494         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8495         (func_test_same_acls): Use both lsacl and getacl.
8496         Handle hpuxjfs.
8497         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8498         (func_test_same_acls): Use both lsacl and getacl.
8499         Handle hpuxjfs.
8500
8501 2011-06-12  Bruno Haible  <bruno@clisp.org>
8502
8503         acl: Complete the 2010-08-10 fix.
8504         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
8505         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
8506         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
8507         explicitly.
8508         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
8509         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
8510
8511 2011-06-12  Bruno Haible  <bruno@clisp.org>
8512
8513         spawn-pipe tests: Comments.
8514         * tests/test-spawn-pipe-child.c (main): Update comment.
8515         Reported by James Youngman <jay@gnu.org>.
8516
8517 2011-06-11  James Youngman  <jay@gnu.org>
8518
8519         New module 'stat-size'.
8520         * modules/stat-size: New module.  Provides macros for accessing
8521         file size information in instances of struct stat.  Depends on the
8522         fileblocks module because it calls st_blocks.
8523         * lib/stat-size.h: New file, adapted from coreutils' system.h.
8524         * doc/gnulib.texi: Include stat-size.texi.
8525         * doc/stat-size.texi: Documentation for this module.
8526         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
8527         * m4/fileblocks.m4: Mention that stat-size depends on the call to
8528         AC_STRUCT_ST_BLOCKS.
8529
8530 2011-06-09  Bruno Haible  <bruno@clisp.org>
8531
8532         thread: Support pthreads-win32.
8533         * lib/glthread/thread.h (gl_thread_self): Define differently on
8534         pthreads-win32.
8535         (gl_null_thread): New declaration.
8536         (gl_thread_self_pointer): New macro.
8537         * lib/glthread/thread.c (gl_null_thread): New constant.
8538         * tests/test-lock.c: Use gl_thread_self_pointer instead of
8539         gl_thread_self.
8540         * tests/test-tls.c: Likewise.
8541         Suggested by Paul Eggert. Reported by Eric Blake.
8542
8543 2011-06-09  Bruno Haible  <bruno@clisp.org>
8544
8545         thread: Fix confusion between NULL and 0.
8546         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
8547         Reported by Paul Eggert.
8548
8549 2011-06-09  Bruno Haible  <bruno@clisp.org>
8550
8551         spawn-pipe tests: Avoid test failure on HP-UX 11.
8552         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
8553         is closed.
8554
8555 2011-06-09  Bruno Haible  <bruno@clisp.org>
8556
8557         acl tests: Fix compilation error on HP-UX 11.
8558         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
8559
8560 2011-06-09  Bruno Haible  <bruno@clisp.org>
8561
8562         rmdir: Avoid test failure on HP-UX 10.20.
8563         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
8564         EEXIST.
8565
8566 2011-06-08  Eric Blake  <eblake@redhat.com>
8567
8568         perror: fix test on mingw
8569         * modules/perror-tests (Depends-on): Add dup2.
8570
8571         strerror_r-posix: fix on MacOS
8572         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
8573         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
8574         logic bug.
8575         * lib/strerror_r.c (strerror_r): Fix the bug.
8576         * lib/strerror.c (strerror): Likewise.
8577         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8578         problem.
8579         * doc/posix-functions/strerror.texi (strerror): Likewise.
8580         * doc/posix-functions/perror.texi (perror): Likewise.
8581         * tests/test-strerror.c (main): Enhance test.
8582         * tests/test-strerror_r.c (main): Likewise.
8583
8584 2011-06-08  Bruno Haible  <bruno@clisp.org>
8585
8586         gnulib-tool: Better isolation between different gnulib-tool invocations.
8587         * gnulib-tool: New option --witness-c-macro.
8588         (witness_c_macro): New variable.
8589         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
8590         AM_CPPFLAGS define it as a C macro.
8591         (func_emit_tests_Makefile_am): Likewise.
8592         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
8593         read it from there.
8594         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
8595         m4_define, not AC_DEFUN.
8596         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
8597         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
8598         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
8599         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
8600         s|...|...|, to substitute the values of the GNULIB_* module indicator
8601         variables.
8602         * modules/dirent (Makefile.am): Likewise.
8603         * modules/fcntl-h (Makefile.am): Likewise.
8604         * modules/iconv-h (Makefile.am): Likewise.
8605         * modules/langinfo (Makefile.am): Likewise.
8606         * modules/locale (Makefile.am): Likewise.
8607         * modules/math (Makefile.am): Likewise.
8608         * modules/netdb (Makefile.am): Likewise.
8609         * modules/poll-h (Makefile.am): Likewise.
8610         * modules/pty (Makefile.am): Likewise.
8611         * modules/search (Makefile.am): Likewise.
8612         * modules/signal (Makefile.am): Likewise.
8613         * modules/spawn (Makefile.am): Likewise.
8614         * modules/stdio (Makefile.am): Likewise.
8615         * modules/stdlib (Makefile.am): Likewise.
8616         * modules/string (Makefile.am): Likewise.
8617         * modules/sys_ioctl (Makefile.am): Likewise.
8618         * modules/sys_select (Makefile.am): Likewise.
8619         * modules/sys_socket (Makefile.am): Likewise.
8620         * modules/sys_stat (Makefile.am): Likewise.
8621         * modules/sys_times (Makefile.am): Likewise.
8622         * modules/sys_utsname (Makefile.am): Likewise.
8623         * modules/sys_wait (Makefile.am): Likewise.
8624         * modules/termios (Makefile.am): Likewise.
8625         * modules/time (Makefile.am): Likewise.
8626         * modules/unistd (Makefile.am): Likewise.
8627         * modules/wchar (Makefile.am): Likewise.
8628
8629 2011-06-08  Eric Blake  <eblake@redhat.com>
8630
8631         strerror: simplify replacement
8632         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
8633         * modules/strerror (configure.ac): No prereqs needed here...
8634         * modules/strerror-override (configure.ac): ...but this needs it.
8635         (Files): Add file for needed prereq macro.
8636
8637 2011-06-08  Bruno Haible  <bruno@clisp.org>
8638
8639         strerror_r-posix: Tweaks.
8640         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
8641         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
8642         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
8643         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
8644         (gl_FUNC_STRERROR_R): ... to here.
8645         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
8646
8647 2011-06-07  Eric Blake  <eblake@redhat.com>
8648
8649         perror: document fixed bugs
8650         * doc/posix-functions/perror.texi (perror): Document recent
8651         patches.
8652
8653 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
8654
8655         stat-time: get_stat_birthtime failure is better-defined
8656         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
8657         return a timestamp whose tv_sec and tv_nsec values are both -1.
8658         Previously, the spec said only that the tv_nsec value was negative.
8659         This upward-compatible change simplifies GNU tar a bit.
8660
8661 2011-06-07  Eric Blake  <eblake@redhat.com>
8662
8663         strerror_r-posix: work around cygwin 1.7.9
8664         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
8665         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
8666         bug without replacing strerror_r.
8667         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
8668         strerror_r is buggy, but without requiring strerror_r compilation.
8669         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
8670
8671         test-perror: relax test to ignore cygwin bug
8672         * tests/test-perror2.c (main): Relax test on requiring detection
8673         of stream errors, and use unbuffered stream.
8674         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
8675         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
8676         * doc/posix-functions/fputc.texi (fputc): Likewise.
8677         * doc/posix-functions/fputs.texi (fputs): Likewise.
8678         * doc/posix-functions/fputws.texi (fputws): Likewise.
8679         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
8680         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
8681         * doc/posix-functions/getopt.texi (getopt): Likewise.
8682         * doc/posix-functions/perror.texi (perror): Likewise.
8683         * doc/posix-functions/printf.texi (printf): Likewise.
8684         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
8685         * doc/posix-functions/psignal.texi (psignal): Likewise.
8686         * doc/posix-functions/putc.texi (putc): Likewise.
8687         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
8688         Likewise.
8689         * doc/posix-functions/putchar.texi (putchar): Likewise.
8690         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
8691         Likewise.
8692         * doc/posix-functions/puts.texi (puts): Likewise.
8693         * doc/posix-functions/putwc.texi (putwc): Likewise.
8694         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
8695         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
8696         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
8697         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
8698         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
8699         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
8700         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
8701         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
8702
8703 2011-05-22  Bruno Haible  <bruno@clisp.org>
8704
8705         strerror: Move AC_LIBOBJ invocations to module description.
8706         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
8707         gl_PREREQ_STRERROR invocations from here...
8708         * modules/strerror (configure.ac): ... to here.
8709
8710 2011-05-21  Bruno Haible  <bruno@clisp.org>
8711
8712         perror: Use common idiom.
8713         * modules/perror (configure.ac): Reorder statements.
8714
8715 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
8716
8717         tests: fix usage message in 'mktempd_'
8718         * tests/init.sh (mktempd_): In the usage message, use literal
8719         'mktempd_', not '$ME' (which is even undefined), as the name of
8720         the subroutine.
8721
8722 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
8723
8724         tests init: new function 'fatal_', for hard errors
8725         Before this patch, the only way offered by tests/init.sh to
8726         properly signal a hard error was the `framework_failure_'
8727         function.  But the error message issued by that function,
8728         as its name would suggest, refers to a set-up failure in the
8729         testsuite, while hard errors can obviously also be due to
8730         other reasons.  The best way to fix this inconsistency is to
8731         introduce a new function with a more general error message.
8732         * tests/init.sh (fatal_): New function.
8733
8734 2011-06-06  Eric Blake  <eblake@redhat.com>
8735
8736         canonicalize-lgpl: use common idiom
8737         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
8738         over newer POSIX -Rf.
8739         Reported by Bruno Haible.
8740
8741         canonicalize-lgpl: work around AIX realpath bug
8742         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
8743         * doc/posix-functions/realpath.texi (realpath): Document it.
8744         Reported by Bruno Haible.
8745
8746         strerror: work around FreeBSD bug
8747         * lib/strerror.c (strerror): Special case 0.
8748         Reported by Bruno Haible.
8749
8750         strerror-override: avoid bloating errno module
8751         * modules/errno (Files, configure.ac): Move replacement strings...
8752         * modules/strerror-override: ...to new module.
8753         * modules/strerror (Depends-on): Add strerror-override.
8754         * modules/strerror_r-posix (Depends-on): Likewise.
8755         * MODULES.html.sh: Document new module.
8756         Reported by Bruno Haible.
8757
8758 2011-06-06  Bruno Haible  <bruno@clisp.org>
8759
8760         spawn-pipe tests: Rename program.
8761         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
8762         * tests/test-spawn-pipe-child.c: Update comment.
8763         * tests/test-spawn-pipe.sh: Update.
8764         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
8765
8766         spawn-pipe tests: Link the child program only against libc.
8767         * tests/test-spawn-pipe-child.c: New file, extracted from
8768         tests/test-spawn-pipe.c.
8769         (main): Expect only one argument.
8770         (is_open): New function, copied from tests/test-pipe.c.
8771         * tests/test-spawn-pipe.c: Don't include <errno.h>.
8772         (child_main): Remove function.
8773         (test_pipe): Pass only one argument to the child program.
8774         (main): Remove child process code. Expect the child program's name as
8775         first argument.
8776         * tests/test-spawn-pipe.sh: Pass the child program's name as first
8777         argument.
8778         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
8779         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
8780         test-spawn-pipe-child against no libraries.
8781
8782 2011-06-06  Bruno Haible  <bruno@clisp.org>
8783
8784         careadlinkat: Avoid mismatch between ssize_t and int.
8785         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
8786         * lib/careadlinkat.c (careadlinkatcwd): Define always.
8787
8788 2011-06-06  Jim Meyering  <meyering@redhat.com>
8789
8790         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
8791         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
8792         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
8793
8794 2011-06-05  Bruno Haible  <bruno@clisp.org>
8795
8796         ansi-c++-opt: Interoperability with libtool.
8797         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
8798         set the variable to "no", not to ":".
8799         * NEWS: Mention the change.
8800
8801 2011-06-05  Bruno Haible  <bruno@clisp.org>
8802
8803         acl: Fix test failure on AIX 7.
8804         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
8805         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
8806
8807 2011-06-05  Bruno Haible  <bruno@clisp.org>
8808
8809         pipe-filter-ii: Fix test failure on AIX and IRIX.
8810         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
8811         with EAGAIN, retry with a smaller buffer size.
8812
8813 2011-06-05  Bruno Haible  <bruno@clisp.org>
8814
8815         localename: Fix link dependencies.
8816         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
8817         * modules/localename-tests (Makefile.am): Link test-localename with
8818         $(LIBTHREAD).
8819
8820 2011-06-05  Bruno Haible  <bruno@clisp.org>
8821
8822         error: Avoid gcc warning.
8823         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
8824
8825 2011-06-05  Bruno Haible  <bruno@clisp.org>
8826
8827         unsetenv: Avoid gcc warning.
8828         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
8829
8830 2011-06-05  Bruno Haible  <bruno@clisp.org>
8831
8832         setenv: Avoid gcc warning.
8833         * lib/setenv.c (setenv): Provide declaration if system lacks it.
8834
8835 2011-06-05  Bruno Haible  <bruno@clisp.org>
8836
8837         sys_select: Ensure memset is declared also on AIX 7.
8838         * lib/sys_select.in.h: Include <string.h> also on AIX.
8839         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
8840         self-contained also on AIX 7.1.
8841
8842 2011-06-04  Jim Meyering  <meyering@redhat.com>
8843
8844         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
8845         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
8846         function name, "error".
8847         (_gl_translatable_diag_func_re): New configurable variable.
8848
8849 2011-06-04  Bruno Haible  <bruno@clisp.org>
8850
8851         getopt: Avoid gcc warning.
8852         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
8853
8854 2011-06-04  Bruno Haible  <bruno@clisp.org>
8855
8856         strerror_r: Fix comments.
8857         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
8858         commit.
8859
8860 2011-06-04  Bruno Haible  <bruno@clisp.org>
8861
8862         perror: Fix compilation error.
8863         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
8864         Undefine fprintf, not sprintf.
8865         * modules/perror (Depends-on): Remove intprops, verify.
8866
8867 2011-06-04  Bruno Haible  <bruno@clisp.org>
8868
8869         setlocale: Enable replacement on Cygwin 1.5.
8870         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
8871         Cygwin 1.5.x.
8872         * doc/posix-functions/setlocale.texi: Mention that the problem with the
8873         LC_CTYPE category also exists on Cygwin 1.5.x.
8874
8875 2011-06-04  Bruno Haible  <bruno@clisp.org>
8876
8877         strerror-override: Don't disable symbol renamings.
8878         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
8879         * lib/strerror-override.c: Include config.h.
8880         (strerror_override): Don't undefine.
8881
8882 2011-06-03  Bruno Haible  <bruno@clisp.org>
8883
8884         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
8885         * lib/localename.h: Update copyright header.
8886         * lib/localename.c: Likewise.
8887         * lib/relocatable.h: Likewise.
8888         * lib/relocatable.c: Likewise.
8889
8890 2011-06-02  Bruno Haible  <bruno@clisp.org>
8891
8892         doc: Fix a module name.
8893         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
8894
8895 2011-06-02  Bruno Haible  <bruno@clisp.org>
8896
8897         pipe2: Remove dependency on 'nonblocking' module.
8898         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
8899         O_NONBLOCK is defined by gnulib.
8900         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
8901         is zero.
8902         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
8903         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
8904         defined by gnulib.
8905         (get_nonblocking_flag): New function.
8906         (main): Test O_NONBLOCK flag only if it is nonzero.
8907         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
8908
8909 2011-06-03  Jim Meyering  <meyering@redhat.com>
8910
8911         maint: three new prohibit-header-without-use rules
8912         Prohibit use of cloexec.h, posixver.h, same.h without use.
8913         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
8914         (sc_prohibit_posixver_without_use): Likewise.
8915         (sc_prohibit_same_without_use): Likewise.
8916
8917 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
8918
8919         allocator: 'die' routine is now given requested size
8920         * lib/allocator.h (struct allocator.die): New size arg.
8921         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
8922         If the actual problem is an ssize_t limitation, not a size_t or
8923         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
8924
8925 2011-06-01  Eric Blake  <eblake@redhat.com>
8926
8927         strerror: drop strerror_r dependency
8928         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
8929         * lib/strerror-override.c (strerror_override): ...to new file.
8930         * lib/strerror-override.h: Add prototype.
8931         * lib/strerror-impl.h: Delete.
8932         * lib/strerror.c (strerror): New implementation.
8933         * modules/errno (Files): Add new files.
8934         (configure.ac): Compile new file as appropriate.
8935         * modules/strerror (Files): Drop unused file.
8936         (Depends-on): Drop strerror_r-posix.
8937         * MODULES.html.sh: Document strerror_r-posix.
8938         Requested by Sam Steingold.
8939
8940         perror: call strerror_r directly
8941         * modules/perror (Files): Drop strerror-impl.h.
8942         * lib/perror.c (perror): Use our own stack buffer, rather than
8943         calling a wrapper that uses static storage.
8944         * doc/posix-functions/perror.texi (perror): Document a limitation
8945         of our replacement.
8946
8947         strerror_r: fix includes for FreeBSD
8948         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
8949         since we use abort on some platforms.
8950         Reported by Matthias Bolte.
8951
8952 2011-05-31  Bruno Haible  <bruno@clisp.org>
8953
8954         Fix link errors in tests: openat-die uses gettext-h.
8955         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
8956         against $(LIBINTL).
8957         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
8958         against $(LIBINTL).
8959         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
8960         $(LIBINTL).
8961         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
8962         against $(LIBINTL).
8963         * modules/linkat-tests (Makefile.am): Link test-linkat against
8964         $(LIBINTL).
8965         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
8966         $(LIBINTL).
8967         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
8968         against $(LIBINTL).
8969         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
8970         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
8971         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
8972         $(LIBINTL).
8973         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
8974         $(LIBINTL).
8975         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
8976         $(LIBINTL).
8977         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8978
8979 2011-05-31  Bruno Haible  <bruno@clisp.org>
8980
8981         Fix link errors in tests: wait-process uses gettext-h.
8982         * modules/nonblocking-pipe-tests (Makefile.am): Set
8983         test_nonblocking_pipe_main_LDADD.
8984         * modules/nonblocking-socket-tests (Makefile.am): Link
8985         test-nonblocking-socket-main against $(LIBINTL).
8986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8987
8988 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
8989
8990         assert-h: work around 'verify' incompatibility
8991         * lib/verify.h: Use @...@ directives, not ifdef.
8992         * modules/assert-h (assert.h): Implement the directives.
8993         (assert.h): Substitute the symbol-prefix more consistently.
8994
8995 2011-05-29  Jim Meyering  <meyering@redhat.com>
8996
8997         trim: remove three superfluous assignments
8998         * lib/trim.c (trim2): Remove three superfluous assignments
8999         and correct brace positioning.
9000
9001 2011-05-29  Bruno Haible  <bruno@clisp.org>
9002
9003         wctype-h: Avoid namespace pollution on Solaris 2.6.
9004         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9005         identifiers.
9006         * doc/posix-headers/wctype.texi: Mention the problem.
9007         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9008
9009 2011-05-28  Jim Meyering  <meyering@redhat.com>
9010
9011         parse-datetime.y: accommodate -Wstrict-overflow
9012         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9013         placate -Wstrict-overflow.
9014
9015         trim: avoid a warning from -O2 -Wstrict-overflow
9016         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9017
9018 2011-05-29  Bruno Haible  <bruno@clisp.org>
9019
9020         gnulib-tool: Fix bug in yesterday's commit.
9021         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9022         twice.
9023
9024 2011-05-29  Bruno Haible  <bruno@clisp.org>
9025
9026         Allow multiple gnulib generated include files to be combined.
9027         * gnulib-tool (func_compute_include_guard_prefix): New function.
9028         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9029         ${gl_include_guard_prefix} references.
9030         (func_import, func_create_testdir): Invoke
9031         func_compute_include_guard_prefix.
9032         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9033         * lib/ctype.in.h: Likewise.
9034         * lib/dirent.in.h: Likewise.
9035         * lib/errno.in.h: Likewise.
9036         * lib/fcntl.in.h: Likewise.
9037         * lib/float.in.h: Likewise.
9038         * lib/getopt.in.h: Likewise.
9039         * lib/iconv.in.h: Likewise.
9040         * lib/langinfo.in.h: Likewise.
9041         * lib/locale.in.h: Likewise.
9042         * lib/math.in.h: Likewise.
9043         * lib/netdb.in.h: Likewise.
9044         * lib/netinet_in.in.h: Likewise.
9045         * lib/poll.in.h: Likewise.
9046         * lib/pthread.in.h: Likewise.
9047         * lib/pty.in.h: Likewise.
9048         * lib/sched.in.h: Likewise.
9049         * lib/se-selinux.in.h: Likewise.
9050         * lib/search.in.h: Likewise.
9051         * lib/signal.in.h: Likewise.
9052         * lib/spawn.in.h: Likewise.
9053         * lib/stdarg.in.h: Likewise.
9054         * lib/stddef.in.h: Likewise.
9055         * lib/stdint.in.h: Likewise.
9056         * lib/stdio.in.h: Likewise.
9057         * lib/stdlib.in.h: Likewise.
9058         * lib/string.in.h: Likewise.
9059         * lib/strings.in.h: Likewise.
9060         * lib/sys_file.in.h: Likewise.
9061         * lib/sys_ioctl.in.h: Likewise.
9062         * lib/sys_select.in.h: Likewise.
9063         * lib/sys_socket.in.h: Likewise.
9064         * lib/sys_stat.in.h: Likewise.
9065         * lib/sys_time.in.h: Likewise.
9066         * lib/sys_times.in.h: Likewise.
9067         * lib/sys_uio.in.h: Likewise.
9068         * lib/sys_utsname.in.h: Likewise.
9069         * lib/sys_wait.in.h: Likewise.
9070         * lib/sysexits.in.h: Likewise.
9071         * lib/termios.in.h: Likewise.
9072         * lib/time.in.h: Likewise.
9073         * lib/unistd.in.h: Likewise.
9074         * lib/wchar.in.h: Likewise.
9075         * lib/wctype.in.h: Likewise.
9076         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9077         * modules/ctype (Makefile.am): Likewise.
9078         * modules/dirent (Makefile.am): Likewise.
9079         * modules/errno (Makefile.am): Likewise.
9080         * modules/fcntl-h (Makefile.am): Likewise.
9081         * modules/float (Makefile.am): Likewise.
9082         * modules/getopt-posix (Makefile.am): Likewise.
9083         * modules/iconv-h (Makefile.am): Likewise.
9084         * modules/langinfo (Makefile.am): Likewise.
9085         * modules/locale (Makefile.am): Likewise.
9086         * modules/math (Makefile.am): Likewise.
9087         * modules/netdb (Makefile.am): Likewise.
9088         * modules/netinet_in (Makefile.am): Likewise.
9089         * modules/poll-h (Makefile.am): Likewise.
9090         * modules/pthread (Makefile.am): Likewise.
9091         * modules/pty (Makefile.am): Likewise.
9092         * modules/sched (Makefile.am): Likewise.
9093         * modules/search (Makefile.am): Likewise.
9094         * modules/selinux-h (Makefile.am): Likewise.
9095         * modules/signal (Makefile.am): Likewise.
9096         * modules/spawn (Makefile.am): Likewise.
9097         * modules/stdarg (Makefile.am): Likewise.
9098         * modules/stddef (Makefile.am): Likewise.
9099         * modules/stdint (Makefile.am): Likewise.
9100         * modules/stdio (Makefile.am): Likewise.
9101         * modules/stdlib (Makefile.am): Likewise.
9102         * modules/string (Makefile.am): Likewise.
9103         * modules/strings (Makefile.am): Likewise.
9104         * modules/sys_file (Makefile.am): Likewise.
9105         * modules/sys_ioctl (Makefile.am): Likewise.
9106         * modules/sys_select (Makefile.am): Likewise.
9107         * modules/sys_socket (Makefile.am): Likewise.
9108         * modules/sys_stat (Makefile.am): Likewise.
9109         * modules/sys_time (Makefile.am): Likewise.
9110         * modules/sys_times (Makefile.am): Likewise.
9111         * modules/sys_uio (Makefile.am): Likewise.
9112         * modules/sys_utsname (Makefile.am): Likewise.
9113         * modules/sys_wait (Makefile.am): Likewise.
9114         * modules/sysexits (Makefile.am): Likewise.
9115         * modules/termios (Makefile.am): Likewise.
9116         * modules/time (Makefile.am): Likewise.
9117         * modules/unistd (Makefile.am): Likewise.
9118         * modules/wchar (Makefile.am): Likewise.
9119         * modules/wctype-h (Makefile.am): Likewise.
9120         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9121
9122 2011-05-29  Bruno Haible  <bruno@clisp.org>
9123
9124         assert-h: Allow multiple gnulib generated replacements to coexist.
9125         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9126
9127 2011-05-29  Bruno Haible  <bruno@clisp.org>
9128
9129         argp: Allow coexistence with strerror_r-posix module.
9130         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9131         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9132         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9133         not the glibc signature.
9134
9135 2011-05-28  Bruno Haible  <bruno@clisp.org>
9136
9137         gnulib-tool: Alternative structure of testdirs, similar to --import.
9138         * gnulib-tool: New option --single-configure.
9139         (func_usage): Document it.
9140         (single_configure): New variable.
9141         (func_modules_transitive_closure_separately,
9142         func_modules_transitive_closure_separately,
9143         func_determine_use_libtests, func_modules_add_dummy_separately,
9144         func_modules_to_filelist_separately): New functions, extracted from
9145         func_import.
9146         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9147         (func_import): Use the new functions.
9148         (func_create_testdir): Set final_modules. Handle $single_configure =
9149         true case.
9150
9151 2011-05-28  Bruno Haible  <bruno@clisp.org>
9152
9153         getloadavg: Remove an unreliable safety check.
9154         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9155         getloadavg.c is in place.
9156         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9157         Reported by Sam Steingold <sds@gnu.org>.
9158
9159 2011-05-28  Bruno Haible  <bruno@clisp.org>
9160
9161         doc: Cleanup yet another file produced by texinfo.tex.
9162         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9163
9164 2011-05-28  Bruno Haible  <bruno@clisp.org>
9165
9166         Finish the conditional dependencies mechanism.
9167         * gnulib-tool: New option --no-conditional-dependencies.
9168         (func_usage): Document it. Don't mark --conditional-dependencies as
9169         experimental.
9170         (cond_dependencies): The possible values can now be true, false, empty.
9171         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9172         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9173         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9174
9175 2011-05-28  Bruno Haible  <bruno@clisp.org>
9176
9177         doc: Use a recent texinfo.tex.
9178         * doc/Makefile (tex_opts): New variable.
9179         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9180
9181 2011-05-28  Jim Meyering  <meyering@redhat.com>
9182
9183         intprops.h: adjust comment to match code change
9184         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9185         only once, it *may* have side effects.  Also fix an unrelated typo.
9186         (_GL_INT_SIGNED): Likewise.
9187
9188 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9189
9190         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9191
9192 2011-05-26  Bruno Haible  <bruno@clisp.org>
9193
9194         mbsrchr: Avoid collision with system function on Interix.
9195         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9196         Reported by Markus Duft <mduft@gentoo.org>.
9197
9198 2011-05-15  James Youngman  <jay@gnu.org>
9199
9200         getopt: for ambiguous options, enumerate the possibilities.
9201         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9202         the ambiguous options when an ambiguous prefix is given. This was
9203         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9204         glibc change was
9205         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9206
9207 2011-05-25  Eric Blake  <eblake@redhat.com>
9208
9209         getcwd: work around mingw bug
9210         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9211         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9212         Reported by Matthias Bolte.
9213
9214 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9215
9216         test-intprops: disable -Wtype-limits diagnostics
9217         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9218         diagnostics.  Otherwise, the integer overflow macros generate many
9219         diagnostics.  Reported by Jim Meyering in
9220         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9221
9222         intprops: shorten, to pacify gcc -Woverlength-strings
9223         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9224         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9225         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9226         likely to run afoul of C compiler limits for string constant lengths.
9227         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9228
9229 2011-05-24  Eric Blake  <eblake@redhat.com>
9230
9231         docs: document recently fixed glibc printf bug
9232         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9233         * doc/posix-functions/printf.texi (printf): Likewise.
9234         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9235         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9236
9237         closein-tests: convert to init.sh
9238         * modules/closein-tests (Files): Add init.sh
9239         * tests/test-closein.sh Use it.
9240
9241         yesno-tests: convert to init.sh
9242         * modules/yesno-tests (Files): Add init.sh.
9243         * tests/test-yesno.sh: Use it.
9244
9245         atexit-tests: ensure reliable exit status
9246         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9247         Reported by Bruno Haible.
9248
9249 2011-05-24  Bruno Haible  <bruno@clisp.org>
9250
9251         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9252         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9253         gl_PREREQ_STRERROR_R invocations from here...
9254         * modules/strerror_r-posix (configure.ac): ... to here.
9255
9256 2011-05-24  Eric Blake  <eblake@redhat.com>
9257
9258         strerror_r: fix missing header
9259         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9260
9261         strerror_r: fix AIX test failures
9262         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9263         ERANGE failure.
9264
9265         strerror_r: fix Solaris test failures
9266         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9267         failures.
9268         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9269
9270         strerror_r: enforce POSIX recommendations
9271         * lib/strerror_r.c (safe_copy): New helper method.
9272         (strerror_r): Guarantee a non-empty string.
9273         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9274         recent POSIX rulings and to match our strerror guarantees.
9275         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9276
9277 2011-05-24  Jim Meyering  <meyering@redhat.com>
9278
9279         test-perror2.c: avoid warning about unused variable
9280         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9281
9282 2011-05-24  Eric Blake  <eblake@redhat.com>
9283
9284         perror: avoid spurious test failure on HP-UX
9285         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9286
9287         tests: fix logic bug in init.sh
9288         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9289         shell.
9290
9291 2011-05-24  Jim Meyering  <meyering@redhat.com>
9292
9293         utimensat: do not reference an out-of-scope buffer
9294         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9295         declared in an inner scope, yet "times" would be dereferenced outside
9296         the scope in which "ts" was valid.
9297         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9298         of ts[2] "out/up", so that the use of aliased "times" (via
9299         "times = ts;") does not end up referencing an out-of-scope "ts"
9300
9301         opendir-safer.c: don't clobber errno; don't close negative FD
9302         * lib/opendir-safer.c (opendir_safer):
9303         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9304         file descriptor, and more importantly, don't clobber the
9305         offending errno value with EINVAL.  Before, upon failure
9306         of dup_safer, we would pass the negative file descriptor to
9307         fdopendir, which would clobber errno.
9308
9309 2011-05-23  Bruno Haible  <bruno@clisp.org>
9310
9311         idcache: Fix module description.
9312         * modules/idcache (Include): Set to "idcache.h".
9313
9314 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9315
9316         gnulib-tool: fix portability problem with MacOS sed
9317         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9318         before the "}".  Problem reported by Leo in
9319         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9320         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9321         sed_extract_condition1, sed_extract_condition2.
9322
9323 2011-05-23  Bruno Haible  <bruno@clisp.org>
9324
9325         hash: Simplify autoconf macro.
9326         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9327
9328 2011-05-23  Bruno Haible  <bruno@clisp.org>
9329
9330         getugroups: Fix module description.
9331         * modules/getugroups (Include): Set to "getugroups.h".
9332
9333 2011-05-23  Bruno Haible  <bruno@clisp.org>
9334
9335         linkat: Simplify autoconf macro.
9336         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9337
9338 2011-05-23  Bruno Haible  <bruno@clisp.org>
9339             Eric Blake  <eblake@redhat.com>
9340
9341         linkat, renameat: Update dependencies.
9342         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9343         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9344         symlinkat.
9345
9346 2011-05-23  Jim Meyering  <meyering@redhat.com>
9347
9348         maint.mk: more tight_scope improvements
9349         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9350         (_gl_TS_headers): Define only in if-0'd block.
9351         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9352         sometimes we must *not* use it.  Adjust uses accordingly.
9353         (sc_tight_scope): Use much simpler grep-based test to determine
9354         whether we skip this rule.
9355
9356         maint.mk: generalize/improve the tight-scope rule
9357         * top/maint.mk: Emit a warning when the test is skipped.
9358         (_gl_TS_dir): Add $(srcdir)/ prefix.
9359         (_gl_TS_function_match): Simplify, rather than trying
9360         to enumerate common types.  Otherwise, it would fail to match an
9361         "extern unsigned char const *" declaration in idutils.
9362         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9363         a way to support use of that type of macro.
9364         (_gl_TS_var_match): Simplify regexp.
9365         (_gl_TS_obj_files): New configurable variable.
9366         (_gl_TS_headers): Likewise.
9367
9368 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9369
9370         verify: fix bug when gnulib <assert.h> is also included
9371         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9372         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9373         Perhaps there's a better way, but this fixes the immediate problem.
9374         Problem reported by Bruno Haible in
9375         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9376
9377 2011-05-22  Bruno Haible  <bruno@clisp.org>
9378
9379         xgetcwd: Simplify autoconf macro.
9380         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9381
9382 2011-05-22  Bruno Haible  <bruno@clisp.org>
9383
9384         New module 'mktime-internal'.
9385         * modules/mktime-internal: New file.
9386         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9387         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9388         mktime_internal as a C macro if libc has __mktime_internal.
9389         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9390         conditions.
9391         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9392
9393 2011-05-22  Bruno Haible  <bruno@clisp.org>
9394
9395         timegm: Correct mktime replacement statements.
9396         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9397         defining mktime as a C macro. This completes a 2009-07-28 commit.
9398
9399 2011-05-22  Bruno Haible  <bruno@clisp.org>
9400
9401         timegm: Simplify autoconf macro.
9402         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9403
9404 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9405
9406         clock-time: change to LGPLv2+.
9407         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9408         BSD-like but we have no mark for that; this is good enough for now.
9409
9410 2011-05-21  Bruno Haible  <bruno@clisp.org>
9411
9412         strerror_r: Fix comments.
9413         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9414
9415 2011-05-21  Bruno Haible  <bruno@clisp.org>
9416
9417         relocatable-prog-wrapper: Fix possible link error.
9418         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9419         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9420         (gl_FUNC_SETENV): ... to here.
9421         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9422         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9423
9424 2011-05-21  Bruno Haible  <bruno@clisp.org>
9425
9426         relocatable-prog-wrapper: Assume strerror() exists.
9427         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9428         m4/strerror.m4.
9429         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9430         * lib/relocwrapper.c: Remove mention of strerror module.
9431         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9432         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9433         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9434         C macro.
9435
9436 2011-05-21  Bruno Haible  <bruno@clisp.org>
9437
9438         select: Simplify replacement idiom.
9439         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9440         Win32 platforms.
9441         * lib/sys_select.in.h (select): Simplify accordingly.
9442         * modules/select (Depends-on): Likewise.
9443
9444 2011-05-21  Bruno Haible  <bruno@clisp.org>
9445
9446         mkdir-p: Simplify autoconf macro.
9447         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9448         gl_FUNC_LCHOWN.
9449
9450 2011-05-21  Eric Blake  <eblake@redhat.com>
9451
9452         strerror_r: avoid clobbering strerror on cygwin
9453         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9454         fall back instead to sys_errlist.
9455         * modules/strerror (configure.ac): Add witness.
9456         * tests/test-strerror_r.c (main): Enhance test.
9457         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9458         * tests/test-perror2.c (main): Free memory before exit.
9459
9460 2011-05-21  Bruno Haible  <bruno@clisp.org>
9461
9462         mkdtemp: Use gnulib naming conventions.
9463         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9464         * modules/mkdtemp (configure.ac): Update.
9465
9466 2011-05-20  Eric Blake  <eblake@redhat.com>
9467
9468         strerror_r: avoid corrupting errno on Solaris
9469         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
9470         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9471
9472         strerror_r: avoid compiler warning
9473         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
9474
9475         strerror_r: simplify AIX code
9476         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
9477
9478         test-perror: avoid spurious failure on FreeBSD
9479         * modules/perror-tests (Depends-on): Add strerror, now that
9480         strerror_r no longer pulls it in.
9481
9482 2011-05-20  Bruno Haible  <bruno@clisp.org>
9483
9484         strerror_r-posix: Remove unused dependencies.
9485         * modules/strerror_r-posix (Depends-on): Remove strerror.
9486         Reported by Eric Blake.
9487
9488 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9489
9490         intprops: remove assumption about A|B representation
9491         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
9492         is a valid integer if both A and B are.  Although this is true for
9493         all known practical hosts, the C standard doesn't guarantee it,
9494         and the code need not assume it.  Also, this change may work around
9495         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
9496         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
9497
9498 2011-05-20  Eric Blake  <eblake@redhat.com>
9499
9500         perror: work around FreeBSD bug
9501         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
9502         is broken.  Move AC_LIBOBJ...
9503         * modules/perror (configure.ac): Here.
9504         * doc/posix-functions/perror.texi (perror): Document this.
9505         * tests/test-perror2.c (main): Enhance test.
9506
9507         test-perror: check for strerror interactions
9508         * tests/macros.h (STREQ): Add macro.
9509         * modules/perror-tests (Files): Add second test.
9510         * tests/test-perror2.c (main): New file.
9511         * doc/posix-functions/perror.texi (perror): Document glibc bug.
9512
9513         test-perror: rewrite to use init script
9514         * modules/perror-tests (Files): Add init.sh.
9515         * tests/test-perror.sh: Use temporary directory.
9516
9517 2011-05-20  Jim Meyering  <meyering@redhat.com>
9518
9519         maint: replace misused "a" with "an"
9520         * doc/intprops.texi: "a integer"
9521         * doc/regex.texi: "a explanation"
9522         * lib/alignof.h: "a object"
9523         * lib/argmatch.h: "a explanation"
9524         * lib/argp-help.c: "a option" and "a OPTION_DOC"
9525         * lib/stdint.in.h: "a integer"
9526         * lib/userspec.c: "a owner"
9527         * doc/gnulib.texi: Fix "a idea", and reword.
9528
9529 2011-05-19  Jim Meyering  <meyering@redhat.com>
9530
9531         maint: correct misuse of "a" and "an"
9532         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
9533         * lib/argp-help.c: "an docum...": s/an/a/
9534         * lib/argp-parse.c: "An vector": s/An/A/
9535         * lib/execute.c: "an native": s/an/a/
9536         * lib/spawn-pipe.c: Likewise.
9537         * lib/gc.h: "an Gc_rc": s/an/a/
9538         * lib/unigbrk.in.h: "an grapheme": s/an/a/
9539         * lib/fts.c: "an stat.st_dev": s/an/a/
9540
9541 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9542
9543         intprops-tests: work around HP-UX 11.23 cc bug with constants
9544         * tests/test-intprops.c (VERIFY): New macro.
9545         (main): Use it, instead of verify, to work around the compiler bug; see
9546         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9547
9548         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
9549         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
9550         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
9551         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
9552         (_GL_REMAINDER_OVERFLOW): Use it.
9553
9554         intprops-tests: revert unsigned part of previous change
9555         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
9556         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
9557         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
9558         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
9559
9560 2011-05-19  Bruno Haible  <bruno@clisp.org>
9561
9562         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
9563         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
9564         strerror_r() returned without filling the buffer.
9565         Reported by Eric Blake.
9566
9567 2011-05-19  Eric Blake  <eblake@redhat.com>
9568
9569         strerror_r: guarantee unchanged errno
9570         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
9571         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
9572         failure.
9573         * tests/test-strerror_r.c (main): Enhance test.
9574
9575 2011-05-19  Bruno Haible  <bruno@clisp.org>
9576
9577         strerror_r: Reorder #if blocks.
9578         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
9579         for consistency with the previous commit.
9580
9581 2011-05-19  Bruno Haible  <bruno@clisp.org>
9582
9583         perror: Avoid clobbering the strerror buffer when possible.
9584         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
9585         * lib/strerror.c: Include it.
9586         * modules/strerror (Files): Add lib/strerror-impl.h.
9587         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
9588         (my_strerror): New function, defined through lib/strerror-impl.h.
9589         (perror): Use it instead of strerror.
9590         * modules/perror (Files): Add lib/strerror-impl.h.
9591         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
9592
9593 2011-05-19  Eric Blake  <eblake@redhat.com>
9594
9595         strerror_r: fix on newer cygwin
9596         * lib/strerror_r.c (strerror_r): Cygwin now has
9597         __xpg_strerror_r, use it.
9598
9599 2011-05-19  Bruno Haible  <bruno@clisp.org>
9600
9601         strerror_r: Avoid clobbering the strerror buffer when possible.
9602         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
9603         (sys_nerr, sys_errlist): New declarations.
9604         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
9605         HP-UX, native Win32, IRIX, and 32-bit Solaris.
9606         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
9607
9608 2011-05-19  Bruno Haible  <bruno@clisp.org>
9609
9610         strerror_r: Fix test failure on mingw.
9611         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
9612         EXTEND_STRERROR_R.
9613         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
9614         macros from errno.in.h instead.
9615
9616 2011-05-19  Eric Blake  <eblake@redhat.com>
9617
9618         strerror: relax test for Solaris
9619         * tests/test-strerror.c (main): Permit Solaris behavior.
9620         * tests/test-strerror_r.c (main): Likewise.
9621
9622         strerror: enforce POSIX ruling on strerror(0)
9623         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
9624         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9625         * lib/strerror_r.c (rpl_strerror_r): Work around it.
9626         * doc/posix-functions/strerror.texi (strerror): Document it.
9627         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
9628         * tests/test-strerror.c (main): Strengthen test.
9629         * tests/test-strerror_r.c (main): Likewise.
9630
9631 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9632
9633         intprop-tests: port to older and more-pedantic compilers
9634         * modules/intprops-tests (Files): Add tests/macros.h.
9635         * tests/test-intprops.c: Include macros.h.
9636         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
9637         it's no longer documented to expand to an integer constant expression.
9638         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
9639         argument is floating point, as it's no longer documented to expand
9640         to an integer constant expression in that case.
9641         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
9642         compiler bugs reported by Bruno Haible.  See
9643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9644         (U0, U1): New constants, to work around the same bugs.  Also,
9645         in tests, use e.g., "(unsigned int) 39" rather than "39u".
9646
9647         intprops: work around C compiler bugs
9648         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
9649         bug in Sun C 5.11 2010/08/13 and other compilers; see
9650         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9651
9652         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
9653         * doc/intprops.texi (Integer Type Determination): Fix
9654         documentation for TYPE_IS_INTEGER: it returns an constant
9655         expression, not an integer constant expression.  Fix doc for
9656         TYPE_SIGNED: it returns an integer constant expression only if its
9657         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
9658         hardly worth documented that way....)
9659
9660 2011-05-18  Bruno Haible  <bruno@clisp.org>
9661
9662         strerror_r: Avoid clobbering the strerror buffer when possible.
9663         * lib/strerror_r.c (strerror_r): Merge the three implementations.
9664         Handle gnulib defined errno values here. When strerror() returns NULL
9665         or an empty string, return EINVAL.
9666         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
9667         gnulib defined errno values here.
9668         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
9669
9670 2011-05-18  Eric Blake  <eblake@redhat.com>
9671
9672         fnmatch: avoid compiler warning
9673         * lib/fnmatch_loop.c (FCT): Use correct type.
9674         Reported by Matthias Bolte.
9675
9676 2011-05-13  Jim Meyering  <meyering@redhat.com>
9677
9678         maint.mk: three new prohibit_<HDR>_without_use rules
9679         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
9680         (sc_prohibit_stdio-safer_without_use): Likewise.
9681         (sc_prohibit_xfreopen_without_use): Likewise.
9682
9683 2011-05-17  Jim Meyering  <meyering@redhat.com>
9684
9685         announce-gen: fail if the NEWS delta is empty
9686         If there's nothing noteworthy in NEWS, then either you forgot
9687         or you shouldn't be releasing.
9688         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
9689
9690 2011-05-17  Pádraig Brady <P@draigBrady.com>
9691
9692         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
9693         reserved symbols starting with double underscore from the check.
9694
9695 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
9696
9697         intprops: add doc
9698         * doc/intprops.texi: New file, documenting intprops.
9699         * doc/gnulib.texi (Particular Modules): Include it.
9700
9701         verify: add doc to gnulib manual and fix example
9702         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
9703         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
9704         (Compile-time Assertions): Fix example so it can't overflow.
9705
9706 2011-05-17  Jim Meyering  <meyering@redhat.com>
9707
9708         warnings.m4: don't usurp save_CPPFLAGS variable name
9709         * m4/warnings.m4: Prefix local temporary variable name with gl_.
9710
9711         doc: fix typo
9712         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
9713
9714 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
9715             Bruno Haible  <bruno@clisp.org>
9716
9717         doc: Tweak recent change.
9718         * README (Portability guidelines): Tweak new text.
9719         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
9720         Interix 6.1.
9721
9722 2011-05-16  Eric Blake  <eblake@redhat.com>
9723
9724         inttypes: avoid autoconf warning
9725         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
9726         * m4/stdint.m4 (gl_STDINT_H): Likewise.
9727
9728 2011-05-16  Sam Steingold <sds@gnu.org>
9729         and Eric Blake  <eblake@redhat.com>
9730
9731         vc-list-files: accept multiple directory operands
9732         * build-aux/vc-list-files: Iterate over all remaining operands.
9733
9734 2011-05-16  Bruno Haible  <bruno@clisp.org>
9735
9736         Fix confusion regarding deprecated modules.
9737         * modules/calloc (Status, Notice): Mark module as deprecated, not
9738         obsolete.
9739         * modules/fnmatch-posix (Status, Notice): Likewise.
9740         * modules/getdate (Status, Notice): Likewise.
9741         * modules/getopt (Status, Notice): Likewise.
9742         * modules/malloc (Status, Notice): Likewise.
9743         * modules/pipe (Status, Notice): Likewise.
9744         * modules/realloc (Status, Notice): Likewise.
9745         * modules/rename-dest-slash (Status, Notice): Likewise.
9746         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
9747         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
9748         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
9749         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
9750         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
9751
9752 2011-05-16  Bruno Haible  <bruno@clisp.org>
9753
9754         doc: List the target platforms.
9755         * doc/gnulib-intro.texi (Target Platforms): New section.
9756         * doc/gnulib.texi (Introduction): Update menu.
9757         * README (Portability guidelines): Refer to the new section. Update
9758         statement about oldest supported environment. Remove rationale why
9759         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
9760         unportable C89 function.
9761         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
9762         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
9763
9764 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
9765
9766         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
9767
9768 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
9769
9770         intprops-tests: new module
9771         * modules/intprops-tests, tests/test-intprops.c: New files.
9772
9773         intprops: add safe, portable integer overflow checking
9774         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
9775         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
9776         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
9777         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
9778         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
9779         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
9780         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
9781         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
9782         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
9783         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
9784         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
9785
9786 2011-05-12  James Youngman  <jay@gnu.org>
9787
9788         Add a test for glibc's Bugzilla bug #12378.
9789         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
9790         doesn't allow the literal matching of a lone "[" (which is
9791         required by POSIX).
9792         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
9793
9794 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
9795
9796         Sync glibc change fixing Bugzilla bug #12378.
9797         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
9798         beginning and fall back to matching as normal character if the
9799         string ends before the matching ']' is found.  This is what POSIX
9800         requires.
9801
9802 2011-05-13  Eric Blake  <eblake@redhat.com>
9803
9804         getcwd-lgpl: relax test for FreeBSD
9805         * doc/posix-functions/getcwd.texi (getcwd): Document portability
9806         issue.
9807         * tests/test-getcwd-lgpl.c (main): Relax test.
9808         Reported by Matthias Bolte.
9809
9810 2011-05-11  Eric Blake  <eblake@redhat.com>
9811
9812         test-fflush: silence compiler warning
9813         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
9814
9815 2011-05-11  Bruno Haible  <bruno@clisp.org>
9816
9817         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
9818         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
9819         * modules/canonicalize (Depends-on): Add 'nocrash'.
9820         * modules/canonicalize-lgpl (Depends-on): Likewise.
9821         * doc/posix-functions/realpath.texi: Update platforms list.
9822         Reported by Ryan Schmidt <ryandesign@macports.org>.
9823
9824 2011-05-11  Bruno Haible  <bruno@clisp.org>
9825
9826         group-member: Declare function in <unistd.h>.
9827         * lib/unistd.in.h (group_member): New declaration.
9828         * lib/group-member.h: Remove file.
9829         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
9830         * tests/test-unistd-c++.cc: Check signature of group_member.
9831         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
9832         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
9833         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
9834         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
9835         HAVE_GROUP_MEMBER.
9836         * modules/group-member (Files): Remove lib/group-member.h.
9837         (Depends-on): Add unistd. Specify conditions.
9838         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
9839         (Include): Change to <unistd.h>.
9840         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
9841         HAVE_GROUP_MEMBER.
9842         * NEWS: Mention the change.
9843         * lib/euidaccess.c: Don't include group-member.h.
9844
9845 2011-05-11  Bruno Haible  <bruno@clisp.org>
9846
9847         group-member: Document module.
9848         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
9849         module.
9850
9851 2011-05-11  Bruno Haible  <bruno@clisp.org>
9852
9853         fclose: Fix mistake earlier today.
9854         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
9855
9856 2011-05-11  Eric Blake  <eblake@redhat.com>
9857
9858         fclose: preserve fflush errors
9859         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
9860         Reported by Jim Meyering.
9861
9862         bootstrap: support a prereq of 'rpcgen -' on RHEL5
9863         * build-aux/bootstrap (check_versions): When no specific version
9864         is required, merely check that the app produces an exit status
9865         that indicates its existence.
9866
9867         maint.mk: drop redundant check
9868         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
9869         the same but better.
9870
9871 2011-05-11  Bruno Haible  <bruno@clisp.org>
9872
9873         fclose: Fix possible link error.
9874         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
9875         unregister_shadow_fd. Improve comments.
9876         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
9877         Eric Blake.
9878
9879 2011-05-11  Jim Meyering  <meyering@redhat.com>
9880
9881         maint.mk: improve "can not" detection and generalize rule name
9882         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
9883         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
9884         Use the same technique as in sc_prohibit_doubled_word, so that
9885         we recognize "can not" also when the words are separated by a newline.
9886         Suggested by Eric Blake.
9887         (perl_filename_lineno_text_): Define.  Factored out of...
9888         (prohibit_doubled_word_): ...here.  Use the new definition.
9889         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
9890         (prohibit_undesirable_word_seq_RE_): New overridable variable.
9891         (ignore_undesirable_word_sequence_RE_): New overridable variable.
9892
9893 2011-05-10  Eric Blake  <eblake@redhat.com>
9894
9895         fclose: avoid double close race when possible
9896         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
9897         all but WINDOWS_SOCKETS.
9898
9899 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
9900
9901         openat: correct new comment
9902         * lib/openat-proc.c (openat_proc_name): Correct the comment.
9903
9904 2011-05-10  Jim Meyering  <meyering@redhat.com>
9905
9906         openat: add comments
9907         * lib/openat-proc.c (openat_proc_name): Add comments,
9908         mostly from Eric Blake.
9909
9910 2011-05-09  Eric Blake  <eblake@redhat.com>
9911
9912         openat: reduce syscalls in first probe of /proc
9913         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
9914         be a directory.  Simplify the probe for .. bugs.
9915         * modules/openat (Depends-on): Drop same-inode.
9916         Reported by Bastien ROUCARIES.
9917
9918 2011-05-09  Jim Meyering  <meyering@redhat.com>
9919
9920         maint.mk: change semantics/name of tight_scope variables
9921         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
9922         Rename variables to align with semantics that make them more useful.
9923
9924         maint.mk: tweak new rule's name not to impinge
9925         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
9926         (sc_tight_scope): Use new rule name rather than $@-0.
9927
9928         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
9929         * top/maint.mk (sc_tight_scope): New rule.
9930         (sc_tight_scope-0): New rule, ifdef'd out.
9931         (_gl_TS_dir): Default.
9932         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
9933         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
9934
9935 2011-05-09  Simon Josefsson  <simon@josefsson.org>
9936
9937         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
9938         Haible <bruno@clisp.org>.
9939
9940 2011-05-08  Bruno Haible  <bruno@clisp.org>
9941
9942         Comments.
9943         * m4/isnanf.m4: Add comment.
9944         * m4/isnanl.m4: Likewise.
9945
9946 2011-05-08  Bruno Haible  <bruno@clisp.org>
9947
9948         glob: Remove obsolete macro.
9949         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
9950
9951 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
9952
9953         intprops: Sun C 5.11 supports __typeof__
9954         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
9955         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
9956         which is new.
9957         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
9958
9959         intprops: switch to usual gnulib indenting and naming
9960         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
9961         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
9962
9963         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
9964
9965 2011-05-08  Jim Meyering  <meyering@redhat.com>
9966
9967         maint.mk: suppress "Entering/Leaving directory" diag in announcement
9968         * top/maint.mk (release-prep): Use make's --no-print-directory
9969         option when generating the announcement.  This eliminates the
9970         pesky "make[2]: Entering/Leaving directory" diagnostics in the
9971         generated announcement template.
9972
9973 2011-05-08  Bruno Haible  <bruno@clisp.org>
9974
9975         tzset: Fix gettimeofday wrapper on Solaris 2.6.
9976         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
9977         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
9978
9979 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
9980
9981         ignore-value, verify: Omit include files from lib_SOURCES.
9982         * modules/ignore-value, modules/verify (Makefile.am):
9983         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
9984         that leads Automake to duplicate use of am__objects_... variables
9985         in Makefile.in.  See
9986         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
9987
9988 2011-05-07  Bruno Haible  <bruno@clisp.org>
9989
9990         fclose: Simplify autoconf macro.
9991         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
9992         defined.
9993
9994 2011-05-07  Bruno Haible  <bruno@clisp.org>
9995
9996         canonicalize-lgpl: Fix autoconf macro ordering bug.
9997         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
9998         gl_STDLIB_H_DEFAULTS.
9999
10000 2011-05-06  Eric Blake  <eblake@redhat.com>
10001
10002         maintainer-makefile: make sc_po_check easier to tune
10003         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10004         to probe for strings, such as an alternate location for gnulib.
10005
10006         fclose: guarantee behavior on seekable stdin
10007         * modules/fclose (Depends-on): Add fflush.
10008         * doc/posix-functions/fclose.texi (fclose): Document this.
10009         * tests/test-fclose.c (main): Make test for this unconditional.
10010
10011 2011-05-06  Bruno Haible  <bruno@clisp.org>
10012
10013         fflush, fpurge: Relicense under LGPLv2+.
10014         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10015         * modules/fpurge (License): Likewise.
10016         With permission from Eric Blake and Jim Meyering.
10017         Suggested by Eric Blake.
10018
10019 2011-05-06  Karl Berry  <karl@gnu.org>
10020
10021         * MODULES.html.sh (func_all_modules): remove exit.
10022
10023 2011-05-06  Jim Meyering  <meyering@redhat.com>
10024
10025         maint.mk: use info-gnu@ as the default only for a stable release
10026         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10027         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10028         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10029         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10030
10031 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10032
10033         assert-h: new module, which supports C1X-style static_assert
10034         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10035         * lib/verify.h: Revamp so that this can be copied into assert.h,
10036         while retaining the ability to use it standalone as before.
10037         Rename private identifiers so as not to encroach on the
10038         standard C namespace, since this is now used by assert.h.
10039         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10040         the old verify_true.
10041         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10042         the old verify_true.  Use _GL_VERIFY_TYPE.
10043         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10044         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10045         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10046         defined when this file is copied into the replacement assert.h.
10047         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10048         and _Static_assert is not built in.
10049         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10050         defined, and use the new macros mentioned above.
10051         * doc/posix-headers/assert.texi: Document this.
10052
10053 2011-05-05  Bruno Haible  <bruno@clisp.org>
10054
10055         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10056         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10057         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10058         gl_REPLACE_FCLOSE here.
10059         * modules/fflush (Depends-on): Remove fclose.
10060         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10061         combination with module 'fclose'.
10062
10063 2011-05-05  Bruno Haible  <bruno@clisp.org>
10064
10065         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10066         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10067         gl_FUNC_FFLUSH.
10068         (gl_FUNC_FFLUSH): Use it.
10069         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10070         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10071         gl_REPLACE_FSEEKO here.
10072
10073 2011-05-05  Bruno Haible  <bruno@clisp.org>
10074
10075         tzset: Relicense under LGPL.
10076         * modules/tzset (License): Change to LGPL.
10077         No agreement needed; it's a no-op.
10078
10079         strtoimax, strtoumax: Relicense under LGPL.
10080         * modules/strtoimax (License): Change to LGPL.
10081         * modules/strtoumax (License): Likewise.
10082         With permission from Jim Meyering, Paul Eggert:
10083         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10084         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10085
10086         getgroups: Relicense under LGPL.
10087         * modules/getgroups (License): Change to LGPL.
10088         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10090         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10092
10093         nanosleep: Relicense under LGPL.
10094         * modules/nanosleep (License): Change to LGPL.
10095         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10096         Haible:
10097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10098         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10099         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10100         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10101
10102         futimens: Relicense under LGPL.
10103         * modules/futimens (License): Change to LGPL.
10104         With permission from Eric Blake:
10105         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10106
10107         fflush: Relicense under LGPL.
10108         * modules/fflush (License): Change to LGPL.
10109         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10110         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10113
10114         tmpfile: Relicense under LGPL.
10115         * modules/tmpfile (License): Change to LGPL.
10116         With permission from Ben Pfaff:
10117         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10118
10119         isfinite: Relicense under LGPL.
10120         * modules/isfinite (License): Change to LGPL.
10121         With permission from Ben Pfaff, Bruno Haible:
10122         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10123         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10124
10125         acosl..tanl: Relicense under LGPL.
10126         * modules/acosl (License): Change to LGPL.
10127         * modules/asinl (License): Likewise.
10128         * modules/atanl (License): Likewise.
10129         * modules/cosl (License): Likewise.
10130         * modules/expl (License): Likewise.
10131         * modules/logl (License): Likewise.
10132         * modules/sinl (License): Likewise.
10133         * modules/sqrtl (License): Likewise.
10134         * modules/tanl (License): Likewise.
10135         Source code originally from glibc and Paolo Bonzini. Agreements:
10136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10137         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10138
10139 2011-05-05  Bruno Haible  <bruno@clisp.org>
10140
10141         signal: Define sighandler_t.
10142         * lib/signal.in.h (sighandler_t): New type.
10143         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10144         whether sighandler_t is defined.
10145         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10146         * modules/signal (Depends-on): Add extensions.
10147         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10148         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10149         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10150
10151 2011-05-05  Eric Blake  <eblake@redhat.com>
10152
10153         maint: remove useless REPLACE_*_H macros
10154         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10155         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10156         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10157         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10158         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10159         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10160         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10161         * m4/btowc.m4: Update callers.
10162         * m4/dirfd.m4: Likewise.
10163         * m4/duplocale.m4: Likewise.
10164         * m4/fchdir.m4: Likewise.
10165         * m4/fdopendir.m4: Likewise.
10166         * m4/inet_ntop.m4: Likewise.
10167         * m4/inet_pton.m4: Likewise.
10168         * m4/ioctl.m4: Likewise.
10169         * m4/mbrlen.m4: Likewise.
10170         * m4/mbrtowc.m4: Likewise.
10171         * m4/mbsinit.m4: Likewise.
10172         * m4/mbsnrtowcs.m4: Likewise.
10173         * m4/mbsrtowcs.m4: Likewise.
10174         * m4/poll.m4: Likewise.
10175         * m4/setlocale.m4: Likewise.
10176         * m4/wcrtomb.m4: Likewise.
10177         * m4/wcsnrtombs.m4: Likewise.
10178         * m4/wcsrtombs.m4: Likewise.
10179         * m4/wctob.m4: Likewise.
10180         * m4/wcwidth.m4: Likewise.
10181         * modules/posix_spawn: Likewise.
10182         * modules/posix_spawn_file_actions_addclose: Likewise.
10183         * modules/posix_spawn_file_actions_adddup2: Likewise.
10184         * modules/posix_spawn_file_actions_addopen: Likewise.
10185         * modules/posix_spawn_file_actions_destroy: Likewise.
10186         * modules/posix_spawn_file_actions_init: Likewise.
10187         * modules/posix_spawnattr_destroy: Likewise.
10188         * modules/posix_spawnattr_getflags: Likewise.
10189         * modules/posix_spawnattr_getpgroup: Likewise.
10190         * modules/posix_spawnattr_getschedparam: Likewise.
10191         * modules/posix_spawnattr_getschedpolicy: Likewise.
10192         * modules/posix_spawnattr_getsigdefault: Likewise.
10193         * modules/posix_spawnattr_getsigmask: Likewise.
10194         * modules/posix_spawnattr_init: Likewise.
10195         * modules/posix_spawnattr_setflags: Likewise.
10196         * modules/posix_spawnattr_setpgroup: Likewise.
10197         * modules/posix_spawnattr_setschedparam: Likewise.
10198         * modules/posix_spawnattr_setschedpolicy: Likewise.
10199         * modules/posix_spawnattr_setsigdefault: Likewise.
10200         * modules/posix_spawnattr_setsigmask: Likewise.
10201         * modules/posix_spawnp: Likewise.
10202
10203 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10204
10205         Add option to do-release-commit-and-tag to specify branch.
10206         * build-aux/do-release-commit-and-tag: Add --branch.
10207
10208 2011-05-03  Bruno Haible  <bruno@clisp.org>
10209
10210         Avoid unnecessary compilation units, through conditional dependencies.
10211         * modules/accept (Depends-on): Add conditions to the dependencies.
10212         * modules/acosl (Depends-on): Likewise.
10213         * modules/argz (Depends-on): Likewise.
10214         * modules/asinl (Depends-on): Likewise.
10215         * modules/atanl (Depends-on): Likewise.
10216         * modules/atoll (Depends-on): Likewise.
10217         * modules/bind (Depends-on): Likewise.
10218         * modules/btowc (Depends-on): Likewise.
10219         * modules/canonicalize-lgpl (Depends-on): Likewise.
10220         * modules/ceil (Depends-on): Likewise.
10221         * modules/ceilf (Depends-on): Likewise.
10222         * modules/ceill (Depends-on): Likewise.
10223         * modules/chdir-long (Depends-on): Likewise.
10224         * modules/chown (Depends-on): Likewise.
10225         * modules/close (Depends-on): Likewise.
10226         * modules/connect (Depends-on): Likewise.
10227         * modules/cosl (Depends-on): Likewise.
10228         * modules/dirfd (Depends-on): Likewise.
10229         * modules/dprintf (Depends-on): Likewise.
10230         * modules/dprintf-posix (Depends-on): Likewise.
10231         * modules/error (Depends-on): Likewise.
10232         * modules/euidaccess (Depends-on): Likewise.
10233         * modules/expl (Depends-on): Likewise.
10234         * modules/faccessat (Depends-on): Likewise.
10235         * modules/fchdir (Depends-on): Likewise.
10236         * modules/fclose (Depends-on): Likewise.
10237         * modules/fcntl (Depends-on): Likewise.
10238         * modules/fdopendir (Depends-on): Likewise.
10239         * modules/fflush (Depends-on): Likewise.
10240         * modules/floor (Depends-on): Likewise.
10241         * modules/floorf (Depends-on): Likewise.
10242         * modules/floorl (Depends-on): Likewise.
10243         * modules/fnmatch (Depends-on): Likewise.
10244         * modules/fopen (Depends-on): Likewise.
10245         * modules/fprintf-posix (Depends-on): Likewise.
10246         * modules/frexp (Depends-on): Likewise.
10247         * modules/frexp-nolibm (Depends-on): Likewise.
10248         * modules/frexpl (Depends-on): Likewise.
10249         * modules/frexpl-nolibm (Depends-on): Likewise.
10250         * modules/fseek (Depends-on): Likewise.
10251         * modules/fsusage (Depends-on): Likewise.
10252         * modules/ftell (Depends-on): Likewise.
10253         * modules/ftello (Depends-on): Likewise.
10254         * modules/futimens (Depends-on): Likewise.
10255         * modules/getcwd (Depends-on): Likewise.
10256         * modules/getcwd-lgpl (Depends-on): Likewise.
10257         * modules/getdelim (Depends-on): Likewise.
10258         * modules/getdomainname (Depends-on): Likewise.
10259         * modules/getgroups (Depends-on): Likewise.
10260         * modules/gethostname (Depends-on): Likewise.
10261         * modules/getline (Depends-on): Likewise.
10262         * modules/getlogin_r (Depends-on): Likewise.
10263         * modules/getopt-posix (Depends-on): Likewise.
10264         * modules/getpeername (Depends-on): Likewise.
10265         * modules/getsockname (Depends-on): Likewise.
10266         * modules/getsockopt (Depends-on): Likewise.
10267         * modules/getsubopt (Depends-on): Likewise.
10268         * modules/getusershell (Depends-on): Likewise.
10269         * modules/glob (Depends-on): Likewise.
10270         * modules/grantpt (Depends-on): Likewise.
10271         * modules/iconv_open (Depends-on): Likewise.
10272         * modules/iconv_open-utf (Depends-on): Likewise.
10273         * modules/inet_ntop (Depends-on): Likewise.
10274         * modules/inet_pton (Depends-on): Likewise.
10275         * modules/ioctl (Depends-on): Likewise.
10276         * modules/isapipe (Depends-on): Likewise.
10277         * modules/isfinite (Depends-on): Likewise.
10278         * modules/isinf (Depends-on): Likewise.
10279         * modules/lchown (Depends-on): Likewise.
10280         * modules/ldexpl (Depends-on): Likewise.
10281         * modules/link (Depends-on): Likewise.
10282         * modules/linkat (Depends-on): Likewise.
10283         * modules/listen (Depends-on): Likewise.
10284         * modules/logl (Depends-on): Likewise.
10285         * modules/lstat (Depends-on): Likewise.
10286         * modules/mbrlen (Depends-on): Likewise.
10287         * modules/mbrtowc (Depends-on): Likewise.
10288         * modules/mbsinit (Depends-on): Likewise.
10289         * modules/mbsnrtowcs (Depends-on): Likewise.
10290         * modules/mbsrtowcs (Depends-on): Likewise.
10291         * modules/mbtowc (Depends-on): Likewise.
10292         * modules/memcmp (Depends-on): Likewise.
10293         * modules/mkdir (Depends-on): Likewise.
10294         * modules/mkdtemp (Depends-on): Likewise.
10295         * modules/mkfifo (Depends-on): Likewise.
10296         * modules/mkfifoat (Depends-on): Likewise.
10297         * modules/mknod (Depends-on): Likewise.
10298         * modules/mkostemp (Depends-on): Likewise.
10299         * modules/mkostemps (Depends-on): Likewise.
10300         * modules/mkstemp (Depends-on): Likewise.
10301         * modules/mkstemps (Depends-on): Likewise.
10302         * modules/mktime (Depends-on): Likewise.
10303         * modules/nanosleep (Depends-on): Likewise.
10304         * modules/open (Depends-on): Likewise.
10305         * modules/openat (Depends-on): Likewise.
10306         * modules/perror (Depends-on): Likewise.
10307         * modules/poll (Depends-on): Likewise.
10308         * modules/popen (Depends-on): Likewise.
10309         * modules/posix_spawn (Depends-on): Likewise.
10310         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10311         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10312         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10313         * modules/posix_spawnp (Depends-on): Likewise.
10314         * modules/pread (Depends-on): Likewise.
10315         * modules/printf-posix (Depends-on): Likewise.
10316         * modules/ptsname (Depends-on): Likewise.
10317         * modules/putenv (Depends-on): Likewise.
10318         * modules/pwrite (Depends-on): Likewise.
10319         * modules/readline (Depends-on): Likewise.
10320         * modules/readlink (Depends-on): Likewise.
10321         * modules/readlinkat (Depends-on): Likewise.
10322         * modules/recv (Depends-on): Likewise.
10323         * modules/recvfrom (Depends-on): Likewise.
10324         * modules/regex (Depends-on): Likewise.
10325         * modules/remove (Depends-on): Likewise.
10326         * modules/rename (Depends-on): Likewise.
10327         * modules/renameat (Depends-on): Likewise.
10328         * modules/rmdir (Depends-on): Likewise.
10329         * modules/round (Depends-on): Likewise.
10330         * modules/roundf (Depends-on): Likewise.
10331         * modules/roundl (Depends-on): Likewise.
10332         * modules/rpmatch (Depends-on): Likewise.
10333         * modules/select (Depends-on): Likewise.
10334         * modules/send (Depends-on): Likewise.
10335         * modules/sendto (Depends-on): Likewise.
10336         * modules/setenv (Depends-on): Likewise.
10337         * modules/setlocale (Depends-on): Likewise.
10338         * modules/setsockopt (Depends-on): Likewise.
10339         * modules/shutdown (Depends-on): Likewise.
10340         * modules/sigaction (Depends-on): Likewise.
10341         * modules/signbit (Depends-on): Likewise.
10342         * modules/sigprocmask (Depends-on): Likewise.
10343         * modules/sinl (Depends-on): Likewise.
10344         * modules/sleep (Depends-on): Likewise.
10345         * modules/snprintf (Depends-on): Likewise.
10346         * modules/snprintf-posix (Depends-on): Likewise.
10347         * modules/socket (Depends-on): Likewise.
10348         * modules/sprintf-posix (Depends-on): Likewise.
10349         * modules/sqrtl (Depends-on): Likewise.
10350         * modules/stat (Depends-on): Likewise.
10351         * modules/strchrnul (Depends-on): Likewise.
10352         * modules/strdup-posix (Depends-on): Likewise.
10353         * modules/strerror (Depends-on): Likewise.
10354         * modules/strerror_r-posix (Depends-on): Likewise.
10355         * modules/strndup (Depends-on): Likewise.
10356         * modules/strnlen (Depends-on): Likewise.
10357         * modules/strptime (Depends-on): Likewise.
10358         * modules/strsep (Depends-on): Likewise.
10359         * modules/strsignal (Depends-on): Likewise.
10360         * modules/strstr-simple (Depends-on): Likewise.
10361         * modules/strtod (Depends-on): Likewise.
10362         * modules/strtoimax (Depends-on): Likewise.
10363         * modules/strtok_r (Depends-on): Likewise.
10364         * modules/strtoumax (Depends-on): Likewise.
10365         * modules/symlink (Depends-on): Likewise.
10366         * modules/symlinkat (Depends-on): Likewise.
10367         * modules/tanl (Depends-on): Likewise.
10368         * modules/tcgetsid (Depends-on): Likewise.
10369         * modules/tmpfile (Depends-on): Likewise.
10370         * modules/trunc (Depends-on): Likewise.
10371         * modules/truncf (Depends-on): Likewise.
10372         * modules/truncl (Depends-on): Likewise.
10373         * modules/uname (Depends-on): Likewise.
10374         * modules/unlink (Depends-on): Likewise.
10375         * modules/unlockpt (Depends-on): Likewise.
10376         * modules/unsetenv (Depends-on): Likewise.
10377         * modules/usleep (Depends-on): Likewise.
10378         * modules/utimensat (Depends-on): Likewise.
10379         * modules/vasprintf (Depends-on): Likewise.
10380         * modules/vdprintf (Depends-on): Likewise.
10381         * modules/vdprintf-posix (Depends-on): Likewise.
10382         * modules/vfprintf-posix (Depends-on): Likewise.
10383         * modules/vprintf-posix (Depends-on): Likewise.
10384         * modules/vsnprintf (Depends-on): Likewise.
10385         * modules/vsnprintf-posix (Depends-on): Likewise.
10386         * modules/vsprintf-posix (Depends-on): Likewise.
10387         * modules/wcrtomb (Depends-on): Likewise.
10388         * modules/wcscasecmp (Depends-on): Likewise.
10389         * modules/wcscspn (Depends-on): Likewise.
10390         * modules/wcsdup (Depends-on): Likewise.
10391         * modules/wcsncasecmp (Depends-on): Likewise.
10392         * modules/wcsnrtombs (Depends-on): Likewise.
10393         * modules/wcspbrk (Depends-on): Likewise.
10394         * modules/wcsrtombs (Depends-on): Likewise.
10395         * modules/wcsspn (Depends-on): Likewise.
10396         * modules/wcsstr (Depends-on): Likewise.
10397         * modules/wcstok (Depends-on): Likewise.
10398         * modules/wcswidth (Depends-on): Likewise.
10399         * modules/wctob (Depends-on): Likewise.
10400         * modules/wctomb (Depends-on): Likewise.
10401         * modules/wctype (Depends-on): Likewise.
10402         * modules/wcwidth (Depends-on): Likewise.
10403         * modules/write (Depends-on): Likewise.
10404
10405 2011-05-03  Bruno Haible  <bruno@clisp.org>
10406
10407         Support for conditional dependencies.
10408         * doc/gnulib.texi (Module description): Document the syntax of
10409         conditional dependencies.
10410         * gnulib-tool: New option --conditional-dependencies.
10411         (func_usage): Document it.
10412         (cond_dependencies): New variable.
10413         (func_get_automake_snippet_conditional,
10414         func_get_automake_snippet_unconditional): New functions, extracted from
10415         func_get_automake_snippet.
10416         (func_get_automake_snippet): Use them.
10417         (sed_first_32_chars): New variable.
10418         (func_module_shellfunc_name): New function.
10419         (func_module_shellvar_name): New function.
10420         (func_module_conditional_name): New function.
10421         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10422         func_cond_module_condition): New functions.
10423         (func_modules_transitive_closure): Add support for conditional
10424         dependencies.
10425         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10426         conditional automake snippet in an automake conditional.
10427         (func_emit_autoconf_snippets): Emit shell functions that contain the
10428         code for conditional modules.
10429         (func_import, func_create_testdir): Update specification.
10430
10431 2011-05-03  Eric Blake  <eblake@redhat.com>
10432
10433         test-getaddrinfo: report error information
10434         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10435
10436 2011-05-03  Jim Meyering  <meyering@redhat.com>
10437
10438         bootstrap: avoid build failure when $GZIP is set
10439         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10440         program name.  If defined at all, it is supposed to list gzip options.
10441         Reported by Alan Curry in http://debbugs.gnu.org/8609
10442
10443 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10444
10445         readme-release: new module with release instructions
10446         * modules/readme-release: New module.
10447         * top/README-release: New file, from coreutils, grep, diffutils.
10448         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10449
10450 2011-05-02  Eric Blake  <eblake@redhat.com>
10451
10452         fflush: also replace fclose when fixing fflush
10453         * modules/fflush (Depends-on): Add fclose.
10454         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10455         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10456         memstreams with no backing fd.
10457         * doc/posix-functions/fclose.texi (fclose): Document the use of
10458         fflush module to fix the bug.
10459         * tests/test-fclose.c (main): Relax test when fclose is used in
10460         isolation.
10461
10462         fclose: add some tests
10463         * modules/fclose-tests: New test module.
10464         * tests/test-fclose.c: New file.
10465         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10466
10467         fclose: reduced dependencies
10468         * modules/fclose (Depends-on): Switch from fflush/fseeko to
10469         simpler lseek.
10470         * lib/fclose.c (rpl_fclose): Likewise.
10471         Reported by Simon Josefsson.
10472
10473         exit: drop remaining clients
10474         * modules/argmatch (Depends-on): Replace exit with stdlib.
10475         * modules/copy-file (Depends-on): Likewise.
10476         * modules/execute (Depends-on): Likewise.
10477         * modules/exitfail (Depends-on): Likewise.
10478         * modules/obstack (Depends-on): Likewise.
10479         * modules/pagealign_alloc (Depends-on): Likewise.
10480         * modules/pipe-filter-gi (Depends-on): Likewise.
10481         * modules/pipe-filter-ii (Depends-on): Likewise.
10482         * modules/savewd (Depends-on): Likewise.
10483         * modules/spawn-pipe (Depends-on): Likewise.
10484         * modules/wait-process (Depends-on): Likewise.
10485         * modules/xsetenv (Depends-on): Likewise.
10486         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
10487         * modules/git-merge-changelog (Depends-on): Likewise.
10488         * modules/long-options (Depends-on): Likewise.
10489         * modules/pt_chown (Depends-on): Likewise.
10490         * modules/sysexits (Depends-on): Likewise.
10491
10492         freading: relax license from LGPLv3+ to LGPLv2+
10493         * modules/freading (License): Relax LGPL version.
10494
10495 2011-05-02  Bruno Haible  <bruno@clisp.org>
10496
10497         fchdir: Remove unused dependencies.
10498         * modules/fchdir (Depends-on): Remove include_next.
10499
10500 2011-05-02  Bruno Haible  <bruno@clisp.org>
10501
10502         gnulib-tool: Refactor.
10503         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
10504         from func_emit_autoconf_snippets.
10505         (func_emit_autoconf_snippets): Use it.
10506
10507 2011-05-02  Simon Josefsson  <simon@josefsson.org>
10508
10509         * NEWS: Document removal of 'exit'.
10510         * modules/exit: Remove file.
10511
10512 2011-05-01  Bruno Haible  <bruno@clisp.org>
10513
10514         Update DEPENDENCIES.
10515         * DEPENDENCIES (gettext): Recommend the newest release.
10516         Reported by Simon Josefsson.
10517
10518 2011-05-01  Bruno Haible  <bruno@clisp.org>
10519
10520         gnulib-tool: Reduce code duplication.
10521         * gnulib-tool (func_emit_autoconf_snippets): New function.
10522         (func_import, func_create_testdir): Use it.
10523
10524 2011-04-30  Eric Blake  <eblake@redhat.com>
10525
10526         fclose: don't fail on non-seekable input stream
10527         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
10528         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
10529         since fflush is allowed to fail in that case.
10530
10531 2011-04-30  Bruno Haible  <bruno@clisp.org>
10532
10533         dup3: cleanup
10534         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
10535
10536 2011-04-30  Bruno Haible  <bruno@clisp.org>
10537
10538         netdb: Make it work in C++ mode.
10539         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10540         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
10541         module.
10542         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
10543         gl_MODULE_INDICATOR_FOR_TESTS.
10544         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
10545         * modules/netdb-c++-tests: New file.
10546         * tests/test-netdb-c++.cc: New file.
10547
10548 2011-04-30  Bruno Haible  <bruno@clisp.org>
10549
10550         New modules 'vfscanf', 'vscanf'.
10551         * modules/vfscanf: New file.
10552         * modules/vscanf: New file.
10553         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
10554         here.
10555         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
10556         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
10557
10558 2011-04-30  Bruno Haible  <bruno@clisp.org>
10559
10560         passfd: Add comments.
10561         * lib/passfd.c: Add comments about platforms.
10562
10563 2011-04-30  Bruno Haible  <bruno@clisp.org>
10564
10565         sys_uio: Make <sys/uio.h> self-contained.
10566         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
10567         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
10568
10569 2011-04-30  Bruno Haible  <bruno@clisp.org>
10570
10571         sys_socket: Ensure 'struct iovec' definition.
10572         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
10573         <sys/socket.h>.
10574         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
10575
10576 2011-04-30  Bruno Haible  <bruno@clisp.org>
10577
10578         sys_uio: Protect definition of 'struct iovec'.
10579         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
10580         it as a C struct.
10581
10582 2011-04-30  Bruno Haible  <bruno@clisp.org>
10583
10584         manywarnings: fix indentation
10585         * m4/manywarnings.m4: Indent by 2 spaces consistently.
10586
10587 2011-04-30  Pádraig Brady <P@draigBrady.com>
10588
10589         manywarnings: add -Wno-missing-field-initializers if needed.
10590         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
10591         option if it's needed to allow initialization with { 0, }
10592
10593 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
10594
10595         announce-gen: cosmetic improvement
10596         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
10597
10598 2011-04-29  Jim Meyering  <meyering@redhat.com>
10599
10600         vc-list-files: indent with spaces, not TABs
10601         * build-aux/vc-list-files: Convert leading TABs to spaces,
10602         to match the style of most other files in gnulib.
10603
10604         announce-gen: indent with spaces, not TABs
10605         * build-aux/announce-gen: Convert all TABs to spaces, to match
10606         the style of most other files in gnulib.
10607
10608 2011-04-29  Eric Blake  <eblake@redhat.com>
10609
10610         quotearg: avoid uninitialized variable use
10611         * lib/quotearg.c (quoting_options_from_style): Initialize
10612         remaining fields, and ensure that custom styles are only used via
10613         quoting_options rather than quoting_style.
10614
10615 2011-04-29  Jim Meyering  <meyering@redhat.com>
10616
10617         maint.mk: remove unused VC-tag variable
10618         * top/maint.mk (VC-tag): Remove unused variable.
10619
10620 2011-04-29  Bruno Haible  <bruno@clisp.org>
10621
10622         netdb: fix gai_strerror replacements
10623         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
10624         * modules/netdb: Substitute it.
10625
10626 2011-04-29  Jim Meyering  <meyering@redhat.com>
10627
10628         test-getcwd.c: avoid new set-but-not-used warning
10629         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
10630         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
10631         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
10632         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
10633
10634         test-hash.c: avoid a new shadowing warning
10635         * tests/test-hash.c (main): Don't shadow "dup".
10636
10637 2011-04-28  Eric Blake  <eblake@redhat.com>
10638
10639         getaddrinfo: fix gai_strerror signature
10640         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
10641         and work around mingw with UNICODE defined.
10642         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
10643         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
10644         * modules/netdb (Makefile.am): Substitute it.
10645         * lib/netdb.in.h (gai_strerror): Declare replacement.
10646         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
10647         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
10648         the fix.
10649
10650         getsockopt: avoid compiler warning
10651         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
10652         Reported by Matthias Bolte.
10653
10654         tests: drop unused link dependency
10655         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
10656         * modules/dirent-safer-tests (Makefile.am): Likewise.
10657         * modules/fdopendir-tests (Makefile.am): Likewise.
10658         * modules/mkfifoat-tests (Makefile.am): Likewise.
10659         * modules/openat-safer-tests (Makefile.am): Likewise.
10660         * modules/openat-tests (Makefile.am): Likewise.
10661         * modules/readlinkat-tests (Makefile.am): Likewise.
10662         * modules/symlinkat-tests (Makefile.am): Likewise.
10663         * modules/linkat-tests (Makefile.am): Likewise.
10664         (Depends-on): Switch to filenamecat-lgpl.
10665         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
10666         LIBINTL.
10667         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
10668         * tests/test-linkat.c (main): Don't require xalloc.
10669
10670         hash, mgetgroups: drop xalloc dependency
10671         * lib/hash.c (includes): Adjust includes.
10672         * lib/mgetgroups.c (includes): Likewise.
10673         (xgetgroups): Move...
10674         * lib/xgetgroups.c: ...to new file.
10675         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
10676         * modules/xgetgroups: New file, split from...
10677         * modules/mgetgroups: ...here.
10678         (Depends-on): Add xalloc-oversized.
10679         * modules/hash (Depends-on): Likewise.
10680         * modules/hash-tests (Depends-on): Drop xalloc.
10681         (test_hash_LDADD): Drop unused library.
10682         * tests/test-hash.c (main): Break xalloc dependency.
10683         (includes): Drop unused include.
10684
10685         xalloc-oversized: new module
10686         * modules/xalloc-oversized: New module.
10687         * modules/xalloc (Depends-on): Add it.
10688         * lib/xalloc.h (xalloc_oversized): Move...
10689         * lib/xalloc-oversized.h: ...into new file.
10690
10691         utimecmp: drop dependency on xmalloc
10692         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
10693         due to memory pressure.
10694         * modules/utimecmp (Depends-on): Drop xalloc.
10695
10696 2011-04-27  Eric Blake  <eblake@redhat.com>
10697
10698         getcwd: fix mingw bugs
10699         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
10700         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
10701         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
10702
10703 2011-04-27  Bruno Haible  <bruno@clisp.org>
10704
10705         mkstemps: Ensure declaration on MacOS X 10.5.
10706         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
10707         * doc/glibc-functions/mkstemps.texi: Document header file problem on
10708         MacOS X.
10709
10710 2011-04-27  Bruno Haible  <bruno@clisp.org>
10711
10712         mkstemp: More documentation.
10713         * doc/posix-functions/mkstemp.texi: Document header file problem on
10714         MacOS X.
10715
10716 2011-04-27  Bruno Haible  <bruno@clisp.org>
10717
10718         mkstemp: Tweak configure message when cross-compiling.
10719         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
10720         result as a guess.
10721
10722 2011-04-27  Bruno Haible  <bruno@clisp.org>
10723
10724         clean-temp: Clarify what it does.
10725         * lib/clean-temp.h: Add more comments.
10726         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
10727         module.
10728         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
10729         * doc/glibc-functions/mkstemps.texi: Likewise.
10730         * doc/glibc-functions/mkostemps.texi: Likewise.
10731
10732 2011-04-27  Eric Blake  <eblake@redhat.com>
10733
10734         fchdir: avoid extra chdir and fix test
10735         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
10736         getcwd-lgpl.
10737         * lib/fchdir.c (get_name): Any absolute name will do; it does not
10738         have to be canonical.
10739         (canonicalize_file_name): Drop unused macro.
10740         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
10741
10742         filenamecat-lgpl: fix licence
10743         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
10744         when it was first created.
10745
10746         linkat, renameat: add missing dependency
10747         * modules/linkat (Depends-on): Require getcwd-lgpl.
10748         * modules/renameat (Depends-on): Likewise.
10749
10750         tests: reduce dependencies
10751         * tests/test-linkat.c (main): Use lighter-weight getcwd.
10752         * tests/test-renameat.c (main): Likewise.
10753         * modules/linkat-tests (Depends-on): Relax dependency.
10754         * modules/renameat-tests (Depends-on): Likewise.
10755         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
10756         dependency explicit.
10757
10758         save-cwd: reduce default dependency
10759         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
10760         * lib/save-cwd.c: Update comments.
10761         * NEWS: Document the semantic change.
10762
10763         getcwd: enhance tests
10764         * tests/test-getcwd-lgpl.c: New file, taken from...
10765         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
10766         repeat long path stress tests from m4 probe.
10767         * modules/getcwd-lgpl-tests: New module.
10768         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
10769         * m4/getcwd-abort-bug.m4: Update comment.
10770         * m4/getcwd-path-max.m4: Likewise.
10771
10772         getcwd-lgpl: new module
10773         * modules/getcwd-lgpl: New module.
10774         * lib/getcwd-lgpl.c: New file.
10775         * doc/posix-functions/getcwd.texi (getcwd): Document it.
10776         * MODULES.html.sh (lacking POSIX:2008): Likewise.
10777         * modules/getcwd (configure.ac): Set C witness.
10778         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
10779
10780         getcwd: tweak comments
10781         * m4/getcwd-abort-bug.m4: Fix comments.
10782         * m4/getcwd-path-max.m4: Likewise.
10783         * m4/getcwd.m4: Likewise.
10784
10785 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
10786         and Eric Blake  <eblake@redhat.com>
10787
10788         mkstemp: replace if system version uses wrong permissions
10789         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
10790         read/write mode bits set in file created by mkstemp.
10791         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
10792
10793 2011-04-27  Eric Blake  <eblake@redhat.com>
10794
10795         passfd: avoid compiler warning
10796         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
10797         Reported by Laine Stump.
10798
10799 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
10800
10801         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
10802         required by the NetBSD (and perhaps other 4.4BSD derived) join.
10803
10804 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
10805         and Eric Blake  <eblake@redhat.com>
10806
10807         mkstemp: mention clean-temp module
10808         * lib/mkstemp.c: Add comment.
10809         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
10810
10811 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
10812
10813         inttypes: also provide default values for 32-bit tests
10814         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
10815         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
10816
10817 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
10818
10819         strtoumax: remove dependency on strtoimax
10820         This is like the strtoull change of yesterday.
10821         * modules/strtoumax (Files): Add lib/strtoimax.c.
10822         (Depends-on): Remove strtoimax and add verify.
10823
10824         inttypes-incomplete: new module
10825         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
10826         all but the PRI* and SCN* parts of gl_INTTYPES_H.
10827         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
10828         of gl_INTTYPES_H.
10829         (gl_INTTYPES_H): Rewrite in terms of these new macros.
10830         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
10831         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
10832         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
10833         * modules/strtoumax, modules/xstrtol (Depends-on):
10834         Depend on inttypes-incomplete, not inttypes.
10835         * modules/inttypes-incomplete: New module, containing the contents
10836         of the old modules/inttypes module, except that the Files: section
10837         omits m4/inttypes-pri.m4, and the configure.ac section invokes
10838         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
10839         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
10840         (Depends-on): Depend only on inttypes-incomplete.
10841         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
10842
10843         inttypes: omit now-redundant strtoimax and strtoumax work
10844         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
10845         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
10846
10847         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
10848         This supports apps that need pointers to strtoimax and strtoumax,
10849         and ports to HP-UX 11.00 64.bit, which has macros that expand to
10850         nonexistent functions.  See
10851         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
10852         et seq.
10853         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
10854         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
10855         a macro.
10856         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
10857
10858 2011-04-25  Simon Josefsson  <simon@josefsson.org>
10859
10860         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
10861
10862 2011-04-25  Bruno Haible  <bruno@clisp.org>
10863
10864         strtol, strtoul: Mark modules as obsolete.
10865         * modules/strtol (Status, Notice): New sections.
10866         * modules/strtoul (Status, Notice): New sections.
10867
10868 2011-04-25  Bruno Haible  <bruno@clisp.org>
10869
10870         strtod: Remove check for strtod, unless supporting old platforms.
10871         * modules/strtod-obsolete: New file.
10872         * m4/strtod-obsolete.m4: New file.
10873         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
10874         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
10875         * modules/strtod (Depends-on): Add strtod-obsolete.
10876         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
10877
10878 2011-04-25  Bruno Haible  <bruno@clisp.org>
10879
10880         strcase: Make module obsolete.
10881         * modules/strcase (Status, Notice): New sections.
10882
10883 2011-04-25  Bruno Haible  <bruno@clisp.org>
10884
10885         dup2: Remove check for dup2, unless supporting old obsolete platforms.
10886         * modules/dup2-obsolete: New file.
10887         * m4/dup2-obsolete.m4: New file.
10888         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
10889         gl_FUNC_DUP2_OBSOLETE is not also defined.
10890         * modules/dup2 (Depends-on): Add dup2-obsolete.
10891         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
10892
10893 2011-04-25  Bruno Haible  <bruno@clisp.org>
10894
10895         strnlen: Avoid memchr related link error on old obsolete platforms.
10896         * modules/memchr-obsolete: New file.
10897         * m4/memchr-obsolete.m4: New file.
10898         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
10899         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
10900         * modules/memchr (Depends-on): Add memchr-obsolete.
10901         * modules/strnlen (Depends-on): Likewise.
10902         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
10903
10904 2011-04-25  Jim Meyering  <meyering@redhat.com>
10905
10906         maint.mk: makefile_at_at_check extend and clean up
10907         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
10908         in addition to */Makefile.am.
10909         Exempt legitimate uses of @VAR@ notation, e.g.,
10910         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
10911         Remove obsolete coreutils-specific comment.
10912         Prompted by discussion here:
10913         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
10914
10915 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
10916
10917         strtoul: remove dependency on strtol
10918         This is so that 'configure' need not check for strtol merely because
10919         the application needs strtoul.
10920         * modules/strtoul (Files): Add lib/strtol.c.
10921         (Depends-on): Remove strtol.
10922
10923         strtoull: remove dependency on strtoul
10924         This is like the strtoll change.
10925         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
10926         (Depends-on): Remove strtoul.
10927
10928         strtoll: remove dependency on strtol
10929         This is so that 'configure' need not check for strtol merely because
10930         the application needs strtoll.
10931         * modules/strtoll (Files): Add lib/strtol.c.
10932         (Depends-on): Remove strtol.
10933
10934 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10935
10936         inttypes: Move some configure check to module 'imaxdiv'.
10937         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
10938         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
10939         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
10940
10941 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10942
10943         inttypes: Move some configure check to module 'imaxabs'.
10944         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
10945         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
10946         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
10947
10948 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10949
10950         inttypes: Remove configure tests that are not needed since 2009-12-31.
10951         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
10952         gl_cv_header_working_inttypes_h.
10953
10954 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
10955
10956         * modules/strnlen (Depends-on): Remove memchr.
10957         The strnlen implementation doesn't need the memchr module's fixes; see
10958         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
10959
10960         strtol: remove dependency on wchar
10961         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
10962         * modules/strtol (Depends-on): Remove wchar.
10963
10964 2011-04-21  Eric Blake  <eblake@redhat.com>
10965
10966         passfd: fix test regression on Linux
10967         * modules/passfd-tests (configure.ac): Correct socketpair check.
10968
10969         passfd: speed up configure and drop unused code
10970         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
10971         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
10972         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
10973         Instead of probing at configure for unix_scm_rights_bsd44_way,
10974         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
10975         check to a struct member probe.
10976         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
10977         (sendfd, recvfd): Update preprocessor checks.
10978         * modules/passfd (Files): Reflect rename, and drop unused file.
10979         (Depends-on): Drop unused dependency.
10980
10981         passfd: allow compilation on mingw
10982         * modules/sys_socket (Depends-on): Add sys_uio.
10983         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
10984         iovec and a minimal struct msghdr.
10985         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
10986         * tests/test-sys_socket.c (main): Enhance test.
10987         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
10988         guaranteed to provide what we need.
10989         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
10990         * modules/passfd-tests (Depends-on): Add sys_wait.
10991         * tests/test-passfd.c (main): Skip test on mingw, for now.
10992         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
10993         partial 'struct msghdr' implementation.
10994
10995         sys_uio: new module
10996         * modules/sys_uio: New module.
10997         * modules/sys_uio-tests: Likewise.
10998         * lib/sys_uio.in.h: New file.
10999         * m4/sys_uio_h.m4: Likewise.
11000         * tests/test-sys_uio.c: Likewise.
11001         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11002         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11003
11004 2011-04-20  Jim Meyering  <meyering@redhat.com>
11005
11006         useless-if-before-free: avoid false-positive
11007         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11008         disjunct so that it too requires a terminating ";".  Without that,
11009         this script would identify as useless one statement from gcc that
11010         was not:
11011           if (aligned_ptr)
11012             free (((void **) aligned_ptr) [-1]);
11013
11014 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11015
11016         doc: update users.txt.
11017         * users.txt: Add barcode.
11018
11019 2011-04-19  Bruno Haible  <bruno@clisp.org>
11020
11021         ioctl: Remove link dependency on native Windows.
11022         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11023         (gl_close_fn, gl_ioctl_fn): New types.
11024         (struct fd_hook): Renamed from struct close_hook. Change type of
11025         private_close_fn field. Add private_ioctl_fn field.
11026         (close_hook_fn): Add parameter for primary close method.
11027         (execute_close_hooks, execute_all_close_hooks): Likewise.
11028         (ioctl_hook_fn): New type.
11029         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11030         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11031         argument.
11032         (unregister_fd_hook): Renamed from unregister_close_hook.
11033         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11034         Don't include <unistd.h>.
11035         (close): Remove undef.
11036         (anchor): Update.
11037         (execute_close_hooks): Add argument for primary close method.
11038         (execute_all_close_hooks): Likewise.
11039         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11040         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11041         argument. Allow each argument to be NULL.
11042         (unregister_fd_hook): Renamed from unregister_close_hook.
11043         * lib/close.c (rpl_close): Pass 'close' function pointer to
11044         execute_all_close_hooks.
11045         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11046         (primary_ioctl): New function.
11047         (ioctl): Don't call ioctlsocket here. Instead, call
11048         execute_all_ioctl_hooks.
11049         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11050         close method.
11051         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11052         (fd_sockets_hook): Renamed from close_sockets_hook.
11053         (gl_sockets_startup, gl_sockets_cleanup): Update.
11054         * modules/fd-hook: Renamed from modules/close-hook. Update.
11055         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11056         * modules/sockets (Depends-on): Likewise.
11057         * modules/ioctl (Depends-on): Add fd-hook.
11058         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11059         GNULIB_SOCKET.
11060
11061 2011-04-19  Bruno Haible  <bruno@clisp.org>
11062
11063         Move the support of O_NONBLOCK in open() to the 'open' module.
11064         * modules/nonblocking (Depends-on): Remove 'open'.
11065         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11066         gl_cv_have_open_O_NONBLOCK.
11067         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11068         O_NONBLOCK support.
11069         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11070
11071 2011-04-17  Bruno Haible  <bruno@clisp.org>
11072
11073         pipe2: Simplify code.
11074         * lib/pipe2.c (pipe2): Reduce code duplication.
11075
11076 2011-04-17  Bruno Haible  <bruno@clisp.org>
11077
11078         nonblocking: Add comment.
11079         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11080
11081 2011-04-17  Bruno Haible  <bruno@clisp.org>
11082
11083         nonblocking: Add tests for sockets.
11084         * tests/test-nonblocking-socket.sh: New file.
11085         * tests/test-nonblocking-socket-main.c: New file.
11086         * tests/test-nonblocking-socket-child.c: New file.
11087         * tests/test-nonblocking-socket.h: New file.
11088         * tests/socket-server.h: New file.
11089         * tests/socket-client.h: New file.
11090         * modules/nonblocking-socket-tests: New file.
11091         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11092
11093 2011-04-17  Bruno Haible  <bruno@clisp.org>
11094
11095         nonblocking: Add tests for pipes.
11096         * tests/test-nonblocking-pipe.sh: New file.
11097         * tests/test-nonblocking-pipe-main.c: New file.
11098         * tests/test-nonblocking-pipe-child.c: New file.
11099         * tests/test-nonblocking-pipe.h: New file.
11100         * tests/test-nonblocking-writer.h: New file.
11101         * tests/test-nonblocking-reader.h: New file.
11102         * tests/test-nonblocking-misc.h: New file.
11103         * modules/nonblocking-pipe-tests: New file.
11104         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11105
11106 2011-04-16  Bruno Haible  <bruno@clisp.org>
11107
11108         gettext: Clarify the needed programmer actions.
11109         * modules/gettext (Notice): New field.
11110         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11111
11112 2011-04-16  Bruno Haible  <bruno@clisp.org>
11113
11114         strchrnul: Tweak last commit.
11115         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11116         bug.
11117         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11118         as in _GL_FUNCDECL_SYS.
11119         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11120         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11121
11122 2011-04-15  Eric Blake  <eblake@redhat.com>
11123
11124         strchrnul: work around cygwin bug
11125         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11126         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11127         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11128         * modules/string (Makefile.am): Substitute it.
11129         * lib/string.in.h (strchrnul): Use it.
11130
11131 2011-04-15  Bruno Haible  <bruno@clisp.org>
11132
11133         Don't require lib/stdio-write.c when only module 'stdio' is used.
11134         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11135         invocation.
11136         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11137
11138 2011-04-14  Bruno Haible  <bruno@clisp.org>
11139
11140         Support non-blocking pipe I/O in read() on native Windows.
11141         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11142         (read): New declaration.
11143         * lib/read.c: New file.
11144         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11145         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11146         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11147         vscanf): New declarations.
11148         * lib/stdio-read.c: New file.
11149         * m4/read.m4: New file.
11150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11151         REPLACE_READ.
11152         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11153         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11154         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11155         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11156         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11157         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11158         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11159         * modules/read: New file.
11160         * modules/nonblocking (Files): Add lib/stdio-read.c.
11161         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11162         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11163         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11164         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11165         * modules/pread (Depends-on): Add read.
11166         * modules/safe-read (Depends-on): Likewise.
11167         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11168         gets, scanf, vfscanf, vscanf): Verify signatures.
11169         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11170         problem with non-blocking pipes.
11171         * doc/posix-functions/fgetc.texi: Likewise.
11172         * doc/posix-functions/fgets.texi: Likewise.
11173         * doc/posix-functions/fread.texi: Likewise.
11174         * doc/posix-functions/fscanf.texi: Likewise.
11175         * doc/posix-functions/getc.texi: Likewise.
11176         * doc/posix-functions/getchar.texi: Likewise.
11177         * doc/posix-functions/gets.texi: Likewise.
11178         * doc/posix-functions/scanf.texi: Likewise.
11179         * doc/posix-functions/vfscanf.texi: Likewise.
11180         * doc/posix-functions/vscanf.texi: Likewise.
11181
11182 2011-04-14  Bruno Haible  <bruno@clisp.org>
11183
11184         Support non-blocking pipe I/O in write() on native Windows.
11185         * lib/write.c (rpl_write): Split a write request that failed merely
11186         because the byte count was larger than the pipe buffer's size.
11187         * doc/posix-functions/write.texi: Mention the problem with large byte
11188         counts.
11189
11190 2011-04-14  Bruno Haible  <bruno@clisp.org>
11191
11192         wchar: Ensure that wchar_t gets defined on uClibc.
11193         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11194         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11195
11196 2011-04-13  Bruno Haible  <bruno@clisp.org>
11197
11198         safe-write, full-read: Avoid unnecessary compilation units.
11199         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11200         (Depends-on): Remove safe-read. Add ssize_t.
11201         * modules/full-read (Files): Add lib/full-write.c.
11202         (Depends-on): Add full-write.
11203
11204 2011-04-13  Bruno Haible  <bruno@clisp.org>
11205
11206         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11207         * modules/pwrite (Depends-on): Add 'write'.
11208
11209 2011-04-13  Bruno Haible  <bruno@clisp.org>
11210
11211         Support non-blocking pipe I/O in write() on native Windows.
11212         * lib/unistd.in.h (write): Enable replacement also if
11213         GNULIB_UNISTD_H_NONBLOCKING is 1.
11214         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11215         (rpl_write): When failing to write on a non-blocking pipe, change
11216         errno from ENOSPC to EAGAIN.
11217         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11218         putchar, puts, vfprintf, vprintf): Enable replacement also if
11219         GNULIB_STDIO_H_NONBLOCKING is 1.
11220         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11221         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11222         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11223         CALL_WITH_SIGPIPE_EMULATION.
11224         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11225         * m4/nonblocking.m4: New file.
11226         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11227         for non-blocking I/O support.
11228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11229         GNULIB_UNISTD_H_NONBLOCKING.
11230         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11231         required for non-blocking I/O support.
11232         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11233         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11234         lib/stdio-write.c, m4/asm-underscore.m4.
11235         (Depends-on): Add stdio, unistd.
11236         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11237         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11238         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11239         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11240         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11241         problem with non-blocking pipes.
11242         * doc/posix-functions/fputc.texi: Likewise.
11243         * doc/posix-functions/fputs.texi: Likewise.
11244         * doc/posix-functions/fwrite.texi: Likewise.
11245         * doc/posix-functions/printf.texi: Likewise.
11246         * doc/posix-functions/putc.texi: Likewise.
11247         * doc/posix-functions/putchar.texi: Likewise.
11248         * doc/posix-functions/puts.texi: Likewise.
11249         * doc/posix-functions/vfprintf.texi: Likewise.
11250         * doc/posix-functions/vprintf.texi: Likewise.
11251         * doc/posix-functions/write.texi: Likewise.
11252
11253 2011-04-10  Jim Meyering  <meyering@redhat.com>
11254
11255         maint.mk: prohibit doubled words
11256         Detect them also when they're separated by a newline.
11257         There are 3 ways to customize it:
11258           - disable the test on a per file basis, as usual with rules using
11259             $(VC_LIST_EXCEPT)
11260           - replace the default doubled-word-selecting regexp (affects all files)
11261           - ignore a particular file-vs-doubled-word match
11262         I nearly used that last one to ignore the "is is" match in
11263         coreutils' NEWS file, since the text was "ls -is is ..."
11264         To do that, I would have added this line to cfg.mk:
11265           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11266         but it would have ignored any "is is" match in NEWS.
11267         Low probability, but still...
11268         Instead, I changed the text, slightly:
11269           -  ls -is is now consistent with ls -lis in ignoring values returned
11270           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11271         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11272         (prohibit_doubled_word_): Define.
11273         (sc_prohibit_doubled_word): New rule.
11274         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11275
11276 2011-04-10  Jim Meyering  <meyering@redhat.com>
11277
11278         maint: fix doubled-word typo in comment
11279         * m4/gethostname.m4: s/is is/it is/
11280         * m4/getdomainname.m4: Likewise.
11281
11282 2011-04-10  Jim Meyering  <meyering@redhat.com>
11283
11284         maint: remove doubled word: s/it it/it/
11285         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11286
11287 2011-04-10  Jim Meyering  <meyering@redhat.com>
11288
11289         maint.mk: remove useless semicolon and backslash
11290         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11291         semicolon and backslash.
11292
11293 2011-04-10  Bruno Haible  <bruno@clisp.org>
11294
11295         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11296         * modules/stdint-tests (Depends-on): Add wchar.
11297
11298 2011-04-10  Jim Meyering  <meyering@redhat.com>
11299
11300         maint: remove doubled words in comments, e.g., s/a a/a/
11301         * lib/strptime.c (day_of_the_week): s/the the/the/
11302         * tests/test-chown.h (test_chown): s/a a/a/
11303
11304         test-chown.h: correct a cast
11305         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11306         when the destination is a stat.st_gid.
11307
11308 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11309
11310         getaddrinfo: Fix test for sa_len member.
11311         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11312         include <sys/types.h> before <sys/socket.h>.
11313
11314 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11315
11316         maint: change "can not" to "cannot"
11317         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11318         boundaries.
11319
11320 2011-04-09  Jim Meyering  <meyering@redhat.com>
11321
11322         maint: change "a a" to "a"
11323         * tests/test-lchown.h (test_lchown): s/a a/a/
11324
11325         maint.mk: prohibit \<the the\>
11326         * top/maint.mk (sc_prohibit_the_the): New rule.
11327
11328         maint: fix "the the" in comment
11329         * lib/count-one-bits.h: s/the the/the/
11330
11331         maint: change "can not" to "cannot"
11332         But do not change the occurrences in maintain.texi or in
11333         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11334         * doc/gnulib-tool.texi: s/can not/cannot/
11335         * doc/posix-functions/accept.texi (accept): Likewise.
11336         * doc/posix-functions/socket.texi (socket): Likewise.
11337         * lib/mbrtowc.c: Likewise.
11338
11339         maint.mk: prohibit use of "can not"
11340         * top/maint.mk (sc_prohibit_can_not): New rule.
11341         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11342
11343 2011-04-09  Bruno Haible  <bruno@clisp.org>
11344
11345         careadlinkat: Guard against misuse of careadlinkatcwd.
11346         * lib/careadlinkat.c: Include <stdlib.h>.
11347         (careadlinkatcwd): Check that the fd argument is as expected.
11348
11349 2011-04-09  Bruno Haible  <bruno@clisp.org>
11350
11351         careadlinkat: Use common coding style.
11352         * lib/careadlinkat.c: Move gnulib includes after system includes.
11353
11354 2011-04-09  Bruno Haible  <bruno@clisp.org>
11355
11356         careadlinkat: Clarify specification.
11357         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11358         (careadlinkatcwd): Add comment.
11359         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11360
11361 2011-04-09  Bruno Haible  <bruno@clisp.org>
11362
11363         areadlinkat: Avoid link error on many platforms.
11364         * modules/areadlinkat (Depends-on): Add areadlink.
11365
11366 2011-04-09  Bruno Haible  <bruno@clisp.org>
11367
11368         allocator, careadlinkat: Fix double-inclusion guard.
11369         * lib/allocator.h: Fix double-inclusion guard.
11370         * lib/careadlinkat.h: Likewise.
11371
11372 2011-04-09  Bruno Haible  <bruno@clisp.org>
11373
11374         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11375         * lib/relocwrapper.c: Update dependencies hierarchy.
11376         * build-aux/install-reloc: Update list of files to be compiled.
11377         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11378         lib/allocator.[hc].
11379
11380 2011-04-08  Eric Blake  <eblake@redhat.com>
11381
11382         strftime: silence gnulib-tool warning
11383         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11384
11385 2011-04-08  Bruno Haible  <bruno@clisp.org>
11386
11387         verify: Fix syntax error with GCC 4.6 in C++ mode.
11388         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11389         (HAVE_STATIC_ASSERT): New macro.
11390         (verify_true, verify): Use 'static_assert' if it is supported and
11391         '_Static_assert' is not supported.
11392
11393 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11394
11395         allocator: New module.
11396         * modules/allocator, lib/allocator.c: New files.
11397         * lib/allocator.h (stdlib_allocator): New decl.
11398         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11399         Remove.  Do not include <stdlib.h>.
11400         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11401         * modules/careadlinkat (Files): Remove lib/allocator.h.
11402         (Depends-on): Add allocator.
11403
11404         stdlib: let modules use system malloc, realloc
11405         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11406         if !_GL_USE_STDLIB_ALLOC.
11407         (malloc, realloc): Limit this change to a smaller scope.
11408
11409         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11410         (malloc, realloc): Don't #undef; no longer needed.
11411         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11412         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11413         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11414         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11415         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11416         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11417         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11418         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11419
11420         careadlinkat: rename members to avoid problem
11421         * lib/allocator.h (struct allocator): Rename members from
11422         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11423         and realloc are #define'd.  Reported by Eric Blake in
11424         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11425         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11426
11427 2011-04-08  Eric Blake  <eblake@redhat.com>
11428
11429         nonblocking: reduce dependency
11430         * tests/test-nonblocking.c: Only test sockets when in use.
11431         * modules/nonblocking-tests (Depends-on): Drop socket.
11432         (Makefile.am): Link even if sockets are not present.
11433         * modules/pipe2-tests (Makefile.am): Likewise.
11434         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11435
11436         pipe2: fix O_NONBLOCK support on mingw
11437         * modules/pipe2 (Depends-on): Add nonblocking.
11438         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11439         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11440         * tests/test-nonblocking.c (main): Likewise.
11441         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11442
11443         fcntl-h: fix O_ACCMODE on cygwin
11444         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11445         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11446
11447         pipe-filter: drop O_NONBLOCK workarounds
11448         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11449         * modules/pipe-filter-ii (Depends-on): Likewise.
11450         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11451
11452         nonblocking: provide O_NONBLOCK for mingw
11453         * modules/nonblocking (Depends-on): Add open.
11454         (configure.ac): Set new witness macro.
11455         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11456         * modules/fcntl-h (Makefile.am): Substitute it.
11457         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11458         nonblocking module is in use.
11459         * lib/nonblocking.c: Adjust portability test.
11460         * lib/open.c (open): Don't let native open see gnulib flag.
11461         * tests/test-fcntl-h.c (main): Enhance test.
11462         * tests/test-open.h (test_open): Likewise.
11463         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11464
11465         careadlinkat: fix compilation error on mingw
11466         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11467         within struct allocator.
11468
11469 2011-04-06  Eric Blake  <eblake@redhat.com>
11470
11471         binary-io: relicense under LGPLv2+
11472         * modules/binary-io (License): Relax to LGPLv2+.
11473         Requested for libvirt, and required by pipe2.
11474
11475 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
11476
11477         verify: use _Static_assert if available
11478         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
11479         (verify_true, verify): Use it if available.  This generates better
11480         diagnostics with GCC 4.6.0 and later.
11481
11482 2011-04-05  Bruno Haible  <bruno@clisp.org>
11483
11484         Remove leftover generated .h files after config.status changed.
11485
11486         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
11487         GL_GENERATE_ALLOCA_H.
11488         * modules/alloca-opt (Makefile.am): Remove alloca.h if
11489         GL_GENERATE_ALLOCA_H evaluates to false.
11490
11491         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
11492         GL_GENERATE_ARGZ_H.
11493         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
11494         evaluates to false.
11495
11496         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
11497         GL_GENERATE_BYTESWAP_H.
11498         * modules/byteswap (Makefile.am): Remove byteswap.h if
11499         GL_GENERATE_BYTESWAP_H evaluates to false.
11500
11501         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
11502         GL_GENERATE_ERRNO_H.
11503         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
11504         evaluates to false.
11505
11506         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
11507         GL_GENERATE_FLOAT_H.
11508         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
11509         evaluates to false.
11510
11511         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
11512         GL_GENERATE_FNMATCH_H.
11513         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
11514         GL_GENERATE_FNMATCH_H evaluates to false.
11515
11516         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
11517         GL_GENERATE_GLOB_H.
11518         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
11519         evaluates to false.
11520
11521         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
11522         automake conditional GL_GENERATE_ICONV_H.
11523         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
11524         evaluates to false.
11525
11526         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
11527         GL_GENERATE_NETINET_IN_H.
11528         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
11529         GL_GENERATE_NETINET_IN_H evaluates to false.
11530
11531         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
11532         conditional GL_GENERATE_PTHREAD_H.
11533         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
11534         * modules/pthread (Makefile.am): Remove pthread.h if
11535         GL_GENERATE_PTHREAD_H evaluates to false.
11536
11537         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
11538         GL_GENERATE_SCHED_H.
11539         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
11540         evaluates to false.
11541
11542         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
11543         conditional GL_GENERATE_SELINUX_CONTEXT_H.
11544         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
11545         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
11546
11547         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
11548         GL_GENERATE_STDARG_H.
11549         * modules/stdarg (Makefile.am): Remove stdarg.h if
11550         GL_GENERATE_STDARG_H evaluates to false.
11551
11552         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
11553         GL_GENERATE_STDBOOL_H.
11554         * modules/stdbool (Makefile.am): Remove stdbool.h if
11555         GL_GENERATE_STDBOOL_H evaluates to false.
11556
11557         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
11558         conditional GL_GENERATE_STDDEF_H.
11559         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
11560         * modules/stddef (Makefile.am): Remove stddef.h if
11561         GL_GENERATE_STDDEF_H evaluates to false.
11562
11563         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
11564         GL_GENERATE_STDINT_H.
11565         * modules/stdint (Makefile.am): Remove stdint.h if
11566         GL_GENERATE_STDINT_H evaluates to false.
11567
11568         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
11569         GL_GENERATE_SYSEXITS_H.
11570         * modules/sysexits (Makefile.am): Remove sysexits.h if
11571         GL_GENERATE_SYSEXITS_H evaluates to false.
11572
11573         Reported by Karl Berry and Ralf Wildenhues.
11574
11575 2011-04-05  Bruno Haible  <bruno@clisp.org>
11576
11577         Ensure to rebuild generated .h files when config.status has changed.
11578         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
11579         config.status.
11580         * modules/ctype (Makefile.am): Likewise.
11581         * modules/dirent (Makefile.am): Likewise.
11582         * modules/errno (Makefile.am): Likewise.
11583         * modules/fcntl-h (Makefile.am): Likewise.
11584         * modules/float (Makefile.am): Likewise.
11585         * modules/getopt-posix (Makefile.am): Likewise.
11586         * modules/glob (Makefile.am): Likewise.
11587         * modules/iconv-h (Makefile.am): Likewise.
11588         * modules/inttypes (Makefile.am): Likewise.
11589         * modules/langinfo (Makefile.am): Likewise.
11590         * modules/locale (Makefile.am): Likewise.
11591         * modules/math (Makefile.am): Likewise.
11592         * modules/netdb (Makefile.am): Likewise.
11593         * modules/netinet_in (Makefile.am): Likewise.
11594         * modules/poll-h (Makefile.am): Likewise.
11595         * modules/pthread (Makefile.am): Likewise.
11596         * modules/pty (Makefile.am): Likewise.
11597         * modules/sched (Makefile.am): Likewise.
11598         * modules/search (Makefile.am): Likewise.
11599         * modules/selinux-h (Makefile.am): Likewise.
11600         * modules/signal (Makefile.am): Likewise.
11601         * modules/spawn (Makefile.am): Likewise.
11602         * modules/stdarg (Makefile.am): Likewise.
11603         * modules/stdbool (Makefile.am): Likewise.
11604         * modules/stddef (Makefile.am): Likewise.
11605         * modules/stdint (Makefile.am): Likewise.
11606         * modules/stdio (Makefile.am): Likewise.
11607         * modules/stdlib (Makefile.am): Likewise.
11608         * modules/string (Makefile.am): Likewise.
11609         * modules/strings (Makefile.am): Likewise.
11610         * modules/sys_file (Makefile.am): Likewise.
11611         * modules/sys_ioctl (Makefile.am): Likewise.
11612         * modules/sys_select (Makefile.am): Likewise.
11613         * modules/sys_socket (Makefile.am): Likewise.
11614         * modules/sys_stat (Makefile.am): Likewise.
11615         * modules/sys_time (Makefile.am): Likewise.
11616         * modules/sys_times (Makefile.am): Likewise.
11617         * modules/sys_utsname (Makefile.am): Likewise.
11618         * modules/sys_wait (Makefile.am): Likewise.
11619         * modules/sysexits (Makefile.am): Likewise.
11620         * modules/termios (Makefile.am): Likewise.
11621         * modules/time (Makefile.am): Likewise.
11622         * modules/unistd (Makefile.am): Likewise.
11623         * modules/wchar (Makefile.am): Likewise.
11624         * modules/wctype-h (Makefile.am): Likewise.
11625         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
11626
11627 2011-04-05  Bruno Haible  <bruno@clisp.org>
11628
11629         pipe2: Relicense under LGPLv2+.
11630         * modules/pipe2 (License): Change to LGPLv2+.
11631         Requested by Eric Blake, for libvirt.
11632
11633 2011-04-05  Bruce Korb  <bkorb@gnu.org>
11634
11635         bootstrap: compute gnulib_extra_files after updating build_aux
11636         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
11637         change build_aux or also supply gnulib_extra_files.  Handle correctly.
11638
11639 2011-04-05  Eric Blake  <eblake@redhat.com>
11640
11641         bootstrap: preserve git whitelist item sorting
11642         * build-aux/bootstrap (sort_patterns): New function.
11643         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
11644
11645 2011-04-05  Simon Josefsson  <simon@josefsson.org>
11646
11647         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
11648         sc_space_tab check.
11649
11650 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
11651
11652         areadlink, areadlinkat: rewrite in terms of careadlinkat
11653         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
11654         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
11655         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
11656         (malloc, realloc): Remove #undefs.
11657         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
11658         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
11659         readlink, ssize_t, stdint, unistd.
11660         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
11661         areadlink, stdint.
11662
11663         careadlinkat: new module
11664         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
11665         * modules/careadlinkat: New files, written by me with
11666         a review and feedback from Ben Pfaff in
11667         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
11668
11669 2011-04-01  Bruno Haible  <bruno@clisp.org>
11670
11671         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
11672         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
11673         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
11674         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
11675         Reported by Bruce Korb <bruce.korb@gmail.com>.
11676
11677 2011-04-01  Bruno Haible  <bruno@clisp.org>
11678
11679         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
11680         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
11681         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
11682         * modules/wcpcpy (Depends-on): Add extensions.
11683         * modules/wcpncpy (Depends-on): Likewise.
11684         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
11685         systems.
11686         * doc/posix-functions/wcpncpy.texi: Likewise.
11687         * doc/posix-functions/wcwidth.texi: Likewise.
11688
11689 2011-03-31  Eric Blake  <eblake@redhat.com>
11690
11691         nonblocking: fix mingw test failures
11692         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
11693         non-blocking flag on regular file.
11694         (get_nonblocking_flag): Set errno on invalid fd.
11695         * tests/test-nonblocking.c (main): Avoid test failure on
11696         directories if fchdir is not active.
11697         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
11698
11699 2011-03-31  Bruno Haible  <bruno@clisp.org>
11700
11701         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
11702         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
11703         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
11704         Reported by Simon Josefsson <simon@josefsson.org>.
11705
11706 2011-03-31  Bruno Haible  <bruno@clisp.org>
11707         and Eric Blake  <eblake@redhat.com>
11708
11709         nonblocking: new module
11710         * modules/nonblocking: New module.
11711         * modules/nonblocking-tests: Likewise.
11712         * lib/nonblocking.h: New file.
11713         * lib/nonblocking.c: Likewise.
11714         * tests/test-nonblocking.c: New test.
11715         * lib/ioctl.c (ioctl) [mingw]: Update comment.
11716
11717 2011-03-30  Bruno Haible  <bruno@clisp.org>
11718
11719         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
11720         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
11721         instead of 'printf' format for GCC >= 4.4.
11722         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
11723         (fprintf, printf, vfprintf, vprintf): Declare with
11724         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
11725         the system's vfprintf() function.
11726         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
11727
11728 2011-03-30  Eric Blake  <eblake@redhat.com>
11729
11730         passfd: fix scoping bug
11731         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
11732         before sendmsg/recvmsg.
11733
11734         passfd: standardize coding conventions
11735         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
11736         can be learned at compile time.
11737         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
11738         ifdefs.
11739         (sendfd, recvfd): Follow gnulib code conventions.
11740
11741         passfd: fix incorrect sendmsg arguments
11742         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
11743         incorrect msg_controllen value.
11744         * modules/passfd-tests (Depends-on): Check for alarm.
11745         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
11746         Reported by Bastien ROUCARIES.
11747
11748 2011-03-30  Bruno Haible  <bruno@clisp.org>
11749
11750         c-strcasestr: Relicense under LGPLv2+.
11751         * modules/c-strcasestr (License): Change to LGPLv2+.
11752         Requested by Eric Blake, for libvirt.
11753
11754 2011-03-30  Simon Josefsson  <simon@josefsson.org>
11755
11756         * users.txt: Add libidn2.  Fix libtasn1 link.
11757
11758 2011-03-30  Jim Meyering  <meyering@redhat.com>
11759
11760         tests: readlink* ("",... fails with EINVAL on newer kernels
11761         readlink and readlinkat have typically failed with ENOENT for
11762         the invalid, empty file name,  "".  However, with the advent
11763         of linux-2.6.39, they fail with EINVAL.
11764         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
11765         when operating on the empty file name.
11766         * tests/test-readlink.h (test_readlink): Likewise.
11767
11768 2011-03-29  Bruno Haible  <bruno@clisp.org>
11769
11770         Relicense some modules under LGPLv2+, for libidn2.
11771         * modules/array-mergesort (License): Change to LGPLv2+.
11772         * modules/c-strcaseeq (License): Likewise.
11773         * modules/striconveh (License): Likewise.
11774         * modules/striconveha (License): Likewise.
11775         * modules/uniconv/base (License): Likewise.
11776         * modules/uniconv/u8-conv-from-enc (License): Likewise.
11777         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
11778         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
11779         * modules/unictype/base (License): Likewise.
11780         * modules/unictype/bidiclass-of (License): Likewise.
11781         * modules/unictype/category-M (License): Likewise.
11782         * modules/unictype/category-none (License): Likewise.
11783         * modules/unictype/category-of (License): Likewise.
11784         * modules/unictype/category-test (License): Likewise.
11785         * modules/unictype/category-test-withtable (License): Likewise.
11786         * modules/unictype/combining-class (License): Likewise.
11787         * modules/unictype/joiningtype-of (License): Likewise.
11788         * modules/unictype/scripts (License): Likewise.
11789         * modules/uninorm/base (License): Likewise.
11790         * modules/uninorm/canonical-decomposition (License): Likewise.
11791         * modules/uninorm/composition (License): Likewise.
11792         * modules/uninorm/decompose-internal (License): Likewise.
11793         * modules/uninorm/decomposition-table (License): Likewise.
11794         * modules/uninorm/nfc (License): Likewise.
11795         * modules/uninorm/nfd (License): Likewise.
11796         * modules/uninorm/u32-normalize (License): Likewise.
11797         * modules/unistr/base (License): Likewise.
11798         * modules/unistr/u32-cpy (License): Likewise.
11799         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
11800         * modules/unistr/u32-to-u8 (License): Likewise.
11801         * modules/unistr/u32-uctomb (License): Likewise.
11802         * modules/unistr/u8-check (License): Likewise.
11803         * modules/unistr/u8-mblen (License): Likewise.
11804         * modules/unistr/u8-mbtouc (License): Likewise.
11805         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
11806         * modules/unistr/u8-mbtoucr (License): Likewise.
11807         * modules/unistr/u8-prev (License): Likewise.
11808         * modules/unistr/u8-strlen (License): Likewise.
11809         * modules/unistr/u8-to-u32 (License): Likewise.
11810         * modules/unistr/u8-uctomb (License): Likewise.
11811         * modules/unitypes (License): Likewise.
11812         Requested by Simon Josefsson.
11813
11814 2011-03-29  Simon Josefsson  <simon@josefsson.org>
11815
11816         lib-symbol-visibility: Add a notice.
11817         * modules/lib-symbol-visibility (Notice): New field.
11818
11819 2011-03-29  Bruno Haible  <bruno@clisp.org>
11820
11821         getaddrinfo: Doc fix.
11822         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
11823         section "fixed in Gnulib".
11824
11825 2011-03-28  Simon Josefsson  <simon@josefsson.org>
11826
11827         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
11828         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
11829
11830 2011-03-26  Bruno Haible  <bruno@clisp.org>
11831
11832         unictype/property-byname: Reduce the number of load-time relocations.
11833         * lib/unictype/pr_byname.c: Include <stdlib.h>.
11834         (UC_PROPERTY_INDEX_*): New enumeration values.
11835         (uc_property_byname): Convert an index from the lookup table to an
11836         uc_property_t.
11837         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
11838         values.
11839
11840 2011-03-26  Bruno Haible  <bruno@clisp.org>
11841
11842         unictype/property-byname: Allow omitted word separators and aliases.
11843         * lib/unictype/pr_byname.gperf: Add property names without word
11844         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
11845         for 'space'.
11846
11847 2011-03-26  Bruno Haible  <bruno@clisp.org>
11848
11849         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
11850         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
11851         also hyphens to space.
11852         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
11853         without spaces.
11854         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
11855
11856 2011-03-26  Bruno Haible  <bruno@clisp.org>
11857
11858         unictype/joiningtype-byname: Recognize long names as well.
11859         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
11860         a long name.
11861         * lib/unictype/joiningtype_byname.c: Include <string.h>,
11862         unictype/joiningtype_byname.h.
11863         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
11864         * lib/unictype/joiningtype_byname.gperf: New file.
11865         * modules/unictype/joiningtype-byname (Files): Add
11866         lib/unictype/joiningtype_byname.gperf.
11867         (Depends-on): Add gperf.
11868         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
11869         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
11870         long names.
11871
11872         Tests for module 'unictype/joiningtype-longname'.
11873         * modules/unictype/joiningtype-longname-tests: New file.
11874         * tests/unictype/test-joiningtype_longname.c: New file.
11875
11876         New module 'unictype/joiningtype-longname'.
11877         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
11878         * lib/unictype/joiningtype_longname.c: New file.
11879         * modules/unictype/joiningtype-longname: New file.
11880         * modules/unictype/joiningtype-all (Depends-on): Add
11881         unictype/joiningtype-longname.
11882
11883 2011-03-26  Bruno Haible  <bruno@clisp.org>
11884
11885         unictype/bidiclass-byname: Recognize long names as well.
11886         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
11887         name.
11888         * lib/unictype/bidi_byname.c: Include <string.h>,
11889         unictype/bidi_byname.h.
11890         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
11891         * lib/unictype/bidi_byname.gperf: New file.
11892         * modules/unictype/bidiclass-byname (Files): Add
11893         lib/unictype/bidi_byname.gperf.
11894         (Depends-on): Add gperf.
11895         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
11896         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
11897         long names.
11898
11899         Tests for module 'unictype/bidiclass-longname'.
11900         * modules/unictype/bidiclass-longname-tests: New file.
11901         * tests/unictype/test-bidi_longname.c: New file.
11902
11903         New module 'unictype/bidiclass-longname'.
11904         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
11905         * lib/unictype/bidi_longname.c: New file.
11906         * modules/unictype/bidiclass-longname: New file.
11907         * modules/unictype/bidiclass-all (Depends-on): Add
11908         unictype/bidiclass-longname.
11909
11910 2011-03-26  Bruno Haible  <bruno@clisp.org>
11911
11912         unictype/bidi*: Rename modules.
11913         * modules/unictype/bidiclass-all: Renamed from
11914         modules/unictype/bidicategory-all.
11915         * modules/unictype/bidiclass-name: Renamed from
11916         modules/unictype/bidiclass-name.
11917         (Description): Update.
11918         * modules/unictype/bidiclass-name-tests: Renamed from
11919         modules/unictype/bidicategory-name-tests.
11920         * modules/unictype/bidiclass-byname: Renamed from
11921         modules/unictype/bidicategory-byname.
11922         (Description): Update.
11923         * modules/unictype/bidiclass-byname-tests: Renamed from
11924         modules/unictype/bidicategory-byname-tests.
11925         * modules/unictype/bidiclass-of: Renamed from
11926         modules/unictype/bidicategory-of.
11927         (Description): Update.
11928         * modules/unictype/bidiclass-of-tests: Renamed from
11929         modules/unictype/bidicategory-of-tests.
11930         * modules/unictype/bidiclass-test: Renamed from
11931         modules/unictype/bidicategory-test.
11932         (Description): Update.
11933         * modules/unictype/bidiclass-test-tests: Renamed from
11934         modules/unictype/bidicategory-test-tests.
11935         * modules/unictype/bidicategory-all: New file, a simple redirection.
11936         * modules/unictype/bidicategory-name: Likewise.
11937         * modules/unictype/bidicategory-byname: Likewise.
11938         * modules/unictype/bidicategory-of: Likewise.
11939         * modules/unictype/bidicategory-test: Likewise.
11940         * modules/unictype/property-bidi-* (Dependencies): Update.
11941         * lib/unictype/bidi_*.c: Update comment.
11942
11943 2011-03-26  Bruno Haible  <bruno@clisp.org>
11944
11945         unictype/bidi*: Rename functions, part 2.
11946         * modules/unictype/bidicategory-name (configure.ac): Update required
11947         libunistring version.
11948         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
11949
11950 2011-03-25  Bruno Haible  <bruno@clisp.org>
11951
11952         New module 'unictype/combining-class-all'.
11953         * modules/unictype/combining-class-all: New file.
11954
11955         Tests for module 'unictype/combining-class-byname'.
11956         * modules/unictype/combining-class-byname-tests: New file.
11957         * tests/unictype/test-combiningclass_byname.c: New file.
11958
11959         New module 'unictype/combining-class-byname'.
11960         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
11961         * lib/unictype/combiningclass_byname.c: New file.
11962         * lib/unictype/combiningclass_byname.gperf: New file.
11963         * modules/unictype/combining-class-byname: New file.
11964
11965         Tests for module 'unictype/combining-class-longname'.
11966         * modules/unictype/combining-class-longname-tests: New file.
11967         * tests/unictype/test-combiningclass_longname.c: New file.
11968
11969         New module 'unictype/combining-class-longname'.
11970         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
11971         * lib/unictype/combiningclass_longname.c: New file.
11972         * modules/unictype/combining-class-longname: New file.
11973
11974         Tests for module 'unictype/combining-class-name'.
11975         * modules/unictype/combining-class-name-tests: New file.
11976         * tests/unictype/test-combiningclass_name.c: New file.
11977
11978         New module 'unictype/combining-class-name'.
11979         * lib/unictype.in.h (uc_combining_class_name): New declaration.
11980         * lib/unictype/combiningclass_name.c: New file.
11981         * modules/unictype/combining-class-name: New file.
11982
11983 2011-03-25  Bruno Haible  <bruno@clisp.org>
11984
11985         unictype/combining-class: Rename source files.
11986         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
11987         of unictype/combining.h.
11988         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
11989         Update.
11990         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
11991         * modules/unictype/combining-class (Description): Fix.
11992         (Files, Makefile.am): Update.
11993         * tests/unictype/test-combiningclass.c: Renamed from
11994         tests/unictype/test-combining.c.
11995         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
11996
11997 2011-03-25  Bruno Haible  <bruno@clisp.org>
11998
11999         unictype: Update list of canonical combining classes.
12000         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12001
12002 2011-03-25  Bruno Haible  <bruno@clisp.org>
12003
12004         unictype/category-byname: Recognize long names as well.
12005         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12006         a long name.
12007         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12008         unictype/categ_byname.h.
12009         (UC_CATEGORY_INDEX_*): New enumeration values.
12010         (uc_general_category_byname): Use uc_general_category_lookup and
12011         convert from index to value.
12012         * lib/unictype/categ_byname.gperf: New file.
12013         * modules/unictype/category-byname (Files): Add
12014         lib/unictype/categ_byname.gperf.
12015         (Depends-on): Add gperf.
12016         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12017         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12018         long names.
12019
12020         Tests for module 'unictype/category-longname'.
12021         * modules/unictype/category-longname-tests: New file.
12022         * tests/unictype/test-categ_longname.c: New file.
12023
12024         New module 'unictype/category-longname'.
12025         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12026         * lib/unictype/categ_longname.c: New file.
12027         * modules/unictype/category-longname: New file.
12028         * modules/unictype/category-all (Depends-on): Add it.
12029
12030 2011-03-25  Bruno Haible  <bruno@clisp.org>
12031
12032         Tests for module 'unictype/category-LC'.
12033         * modules/unictype/category-LC-tests: New file.
12034         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12035
12036         New module 'unictype/category-LC'.
12037         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12038         (UC_CATEGORY_LC): New declaration.
12039         (UC_CASED_LETTER): New macro.
12040         * lib/gen-uni-tables.c (is_category_LC): New function.
12041         (output_categories): Also handle category LC.
12042         (UC_CATEGORY_MASK_LC): New enumeration value.
12043         (general_category_byname): Also handle category LC.
12044         * lib/unictype/categ_LC.c: New file.
12045         * lib/unictype/categ_LC.h: New file, automatically generated.
12046         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12047         category LC.
12048         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12049         * modules/unictype/category-LC: New file.
12050         * modules/unictype/category-byname (Depends-on): Add
12051         unictype/category-LC.
12052         * modules/unictype/category-all (Depends-on): Likewise.
12053
12054 2011-03-25  Eric Blake  <eblake@redhat.com>
12055
12056         xmalloc: revert yesterday's regression
12057         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12058         realloc's underlying behavior (allowing allocation of zero-size
12059         objects, especially if malloc-gnu is also in use).
12060
12061 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12062
12063         maint.mk: add missing version to VC-tag
12064         * top/maint.mk: git tag was missing actual tag name; add it.
12065
12066         valgrind: do leak checking, and exit with code 1 on error (not 0)
12067         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12068         to VALGRIND.
12069
12070 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12071
12072         posix-modules: say what it does.
12073         * posix-modules: Add a line to the --help output saying what it does.
12074
12075 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12076
12077         xmalloc: Do not leak if underlying realloc is C99 compatible.
12078         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12079         This avoids a leak on C99-based systems.  See
12080         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12081
12082 2011-03-24  Eric Blake  <eblake@redhat.com>
12083
12084         realloc: document portability problem
12085         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12086         passing 0 size to realloc.
12087
12088 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12089
12090         doc: update users.txt
12091         * users.txt: Add cvsps, tmpwatch
12092
12093 2011-03-23  Matt Rice  <ratmice@gmail.com>
12094
12095         doc: update users.txt
12096         * users.txt: Add gdb.
12097
12098 2011-03-23  Jim Meyering  <meyering@redhat.com>
12099
12100         doc: update users.txt
12101         Looking through matches up to the following URL (there are still
12102         several more pages), I found several projects that use gnulib:
12103         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12104         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12105         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12106
12107 2011-03-22  Bruno Haible  <bruno@clisp.org>
12108
12109         unictype/bidi*: Rename functions.
12110         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12111         uc_bidi_class, uc_is_bidi_class): New declarations.
12112         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12113         uc_bidi_category_byname.
12114         (uc_bidi_category_byname): New function.
12115         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12116         u_bidi_category_name.
12117         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12118         (uc_bidi_category_name): New function.
12119         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12120         uc_bidi_category.
12121         (uc_bidi_category): New function.
12122         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12123         uc_is_bidi_category. Invoke uc_bidi_class.
12124         (uc_is_bidi_category): New function.
12125         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12126         instead of uc_bidi_category_byname.
12127         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12128         instead of uc_bidi_category_name.
12129         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12130         uc_bidi_category.
12131         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12132         instead of uc_is_bidi_category.
12133
12134 2011-03-21  Bruno Haible  <bruno@clisp.org>
12135
12136         New module 'unictype/joininggroup-all'.
12137         * modules/unictype/joininggroup-all: New file.
12138
12139         Tests for module 'unictype/joininggroup-of'.
12140         * modules/unictype/joininggroup-of-tests: New file.
12141         * tests/unictype/test-joininggroup_of.c: New file.
12142         * tests/unictype/test-joininggroup_of.h: New file, automatically
12143         generated by gen-uni-tables.
12144
12145         New module 'unictype/joininggroup-of'.
12146         * modules/unictype/joininggroup-of: New file.
12147         * lib/unictype/joininggroup_of.c: New file.
12148         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12149         gen-uni-tables.
12150
12151         Tests for module 'unictype/joininggroup-byname'.
12152         * modules/unictype/joininggroup-byname-tests: New file.
12153         * tests/unictype/test-joininggroup_byname.c: New file.
12154
12155         New module 'unictype/joininggroup-byname'.
12156         * modules/unictype/joininggroup-byname: New file.
12157         * lib/unictype/joininggroup_byname.c: New file.
12158         * lib/unictype/joininggroup_byname.gperf: New file.
12159
12160         Tests for module 'unictype/joininggroup-name'.
12161         * modules/unictype/joininggroup-name-tests: New file.
12162         * tests/unictype/test-joininggroup_name.c: New file.
12163
12164         New module 'unictype/joininggroup-name'.
12165         * modules/unictype/joininggroup-name: New file.
12166         * lib/unictype/joininggroup_name.c: New file.
12167         * lib/unictype/joininggroup_name.h: New file.
12168
12169         New module 'unictype/joiningtype-all'.
12170         * modules/unictype/joiningtype-all: New file.
12171
12172         Tests for module 'unictype/joiningtype-of'.
12173         * modules/unictype/joiningtype-of-tests: New file.
12174         * tests/unictype/test-joiningtype_of.c: New file.
12175         * tests/unictype/test-joiningtype_of.h: New file, automatically
12176         generated by gen-uni-tables.
12177
12178         New module 'unictype/joiningtype-of'.
12179         * modules/unictype/joiningtype-of: New file.
12180         * lib/unictype/joiningtype_of.c: New file.
12181         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12182         gen-uni-tables.
12183
12184         Tests for module 'unictype/joiningtype-byname'.
12185         * modules/unictype/joiningtype-byname-tests: New file.
12186         * tests/unictype/test-joiningtype_byname.c: New file.
12187
12188         New module 'unictype/joiningtype-byname'.
12189         * modules/unictype/joiningtype-byname: New file.
12190         * lib/unictype/joiningtype_byname.c: New file.
12191
12192         Tests for module 'unictype/joiningtype-name'.
12193         * modules/unictype/joiningtype-name-tests: New file.
12194         * tests/unictype/test-joiningtype_name.c: New file.
12195
12196         New module 'unictype/joiningtype-name'.
12197         * modules/unictype/joiningtype-name: New file.
12198         * lib/unictype/joiningtype_name.c: New file.
12199
12200         unictype: Add support for Arabic shaping properties.
12201         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12202         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12203         declarations.
12204         (UC_JOINING_GROUP_*): New enumeration values.
12205         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12206         declarations.
12207         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12208         (unicode_joining_type): New variable.
12209         (UC_JOINING_GROUP_*): New enumeration values.
12210         (unicode_joining_group): New variable.
12211         (fill_arabicshaping, joining_type_as_c_identifier,
12212         output_joining_type_test, output_joining_type,
12213         joining_group_as_c_identifier, output_joining_group_test,
12214         output_joining_group): New functions.
12215         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12216         fill_arabicshaping and output_joining_type_test, output_joining_type,
12217         output_joining_group_test, output_joining_group.
12218         Reported by Simon Josefsson.
12219
12220 2011-03-21  Jim Meyering  <meyering@redhat.com>
12221
12222         strftime: fix a bug in yesterday's change
12223         * lib/strftime.c (add): Accommodate width's initial value of -1.
12224         Otherwise, nstrftime would copy uninitialized data into
12225         the result buffer.
12226
12227 2011-03-21  Jim Meyering  <meyering@redhat.com>
12228
12229         tests: add strftime-tests module
12230         * tests/test-strftime.c: New file.
12231         * modules/strftime-tests: New module.
12232
12233 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12234
12235         strftime: don't assume a byte count fits in 'int'
12236         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12237         found this problem by static analysis, using gcc -Wstrict-overflow
12238         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12239         on an integer overflow having undefined behavior, but it turns out
12240         that the argument is a size, which might not fit in 'int' anyway,
12241
12242 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12243
12244         stdio: don't require ignore_value around fwrite
12245
12246         This patch works around libc bug 11959
12247         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12248         Without this patch, applications must often write
12249         ignore_value (fwrite (...)) even though the ignore_value is
12250         not helpful here.  It's common to write many objects, using
12251         fwrite/printf/etc., and then use ferror to detect output error.
12252
12253         I considered making this patch optional, but decided against it,
12254         because libc is obviously being inconsistent here: there is no
12255         reason libc should insist that user code must inspect fwrite
12256         return's value without also insisting that it inspect printf's,
12257         putchar's, etc.  If user code wants to have a strict style where
12258         all these functions' values are checked (so that ferror need not
12259         be checked), we could add support for that style in a new gnulib
12260         module, but in the meantime it's better to be consistent and to
12261         support common usage.
12262
12263         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12264         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12265         that we are compiling in checking mode, and if not C++, and
12266         if not already wrapping fwrite for some other reason.
12267         (fwrite): #define to rpl_fwrite if the latter is defined.
12268
12269 2011-03-20  Bruno Haible  <bruno@clisp.org>
12270
12271         verror: Fix compilation error introduced on 2011-02-13.
12272         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12273         instead of __attribute__.
12274         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12275
12276 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12277             Bruno Haible  <bruno@clisp.org>
12278
12279         socklen: do not depend on sys_socket
12280         While trying to modify Emacs to use gnulib's socklen module,
12281         I discovered a circular dependency: socklen depends on sys_socket
12282         and vice versa.  Emacs can use socklen, but it does not need
12283         sys_socket because it has its own substitute for sys/socket.h.
12284         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12285         gl_TYPE_SOCKLEN_T.
12286         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12287         gl_PREREQ_SYS_H_SOCKET.
12288         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12289         gl_PREREQ_SYS_H_SOCKET.
12290         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12291         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12292         * modules/socklen (Depends-on): Do not depend on sys_socket.
12293         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12294
12295 2011-03-20  Jim Meyering  <meyering@redhat.com>
12296
12297         maint.mk: sort file names *after* new transformation
12298         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12299         prefix would have led to an unwarranted failure in GNU parted.
12300         Sort after that transformation.
12301
12302 2011-03-19  Jim Meyering  <meyering@redhat.com>
12303
12304         maint.mk: fix po-file syntax-check rule
12305         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12306         Patch by Bruno Haible.
12307
12308 2011-03-19  Bruno Haible  <bruno@clisp.org>
12309
12310         socklen: Update comment.
12311         * m4/socklen.m4: Update comment about platforms.
12312
12313 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12314             Bruno Haible  <bruno@clisp.org>
12315
12316         inet_ntop, inet_pton: Simplify.
12317         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12318         documented to provide socklen_t and we already depend on sys_socket.
12319         * modules/inet_pton (Depends-on): Likewise.
12320         * lib/arpa_inet.in.h: Adjust comment.
12321
12322 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12323             Bruno Haible  <bruno@clisp.org>
12324
12325         netdb: Simplify.
12326         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12327         documented to provide socklen_t and we already depend on sys_socket.
12328         * lib/netdb.in.h: Adjust comment.
12329
12330 2011-03-19  Bruno Haible  <bruno@clisp.org>
12331
12332         sys_socket, netdb: Document problem with socklen_t.
12333         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12334         platforms.
12335         * doc/posix-headers/netdb.texi: Likewise.
12336
12337 2011-03-18  Eric Blake  <eblake@redhat.com>
12338
12339         maint.mk: let po check work in VPATH build
12340         * top/maint.mk (po_file): Allow cfg.mk override.
12341         (sc_po_check): Allow VPATH use.
12342         Reported by Jiri Denemark.
12343
12344 2011-03-16  Jim Meyering  <meyering@redhat.com>
12345
12346         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12347         Before, you would have had to create one .x-sc_ file per rule in order
12348         to exempt offending files.  Now, you may instead use a Make variable --
12349         usually defined in cfg.mk -- whose name identifies the affected rule.
12350         * top/maint.mk (_sc_excl): Define.
12351         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12352         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12353
12354 2011-03-13  Bruno Haible  <bruno@clisp.org>
12355
12356         ignore-value tests: Avoid warnings.
12357         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12358         empty for gcc < 3.4.
12359
12360 2011-03-13  Bruno Haible  <bruno@clisp.org>
12361
12362         passfd: Fix link error on Solaris.
12363         * modules/passfd (Description): Correct.
12364         (Depends-on): Add socketlib.
12365         (Link): New section.
12366         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12367
12368 2011-03-13  Bruno Haible  <bruno@clisp.org>
12369
12370         passfd: Fix link error on AIX 5.2.
12371         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12372
12373 2011-03-13  Bruno Haible  <bruno@clisp.org>
12374
12375         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12376         * lib/sys_socket.in.h: Include <stddef.h>.
12377         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12378         CMSG_FIRSTHDR. Remove unused variable.
12379
12380 2011-03-13  Bruno Haible  <bruno@clisp.org>
12381
12382         passfd: Fix compilation error on OpenBSD.
12383         * lib/passfd.c: Include <sys/uio.h>.
12384
12385 2011-03-13  Bruno Haible  <bruno@clisp.org>
12386
12387         passfd test: Fix warnings.
12388         * tests/test-passfd.c: Include <sys/wait.h>.
12389         (main): Fix typo.
12390
12391 2011-03-13  Bruno Haible  <bruno@clisp.org>
12392
12393         passfd module, part 4, tweaks.
12394         * tests/test-passfd.c: Reorder includes.
12395         (main): Fix perror and printf calls.
12396
12397 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12398
12399         passfd module, part 4.
12400         * modules/passfd-tests: New file.
12401         * tests/test-passfd.c: New file.
12402
12403 2011-03-13  Jim Meyering  <meyering@redhat.com>
12404
12405         Makefile: rely on GNU make; derive syntax-check rule names
12406         Rather than requiring that each sc_ rule be listed as a dependent
12407         of "check", use features of GNU make to derive the list.
12408         * Makefile (syntax-check-rules): Define.
12409         (check): Depend on the new variable, not the hard-coded list.
12410
12411 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12412             Bruno Haible  <bruno@clisp.org>
12413
12414         passfd module, part 3.
12415         * lib/passfd.h (recvfd): Add a flags argument.
12416         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12417         (recvfd): Add a flags argument.
12418         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12419         exists.
12420         * modules/passfd (Depends-on): Add cloexec.
12421         Suggested by Eric Blake.
12422
12423 2011-03-13  Bruno Haible  <bruno@clisp.org>
12424
12425         passfd module, part 2, tweaks.
12426         * modules/passfd (Files): Reorder.
12427         (Depends-on): Remove errno.
12428         (Include): Remove <sys/socket.h>, <sys/un.h>.
12429         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12430         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12431         specification header. Include <sys/socket.h> always. Don't include
12432         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12433         (sendfd): Clarify that it sets errno when it fails.
12434         (recvfd): Fix specification.
12435
12436 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12437
12438         passfd module, part 2.
12439         * modules/passfd: New file.
12440         * lib/passfd.h: New file.
12441         * lib/passfd.c: New file.
12442
12443 2011-03-12  Bruno Haible  <bruno@clisp.org>
12444
12445         wcswidth, mbswidth: Avoid integer overflow.
12446         * lib/wcswidth.c: Include <limits.h>.
12447         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12448         * lib/mbswidth.c: Include <limits.h>.
12449         (mbsnwidth): Avoid 'int' overflow.
12450         Reported by Jim Meyering.
12451
12452 2011-03-12  Bruno Haible  <bruno@clisp.org>
12453
12454         futimens, utimensat: Avoid endless recursion on Solaris 10.
12455         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12456         Solaris.
12457         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12458         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12459
12460 2011-03-11  Jim Meyering  <meyering@redhat.com>
12461
12462         maint.mk: relax a regexp to accommodate other formatting styles
12463         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12464         between "ngettext" and the following "(".
12465
12466 2011-03-11  Pádraig Brady <P@draigBrady.com>
12467
12468         maint.mk: suppress a false positive warning
12469         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
12470         diagnostics are marked with ngettext.
12471
12472 2011-03-10  Eric Blake  <eblake@redhat.com>
12473
12474         wchar: add explicit dependencies, for Tru64
12475         * modules/mbmemcasecoll (Depends-on): Add wchar.
12476         * modules/mbtowc (Depends-on): Likewise.
12477         * modules/vasnprintf (Depends-on): Likewise.
12478         * modules/unistdio/u-printf-args (Depends-on): Likewise.
12479         * modules/wctomb (Depends-on): Likewise.
12480         Reported by Peter O'Gorman.
12481
12482 2011-03-08  Bruno Haible  <bruno@clisp.org>
12483
12484         passfd module, part 1, tweaks.
12485         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
12486         Improve indentation. Improve AC_MSG_CHECKING messages.
12487         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
12488         gl_SOCKET_FAMILIES.
12489
12490 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12491
12492         passfd module, part 1.
12493         * m4/afunix.m4: New file.
12494         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
12495         sockets.
12496
12497 2011-03-08  Bruno Haible  <bruno@clisp.org>
12498
12499         regex-quote: New API.
12500         * lib/regex-quote.h: Include <stdbool.h>.
12501         (struct regex_quote_spec): New type.
12502         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12503         New declarations.
12504         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12505         'const struct regex_quote_spec *' argument.
12506         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
12507         (pcre_special): New constant.
12508         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12509         New functions.
12510         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12511         'const struct regex_quote_spec *' argument.
12512         * modules/regex-quote (Depends-on): Add stdbool.
12513         * tests/test-regex-quote.c (check): Update for new API. Add test for
12514         anchored results.
12515         * NEWS: Mention the API change.
12516         Reported by Reuben Thomas and Eric Blake.
12517
12518 2011-03-06  Bruno Haible  <bruno@clisp.org>
12519
12520         regex-quote: Fix creation of POSIX extended regular expressions.
12521         * lib/regex-quote.c (ere_special): Add grouping and alternation
12522         operators.
12523
12524 2011-03-05  Bruno Haible  <bruno@clisp.org>
12525
12526         doc: Improve doc regarding autopoint vs. gnulib.
12527         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
12528         disable autopoint while running autoreconf.
12529         Suggested by Ralf Wildenhues.
12530
12531 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12532
12533         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
12534         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
12535
12536 2011-03-03  Bruce Korb  <bkorb@gnu.org>
12537
12538         parse-duration: remove xalloc.h dependency
12539         * lib/parse-duration.c (parse_period): handle NULL return from
12540         strdup instead of calling xstrdup().
12541         * modules/parse-duration: remove "xalloc" dependency
12542
12543 2011-03-03  Matthew Booth  <mbooth@redhat.com>
12544
12545         bootstrap: honor m4_base when running aclocal
12546         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
12547
12548 2011-03-02  Jim Meyering  <meyering@redhat.com>
12549
12550         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
12551         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
12552         on request from Matt Booth.
12553
12554 2011-03-01  Eric Blake  <eblake@redhat.com>
12555
12556         test-link: work on Hurd
12557         * tests/test-link.h (test_link): Hurd rejects linking directories
12558         with EISDIR instead of the POSIX-mandated EPERM.
12559
12560 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
12561
12562         stdio: simplify by moving files to printf-posix, sigpipe
12563         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
12564         since this symbol is needed only if printf is replaced.
12565         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
12566         Require gl_ASM_SYMBOL_PREFIX.
12567         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
12568         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
12569         (Depends-on): Add 'raise'.
12570         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
12571         * modules/stdio (Files): Remove lib/stdio-write.c,
12572         m4/asm-underscore.m4.
12573         (Depends-on): Remove 'raise'.
12574
12575         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
12576         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
12577         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
12578         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
12579
12580 2011-02-28  Bruno Haible  <bruno@clisp.org>
12581
12582         localcharset: Assume ANSI C behaviour of free().
12583         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
12584         calling free().
12585         Suggested by Simon Josefsson <simon@josefsson.org>.
12586
12587 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
12588             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
12589             Bruno Haible  <bruno@clisp.org>  (tiny change)
12590
12591         On Cygwin, use /proc file system instead of win32 API.
12592         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
12593         Win32 file names.
12594         (DllMain): Simplify by removing Cygwin specific code.
12595         (find_shared_library_fullname): Use Linux specific implementation also
12596         for Cygwin.
12597         (get_shared_library_fullname): Update accordingly.
12598         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
12599         Win32 file names.
12600         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
12601         Cygwin specific code.
12602
12603 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
12604             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
12605
12606         Fix OpenMP flag detection for various Fortran compilers.
12607         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
12608         OpenMP-conditional compilation construct, to force compile
12609         failure with missing OpenMP flag.
12610         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
12611
12612 2011-02-25  Eric Blake  <eblake@redhat.com>
12613
12614         strstr: expand test coverage
12615         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
12616         compilation.
12617         * tests/test-memmem.c (main): Duplicate tests.
12618         * tests/test-strcasestr.c (main): Likewise.
12619         * tests/test-c-strcasestr.c (main): Likewise.
12620
12621 2011-02-25  Jim Meyering  <meyering@redhat.com>
12622
12623         maint.mk: detect missing-NL-at-EOF, too
12624         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
12625         it also detects when a file lacks a newline at EOF.
12626         (require_exactly_one_NL_at_EOF_): Renamed from
12627         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
12628         since people may well have .x-sc_... file names tied to the
12629         existing name.  Suggested by Eric Blake.
12630
12631 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12632
12633         dirname: move m4/dos.m4 functionality into lib/dosname.h
12634
12635         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
12636         extracts symbols from it, puts them into config.h; but it's much
12637         easier to use the symbols directly.  filename.h already does this,
12638         but it disagrees with dos.m4 in some respects.  This patch
12639         introduces a different include file dosname.h that packages up
12640         dos.m4, and then later we can work on merging filename.h and
12641         dosname.h.  Applications that need only the easy-to-configure
12642         symbols should consider including dosname.h rather than dirname.h.
12643         * NEWS: Mention incompatible changes.
12644         * m4/dos.m4: Remove.
12645         * lib/dosname.h, modules/dosname: New files.
12646         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
12647         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
12648         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
12649         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
12650         Include dosname.h, not dirname.h.
12651         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
12652         Include dosname.h, for definitions of symbols like ISSLASH
12653         that used to be in config.h.
12654         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
12655         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
12656         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12657         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
12658         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
12659         * modules/rmdir (Files): Likewise.
12660         * modules/stat (Files): Likewise.
12661         * modules/unlink (Files): Likewise.
12662         * modules/dirname-lgpl (Depends-on): Add dosname.
12663         * modules/lstat (Depends-on): Likewise.
12664         * modules/openat (Depends-on): Likewise.
12665         * modules/rmdir (Depends-on): Likewise.
12666         * modules/savewd (Depends-on): Likewise.
12667         * modules/stat (Depends-on): Likewise.
12668         * modules/unlink (Depends-on): Likewise.
12669         * modules/openat (Depends-on): Remove dirname-lgpl.
12670         * modules/savewd (Depends-on): Likewise.
12671         * tests/test-dirname.c: Do not use removed symbols like
12672         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
12673         the remaining symbols, e.g., ISSLASH ('\\').
12674
12675 2011-02-25  Eric Blake  <eblake@redhat.com>
12676
12677         strstr: revert patches that introduced bug and pessimization
12678         * lib/str-two-way.h: Add another reference.
12679         (two_way_short_needle, two_way_long_needle): Revert changes from
12680         2011-02-24; they pessimize search speed.
12681         (critical_factorization): Partially revert changes from
12682         2010-06-22; they violate the requirement that the left half of the
12683         needle be smaller than the period of the needle.
12684
12685 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12686
12687         filenamecat: remove unnecessary dependency on dirname-lgpl
12688         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
12689         is no direct dependency, just an indirect one via filenamecat-lgpl.
12690
12691         remove: remove unnecessary use of m4/dos.m4
12692         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
12693         * modules/remove (FILES): Remove m4/dos.m4.
12694
12695         * lib/openat-proc.c: Don't include dirname.h; not needed.
12696
12697         backupfile: remove unnecessary use of m4/dos.m4
12698         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
12699         of its symbols are used by the backupfile code.  backupfile.c does
12700         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
12701         for the rare case of programs that want all their backup file
12702         names to live within 8+3 limits, and dos.m4 doesn't address that.
12703         * modules/backupfile (Files): Remove m4/dos.m4.
12704
12705 2011-02-24  Jim Meyering  <meyering@redhat.com>
12706
12707         strstr: fix a bug whereby strstr would mistakenly return NULL
12708         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
12709         in period calculation.
12710         (two_way_long_needle): Likewise.
12711         The original problem was reported by Mike Stump in
12712         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
12713         Ralf Wildenhues provided the short needle and haystack.
12714         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
12715         Add a more involved test to trigger the bug in two_way_long_needle.
12716
12717 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12718
12719         gnulib-tool: remove use of bold display in help screen
12720         * gnulib-tool (func_usage): Do not use bold display anymore in the
12721         help screen.  That was just meant to be a temporary emphasis for a
12722         backward-incompatible change.
12723
12724 2011-02-23  Bruno Haible  <bruno@clisp.org>
12725
12726         Fix misindentation of preprocessor directives.
12727         * lib/argp-namefrob.h: Reindent preprocessor directives.
12728         * lib/getopt_int.h (struct _getopt_data): Likewise.
12729         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
12730         * lib/vasnprintf.c (decode_long_double): Likewise.
12731         * tests/test-argmatch.c: Insert blank lines, for clarity.
12732         * tests/test-exclude.c: Likewise.
12733
12734 2011-02-22  Bruno Haible  <bruno@clisp.org>
12735
12736         ioctl: Fix for MacOS X in 64-bit mode.
12737         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
12738         value.
12739         Suggested by Eric Blake.
12740         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
12741
12742 2011-02-22  Jim Meyering  <meyering@redhat.com>
12743
12744         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
12745         * Makefile (sc_cpp_indent_check): Don't limit the check to files
12746         in lib/.
12747
12748 2011-02-22  Eric Blake  <eblake@redhat.com>
12749
12750         maint: avoid any CDPATH issue
12751         * Makefile (sc_cpp_indent_check): Anchor cd argument.
12752
12753         maint: adjust cpp indentation for my modules, as well
12754         * Makefile (sc_cpp_indent_check): Add my name.
12755         * lib/fbufmode.c: Filter through cppi.
12756         * lib/fpurge.c: Likewise.
12757         * lib/freadable.c: Likewise.
12758         * lib/freading.c: Likewise.
12759         * lib/fwritable.c: Likewise.
12760         * lib/fwriting.c: Likewise.
12761         * lib/sigaction.c: Likewise.
12762
12763 2011-02-22  Jim Meyering  <meyering@redhat.com>
12764
12765         maint: adjust cpp indentation to reflect nesting depth
12766         I.e., in a block of code that begins with an unnested "#if",
12767         put one space between the "#" in column 1 and following token.
12768         For example,
12769         -#include <sys/vfs.h>
12770         +# include <sys/vfs.h>
12771         Do this only in .c files that are part of a module I maintain.
12772         * lib/linkat.c: Filter through cppi.
12773         * lib/nanosleep.c: Likewise.
12774         * lib/openat.c: Likewise.
12775         * lib/openat-die.c: Likewise.
12776         * lib/dup3.c: Likewise.
12777         * lib/fchownat.c: Likewise.
12778         * lib/flock.c: Likewise.
12779         * lib/fsync.c: Likewise.
12780         * lib/fts.c: Likewise.
12781         * lib/getpass.c: Likewise.
12782         * lib/gettimeofday.c: Likewise.
12783         * lib/userspec.c: Likewise.
12784         * Makefile (sc_cpp_indent_check): New rule, to check this.
12785
12786 2011-02-22  Bruno Haible  <bruno@clisp.org>
12787
12788         New module 'wctomb'.
12789         * lib/stdlib.in.h (wctomb): New declaration.
12790         * lib/wctomb.c: New file.
12791         * lib/wctomb-impl.h: New file.
12792         * m4/wctomb.m4: New file.
12793         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
12794         REPLACE_WCTOMB.
12795         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
12796         REPLACE_WCTOMB.
12797         * modules/wctomb: New file.
12798         * tests/test-stdlib-c++.cc: Test signature of wctomb.
12799         * doc/posix-functions/wctomb.texi: Mention the new module.
12800         * modules/wctob (Depends-on): Add wctomb.
12801
12802 2011-02-22  Bruno Haible  <bruno@clisp.org>
12803
12804         New module 'mbtowc'.
12805         * lib/stdlib.in.h (mbtowc): New declaration.
12806         * lib/mbtowc.c: New file.
12807         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
12808         * m4/mbtowc.m4: New file.
12809         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
12810         REPLACE_MBTOWC.
12811         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
12812         REPLACE_MBTOWC.
12813         * modules/mbtowc: New file.
12814         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
12815         * doc/posix-functions/mbtowc.texi: Mention the new module.
12816         * modules/btowc (Depends-on): Add mbtowc.
12817
12818 2011-02-22  Bruno Haible  <bruno@clisp.org>
12819
12820         wcrtomb: Add more tests for native Windows platforms.
12821         * tests/test-wcrtomb-w32-1.sh: New file.
12822         * tests/test-wcrtomb-w32-2.sh: New file.
12823         * tests/test-wcrtomb-w32-3.sh: New file.
12824         * tests/test-wcrtomb-w32-4.sh: New file.
12825         * tests/test-wcrtomb-w32-5.sh: New file.
12826         * tests/test-wcrtomb-w32.c: New file.
12827         * modules/wcrtomb-tests (Files): Add them.
12828         (Makefile.am): Arrange to run these tests.
12829         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
12830         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
12831
12832 2011-02-20  Bruno Haible  <bruno@clisp.org>
12833
12834         wcrtomb: Enhance test.
12835         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
12836
12837 2011-02-20  Bruno Haible  <bruno@clisp.org>
12838
12839         mbrtowc: Tiny optimization.
12840         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
12841
12842 2011-02-20  Jim Meyering  <meyering@redhat.com>
12843
12844         test-exclude.c: remove unmatched #endif
12845         * tests/test-exclude.c: Remove stray #endif, left over from
12846         the change of a week ago.
12847
12848 2011-02-19  Jim Meyering  <meyering@redhat.com>
12849
12850         git-version-gen: skip "-dirty" check when appropriate
12851         * build-aux/git-version-gen: Don't run any git commands when the
12852         version string comes from .tarball-version.  Prior to this, we
12853         would run git update-index --refresh even from a just-unpacked
12854         tarball directory, and that could affect a .git/ directory in a
12855         parent of the build directory.  Reported by Mike Frysinger.
12856
12857 2011-02-19  Bruno Haible  <bruno@clisp.org>
12858
12859         unictype/property-byname: Reduce the size of the 'data' segment.
12860         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
12861
12862 2011-02-19  Bruno Haible  <bruno@clisp.org>
12863
12864         unictype/scripts: Reduce the size of the 'data' segment.
12865         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
12866         '%pic'.
12867         * lib/unictype/scripts_byname.gperf: Regenerated.
12868
12869 2011-02-19  Bruno Haible  <bruno@clisp.org>
12870
12871         stdint: Update documentation.
12872         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
12873
12874 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
12875
12876         stdint: omit redundant check for wchar.h
12877         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
12878         always tests whether wchar.h exists, so remove the now-redundant test.
12879
12880 2011-02-18  Bruno Haible  <bruno@clisp.org>
12881
12882         stdint: Cut dependency to module 'wchar'.
12883         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
12884         include the necessary prerequisites.
12885         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
12886         * modules/stdint (Depends-on): Remove wchar.
12887         (Makefile.am): Substitute HAVE_WCHAR_H.
12888         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
12889
12890 2011-02-18  Eric Blake  <eblake@redhat.com>
12891
12892         longlong: skip, rather than fail, on cross-compilation
12893         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
12894         when cross-compiling; regression from 2011-02-16.
12895
12896 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
12897
12898         * NEWS: Mention 2011-02-08 change to stdlib.
12899
12900 2011-02-17  Bruno Haible  <bruno@clisp.org>
12901
12902         getloadavg: Add comments about platforms.
12903         * m4/getloadavg.m4: Add comment.
12904         * lib/getloadavg.c: Likewise.
12905
12906 2011-02-17  Bruno Haible  <bruno@clisp.org>
12907
12908         getloadavg: Fix link error on Solaris 2.6.
12909         * modules/getloadavg (Link): New section.
12910         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
12911         linking test-getloadavg.
12912         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
12913         getloadavg.
12914
12915 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
12916
12917         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
12918         It was 'int', but this doesn't match the IRIX 6.5 manual.
12919         Suggested by Bruno Haible in
12920         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
12921
12922 2011-02-17  Bruno Haible  <bruno@clisp.org>
12923
12924         havelib: Fix comments.
12925         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
12926         change.
12927
12928 2011-02-17  Bruno Haible  <bruno@clisp.org>
12929
12930         havelib: Update config.rpath.
12931         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
12932
12933 2011-02-17  Bruno Haible  <bruno@clisp.org>
12934
12935         getloadavg test: Add some plausibility checks.
12936         * tests/test-getloadavg.c (check_avg): Print a warning when the value
12937         is improbable.
12938
12939 2011-02-16  Eric Blake  <eblake@redhat.com>
12940
12941         maintainer-makefile: make syntax-check a no-op from tarballs
12942         * top/maint.mk (no-vc-detected): New rule.
12943         (local-checks-available): Use it to avoid hanging if someone tries
12944         'make syntax-check' from a tarball.  Also append to any non-syntax
12945         checks already defined in cfg.mk.
12946
12947 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
12948
12949         longlong: tune, particularly for common case of c99
12950
12951         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
12952         or running anything if c99, or if unsigned long long int does not
12953         work.  In either case, we know the answer without further tests.
12954         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
12955         it at most once, and use its results for both long long int and
12956         unsigned long long int.  This is more likely to be efficient in
12957         the common case where the program wants to check for both long
12958         long int and unsigned long long int.
12959         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
12960         since the answer is already known.
12961
12962 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
12963
12964         getloadavg: set errno
12965         * lib/getloadavg.c: Set errno when returning -1.  If no other
12966         error number looks appropriate, set it to ENOSYS if the getloadavg
12967         looks like it can't possibly ever work, ENOTSUP otherwise.
12968         Suggested by Bruno Haible in
12969         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
12970
12971         getloadavg: trim unused parts and speed up 'configure'
12972         * NEWS: Document this.
12973         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
12974         always compiled if getloadavg is absent.
12975         Move test code to ...
12976         * tests/test-getloadavg.c: New file, containing previous
12977         contents of test from lib/getloadavg.c.  It also contains
12978         suggestions by Bruno Haible in
12979         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
12980         * modules/getloadavg-tests: New file.
12981         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
12982         Do tests in the same order as they're needed for getloadavg.c.
12983         Omit setgid-related tests that generate symbols KMEM_GROUP,
12984         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
12985         Do only the tests that are needed to see whether the system has
12986         getloadavg, moving the other tests into ...
12987         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
12988         NLIST_NAME_UNION; nobody should be using it.  Do not define
12989         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
12990         relevant, as the user of this module shouldn't care how getloadavg
12991         is implemented.
12992
12993         getloadavg: omit unused var
12994         * lib/getloadavg.c (getloadavg): Omit unused local variable.
12995
12996 2011-02-15  Jim Meyering  <meyering@redhat.com>
12997
12998         doc: update users.txt
12999         * users.txt: Update iwhd's URL.
13000
13001 2011-02-13  Bruno Haible  <bruno@clisp.org>
13002
13003         Consistent macro naming for macros that use GCC __attribute__.
13004         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13005         _ATTRIBUTE_NONNULL_.
13006         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13007         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13008         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13009         ATTRIBUTE_DEPRECATED.
13010         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13011         ATTRIBUTE_NORETURN.
13012         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13013         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13014         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13015         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13016         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13017         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13018         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13019         ATTRIBUTE_SENTINEL.
13020         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13021         ATTRIBUTE_RETURN_CHECK.
13022         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13023         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13024         ATTRIBUTE_NORETURN.
13025         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13026         Reported by Paul Eggert.
13027
13028 2011-02-13  Bruno Haible  <bruno@clisp.org>
13029
13030         Don't interfere with a program's definition of __attribute__.
13031         * lib/argp.h (__attribute__): Remove definition.
13032         (_GL_ATTRIBUTE_FORMAT): New macro.
13033         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13034         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13035         (_GL_ATTRIBUTE_FORMAT): New macro.
13036         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13037         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13038         GCC 3 or newer.
13039         * lib/error.h (__attribute__): Remove definition.
13040         (_GL_ATTRIBUTE_FORMAT): New macro.
13041         (error, error_at_line): Use it.
13042         * lib/hash.h (__attribute__): Remove definition.
13043         (ATTRIBUTE_WUR): Update definition. Define always.
13044         * lib/openat.h (__attribute__): Remove definition.
13045         (ATTRIBUTE_NORETURN): Update definition. Define always.
13046         * lib/sigpipe-die.h (__attribute__): Remove definition.
13047         (ATTRIBUTE_NORETURN): Update definition. Define always.
13048         * lib/vasnprintf.h (__attribute__): Remove definition.
13049         (_GL_ATTRIBUTE_FORMAT): New macro.
13050         (asnprintf, vasnprintf): Use it.
13051         * lib/xalloc.h (__attribute__): Remove definition.
13052         (ATTRIBUTE_NORETURN): Update definition. Define always.
13053         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13054         * lib/xmemdup0.h (__attribute__): Remove definition.
13055         (ATTRIBUTE_NORETURN): Update definition. Define always.
13056         * lib/xprintf.h (__attribute__): Remove definition.
13057         (_GL_ATTRIBUTE_FORMAT): New macro.
13058         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13059         * lib/xstrtol.h (__attribute__): Remove definition.
13060         (ATTRIBUTE_NORETURN): Update definition. Define always.
13061         * lib/xvasprintf.h (__attribute__): Remove definition.
13062         (_GL_ATTRIBUTE_FORMAT): New macro.
13063         (xasprintf, xvasprintf): Use it.
13064         * tests/test-argmatch.c (__attribute__): Remove definition.
13065         (ATTRIBUTE_NORETURN): Update definition. Define always.
13066         * tests/test-exclude.c (__attribute__): Remove definition.
13067         (ATTRIBUTE_NORETURN): Update definition. Define always.
13068         Reported by Paul Eggert.
13069
13070 2011-02-13  Bruno Haible  <bruno@clisp.org>
13071
13072         mbrtowc: Add more tests for native Windows platforms.
13073         * tests/test-mbrtowc-w32-1.sh: New file.
13074         * tests/test-mbrtowc-w32-2.sh: New file.
13075         * tests/test-mbrtowc-w32-3.sh: New file.
13076         * tests/test-mbrtowc-w32-4.sh: New file.
13077         * tests/test-mbrtowc-w32-5.sh: New file.
13078         * tests/test-mbrtowc-w32.c: New file.
13079         * modules/mbrtowc-tests (Files): Add them.
13080         (Makefile.am): Arrange to run these tests.
13081         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13082         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13083
13084 2011-02-13  Bruno Haible  <bruno@clisp.org>
13085
13086         mbrtowc: Work around native Windows bug.
13087         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13088         guess when no suitable locale for testing was found.
13089         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13090
13091 2011-02-13  Bruno Haible  <bruno@clisp.org>
13092
13093         mbsinit: Work around mingw bug.
13094         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13095         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13096         Windows.
13097         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13098
13099 2011-02-13  Bruno Haible  <bruno@clisp.org>
13100
13101         mbsinit: Don't crash for a NULL argument.
13102         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13103         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13104
13105 2011-02-13  Bruno Haible  <bruno@clisp.org>
13106
13107         Don't interfere with a program's definition of __attribute__.
13108         * lib/stdio.in.h (__attribute__): Remove definition.
13109         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13110         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13111         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13112         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13113         * lib/string.in.h (__attribute__): Remove definition.
13114         Reported by Paul Eggert.
13115
13116 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13117
13118         stdlib: don't get in the way of non-GCC __attribute__
13119         See thread starting at
13120         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13121         Revert previous stdlib change, installing the following instead:
13122         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13123         to get in the way of a non-GCC compiler that supports __attribute__.
13124         (_GL_ATTRIBUTE_RETURN): New macro.
13125         (_Exit): Use it instead of __attribute__.
13126
13127 2011-02-12  Bruno Haible  <bruno@clisp.org>
13128
13129         quotearg test: Avoid test failure on mingw.
13130         * tests/test-quotearg.sh: Convert the locale identifier from native
13131         Windows syntax to Unix syntax.
13132
13133 2011-02-12  Bruno Haible  <bruno@clisp.org>
13134
13135         setlocale: Prefer gnulib's override over libintl's override.
13136         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13137         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13138         GNULIB_defined_setlocale is set.
13139
13140 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13141
13142         stdlib: support non-GCC __attribute__
13143
13144         Fix a serious and tricky problem encountered when attempting to
13145         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13146         5.5, but it crashed due to memory corruption on Solaris 10 with
13147         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13148         bits that are otherwise zero.  This tagging is optional inside
13149         Emacs but is preferred and is used when __attribute__ ((__aligned
13150         (8))) works, as it does with both recent-enough GCC and with Sun C
13151         5.11.  However, Sun C 5.11 is not GCC and does not #define
13152         __GNUC__ and __GNUC_MINOR__.
13153
13154         When I added the getloadavg module to Emacs, it brought in
13155         stdlib.in.h, which contained this fragment:
13156
13157            #ifndef __attribute__
13158            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13159            #  define __attribute__(Spec)   /* empty */
13160            # endif
13161            #endif
13162
13163         When files that include <stdlib.h> were compiled with Sun C 5.11,
13164         the above code disabled __attribute__ ((__aligned (8))), which
13165         caused variables to not be properly aligned, which eventually led
13166         to the pointer corruption mentioned above.  (This was a bit hard
13167         to diagnose, unfortunately.)
13168
13169         Several "#define __attribute__(X) /* empty */" code snippets need
13170         to be eradicated from Gnulib to work with non-GCC compilers that
13171         support __attribute__.  The Autoconf way to do this is to test for
13172         each kind of attribute that we want support for, and selectively
13173         enable that in source code.
13174
13175         Fix this problem just for stdlib.h, by adding a test for the
13176         __noreturn__ attribute, and change stdlib.in.h to use that test
13177         when needed.  This technique can be easily generalized to the
13178         other *.in.h files and attributes, and a similar technique can be
13179         used for *.h and *.c files.  This patch is enough to solve the
13180         problem for Emacs + getloadavg, and I thought I'd publish it for
13181         feedback before undertaking further, similar fixes in other
13182         modules.
13183
13184         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13185         because it's not needed for stdlib.h.  It merely substitutes the
13186         value directly into stdlib.h.  We may well need to #define it, or
13187         similar symbols, for other modules, but it's nice to also have an
13188         option to not #define it for applications like Emacs that do not
13189         need it.
13190
13191         * lib/stdlib.in.h (__attribute__): Do not #define.
13192         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13193         be defined only if the _Exit module is also used.
13194         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13195         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13196         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13197         platforms.
13198         * modules/_Exit (Files): Add m4/attribute.m4.
13199         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13200         * m4/attribute.m4: New file.
13201
13202 2011-02-12  Bruno Haible  <bruno@clisp.org>
13203
13204         wcsrtombs: Work around bug on native Windows.
13205         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13206         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13207         instead of len.
13208         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13209
13210 2011-02-12  Bruno Haible  <bruno@clisp.org>
13211
13212         mbsrtowcs: Work around bug on native Windows.
13213         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13214         against mingw bug.
13215         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13216
13217 2011-02-12  Bruno Haible  <bruno@clisp.org>
13218
13219         Avoid setlocale bugs in tests.
13220         * modules/btowc (Dependencies): Add setlocale.
13221         * modules/c-strcase (Dependencies): Likewise.
13222         * modules/mbmemcasecmp (Dependencies): Likewise.
13223         * modules/mbmemcasecoll (Dependencies): Likewise.
13224         * modules/mbrtowc (Dependencies): Likewise.
13225         * modules/mbscasecmp (Dependencies): Likewise.
13226         * modules/mbscasestr (Dependencies): Likewise.
13227         * modules/mbschr (Dependencies): Likewise.
13228         * modules/mbscspn (Dependencies): Likewise.
13229         * modules/mbsinit (Dependencies): Likewise.
13230         * modules/mbsncasecmp (Dependencies): Likewise.
13231         * modules/mbsnrtowcs (Dependencies): Likewise.
13232         * modules/mbspbrk (Dependencies): Likewise.
13233         * modules/mbspcasecmp (Dependencies): Likewise.
13234         * modules/mbsrchr (Dependencies): Likewise.
13235         * modules/mbsrtowcs (Dependencies): Likewise.
13236         * modules/mbsspn (Dependencies): Likewise.
13237         * modules/mbsstr (Dependencies): Likewise.
13238         * modules/nl_langinfo (Dependencies): Likewise.
13239         * modules/quotearg (Dependencies): Likewise.
13240         * modules/unicase/locale-language (Dependencies): Likewise.
13241         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13242         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13243         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13244         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13245         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13246         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13247         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13248         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13249         * modules/vasnprintf-posix (Dependencies): Likewise.
13250         * modules/wcrtomb (Dependencies): Likewise.
13251         * modules/wcsnrtombs (Dependencies): Likewise.
13252         * modules/wcsrtombs (Dependencies): Likewise.
13253
13254 2011-02-12  Bruno Haible  <bruno@clisp.org>
13255
13256         setlocale: Workaround native Windows bug.
13257         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13258         succeeds but sets LC_CTYPE to "C", report a failure.
13259         * tests/test-setlocale2.sh: New file.
13260         * tests/test-setlocale2.c: New file.
13261         * modules/setlocale-tests (Files): Add the new files.
13262         (Makefile.am): Enable test-setlocale2.sh test.
13263         * doc/posix-functions/setlocale.texi: Mention workaround.
13264
13265 2011-02-11  Bruno Haible  <bruno@clisp.org>
13266
13267         Tests for module 'setlocale'.
13268         * modules/setlocale-tests: New file.
13269         * tests/test-setlocale1.sh: New file.
13270         * tests/test-setlocale1.c: New file.
13271
13272         New module 'setlocale'.
13273         * lib/locale.in.h (setlocale): New declaration.
13274         * lib/setlocale.c: New file, based on
13275         gettext/gettext-runtime/intl/setlocale.c.
13276         * m4/setlocale.m4: New file.
13277         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13278         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13279         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13280         REPLACE_SETLOCALE.
13281         * modules/setlocale: New file.
13282         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13283         * doc/posix-functions/setlocale.texi: Mention the new module.
13284
13285 2011-02-11  Bruno Haible  <bruno@clisp.org>
13286
13287         Prepare for locale dependent tests on mingw.
13288         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13289         because it has the wrong locale encoding.
13290         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13291         French_France.1252 instead of "fr".
13292         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13293         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13294         because it has the wrong locale encoding.
13295         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13296         native Windows, try Turkish_Turkey.65001.
13297         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13298         Chinese_China.54936.
13299
13300         Prepare for locale dependent tests on mingw.
13301         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13302         differently.
13303         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13304         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13305         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13306         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13307
13308 2011-02-11  Eric Blake  <eblake@redhat.com>
13309
13310         strptime: avoid compiler warnings
13311         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13312         compiler warnings about dead code.
13313         Reported by Daniel P. Berrange.
13314
13315 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13316
13317         doc: update users.txt
13318         * users.txt: Add rcs.
13319
13320 2011-02-10  John W. Eaton  <jwe@gnu.org>
13321
13322         doc: update users.txt
13323         * users.txt: Add octave.
13324
13325 2011-02-10  Jim Meyering  <meyering@redhat.com>
13326
13327         doc: update users.txt
13328         * users.txt: Add iwhd.
13329
13330 2011-02-09  Bruno Haible  <bruno@clisp.org>
13331
13332         gnulib-tool: Make copyright notice adjustment more robust.
13333         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13334         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13335         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13336         License".
13337         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13338
13339 2011-02-06  Bruno Haible  <bruno@clisp.org>
13340
13341         New module 'towctrans'.
13342         * modules/towctrans: New file.
13343         * lib/wctype.in.h (towctrans): New declaration.
13344         * lib/towctrans.c: New file.
13345         * lib/towctrans-impl.h: New file.
13346         * m4/towctrans.m4: New file.
13347         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13348         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13349         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13350         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13351         * doc/posix-functions/towctrans.texi: Mention the new module.
13352
13353 2011-02-06  Bruno Haible  <bruno@clisp.org>
13354
13355         New module 'wctrans'.
13356         * modules/wctrans: New file.
13357         * lib/wctype.in.h (wctrans): New declaration.
13358         * lib/wctrans.c: New file.
13359         * lib/wctrans-impl.h: New file.
13360         * m4/wctrans.m4: New file.
13361         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13362         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13363         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13364         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13365         * doc/posix-functions/wctrans.texi: Mention the new module.
13366
13367 2011-02-06  Bruno Haible  <bruno@clisp.org>
13368
13369         New module 'iswctype'.
13370         * modules/iswctype: New file.
13371         * lib/wctype.in.h (iswctype): New declaration.
13372         * lib/iswctype.c: New file.
13373         * lib/iswctype-impl.h: New file.
13374         * m4/iswctype.m4: New file.
13375         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13376         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13377         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13378         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13379         * doc/posix-functions/iswctype.texi: Mention the new module and the
13380         HP-UX 11.00 problem.
13381
13382 2011-02-06  Bruno Haible  <bruno@clisp.org>
13383
13384         New module 'wctype'.
13385         * modules/wctype: Change to represent the wctype() substitute.
13386         * lib/wctype.in.h (wctype): New declaration.
13387         * lib/wctype.c: New file.
13388         * lib/wctype-impl.h: New file.
13389         * m4/wctype.m4: New file.
13390         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13391         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13392         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13393         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13394         * doc/posix-functions/wctype.texi: Mention the new module and the
13395         HP-UX 11.00 problem.
13396
13397 2011-02-06  Bruno Haible  <bruno@clisp.org>
13398
13399         wctype-h: Ensure wctype_t and wctrans_t are defined.
13400         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13401         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13402         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13403         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13404         HAVE_WCTRANS_T.
13405         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13406
13407 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13408
13409         flock: fix license typo
13410
13411         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13412         omitted.
13413
13414 2011-02-08  Bruno Haible  <bruno@clisp.org>
13415
13416         Split large sed scripts, for HP-UX sed.
13417         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13418         to avoid HP-UX limit of 99 commands, in the near future.
13419         * modules/stdlib (Makefile.am): Likewise.
13420         * modules/unistd (Makefile.am): Likewise.
13421         * modules/wchar (Makefile.am): Likewise.
13422         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13423         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13424         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13425
13426 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13427             Bruno Haible  <bruno@clisp.org>
13428
13429         stdlib: improve random_r modularization
13430         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13431         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13432         you also need the random_r module to get this material right.
13433         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13434         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13435         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13436
13437 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13438
13439         stdlib: don't depend on stdint
13440         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13441         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13442         be independent of whether stdint.h is needed.
13443         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13444         here, instead of ...
13445         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13446         struct random_data should be using the random_r module, not just
13447         the stdlib module (which wouldn't make sense: what package needs
13448         just struct random_data without also needing random_r?).
13449         * modules/stdlib (Depends-on): Remove stdint.
13450
13451         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13452         See the thread rooted at
13453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13454         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13455         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13456         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13457         __VMS)); previously it was always included (via fcntl--.h).
13458         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13459         hand; this is good enough for load averages.  Also, do not use
13460         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13461         flags directly if available and don't bother otherwise.  (Packages
13462         that need the extra reliability should use the modules that define
13463         these flags on older platforms that lack them.)
13464         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13465         fcntl-safer.
13466
13467 2011-02-08  Jim Meyering  <meyering@redhat.com>
13468
13469         di-set.h, ino-map.h: add multiple-inclusion guard
13470         Technically, the guard is required only for ino-map.h, due to its
13471         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
13472         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
13473         * lib/ino-map.h: Likewise.
13474
13475 2011-02-06  Bruno Haible  <bruno@clisp.org>
13476
13477         iswblank: Ensure declaration on glibc systems.
13478         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
13479         * modules/iswblank (Dependencies): Add 'extensions'.
13480         * doc/posix-functions/iswblank.texi: Document the glibc problem.
13481
13482 2011-02-06  Bruno Haible  <bruno@clisp.org>
13483
13484         New module 'iswblank'.
13485         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
13486         * modules/iswblank: New file.
13487         * modules/wctype-h (Files): Remove lib/iswblank.c.
13488         (Makefile.am): Substitute GNULIB_ISWBLANK.
13489         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
13490         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
13491         (gl_WCTYPE_H_DEFAULTS): New macro.
13492         (gl_WCTYPE_H): Require it. Remove iswblank related code.
13493         * modules/iswblank-tests: New file.
13494         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
13495         * tests/test-wctype-h.c (main): Remove iswblank tests.
13496         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
13497         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
13498         of 'wctype-h'.
13499         * NEWS: Mention the change.
13500         * modules/mbchar (Depends-on): Add iswblank.
13501
13502 2011-02-08  Bruno Haible  <bruno@clisp.org>
13503
13504         di-set tests: Refactor.
13505         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
13506         unnecessary includes.
13507         (ASSERT): Remove macro.
13508         (main): Make C90 compliant by avoiding variable declaration after
13509         statement.
13510         * modules/di-set-tests (Files): Add tests/macros.h.
13511
13512 2011-02-08  Bruno Haible  <bruno@clisp.org>
13513
13514         ino-map tests: Refactor.
13515         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
13516         unnecessary includes.
13517         (ASSERT): Remove macro.
13518         (main): Make C90 compliant by avoiding variable declaration after
13519         statement.
13520         * modules/ino-map-tests (Files): Add tests/macros.h.
13521
13522 2011-02-08  Jim Meyering  <meyering@redhat.com>
13523
13524         di-set: add "const" to a cast
13525         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
13526         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
13527
13528 2011-02-06  Bruno Haible  <bruno@clisp.org>
13529
13530         Rename module 'wctype' to 'wctype-h'.
13531         * modules/wctype-h: Renamed from modules/wctype.
13532         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
13533         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
13534         (Files, Depends-on, Makefile.am): Update.
13535         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
13536         (Files, Makefile.am): Update.
13537         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
13538         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
13539         * doc/posix-headers/wctype.texi: Update.
13540         * doc/posix-functions/iswalnum.texi: Update.
13541         * doc/posix-functions/iswalpha.texi: Update.
13542         * doc/posix-functions/iswblank.texi: Update.
13543         * doc/posix-functions/iswcntrl.texi: Update.
13544         * doc/posix-functions/iswdigit.texi: Update.
13545         * doc/posix-functions/iswgraph.texi: Update.
13546         * doc/posix-functions/iswlower.texi: Update.
13547         * doc/posix-functions/iswprint.texi: Update.
13548         * doc/posix-functions/iswpunct.texi: Update.
13549         * doc/posix-functions/iswspace.texi: Update.
13550         * doc/posix-functions/iswupper.texi: Update.
13551         * doc/posix-functions/iswxdigit.texi: Update.
13552         * doc/posix-functions/towlower.texi: Update.
13553         * doc/posix-functions/towupper.texi: Update.
13554         * NEWS: Mention the change.
13555         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
13556         * modules/mbchar (Dependencies): Likewise.
13557         * modules/mbswidth (Dependencies): Likewise.
13558         * modules/quotearg (Dependencies): Likewise.
13559         * modules/regex (Dependencies): Likewise.
13560         * modules/wcscasecmp (Dependencies): Likewise.
13561         * modules/wcsncasecmp (Dependencies): Likewise.
13562         * modules/wcwidth (Dependencies): Likewise.
13563
13564 2011-02-06  Bruno Haible  <bruno@clisp.org>
13565
13566         New module 'wcswidth'.
13567         * modules/wcswidth: New file.
13568         * lib/wchar.in.h (wcswidth): New declaration.
13569         * lib/wcswidth.c: New file.
13570         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
13571         * m4/wcswidth.m4: New file.
13572         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
13573         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
13574         REPLACE_WCSWIDTH.
13575         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
13576         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
13577         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
13578         * doc/posix-functions/wcswidth.texi: Mention the new module.
13579
13580 2011-02-06  Bruno Haible  <bruno@clisp.org>
13581
13582         New module 'wcstok'.
13583         * modules/wcstok: New file.
13584         * lib/wchar.in.h (wcstok): New declaration.
13585         * lib/wcstok.c: New file.
13586         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
13587         * m4/wcstok.m4: New file.
13588         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
13589         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
13590         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
13591         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
13592         * doc/posix-functions/wcstok.texi: Mention the new module.
13593
13594 2011-02-06  Bruno Haible  <bruno@clisp.org>
13595
13596         New module 'wcsstr'.
13597         * modules/wcsstr: New file.
13598         * lib/wchar.in.h (wcsstr): New declaration.
13599         * lib/wcsstr.c: New file.
13600         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
13601         * m4/wcsstr.m4: New file.
13602         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
13603         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
13604         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
13605         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
13606         * doc/posix-functions/wcsstr.texi: Mention the new module.
13607
13608 2011-02-06  Bruno Haible  <bruno@clisp.org>
13609
13610         New module 'wcspbrk'.
13611         * modules/wcspbrk: New file.
13612         * lib/wchar.in.h (wcspbrk): New declaration.
13613         * lib/wcspbrk.c: New file.
13614         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
13615         * m4/wcspbrk.m4: New file.
13616         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
13617         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
13618         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
13619         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
13620         * doc/posix-functions/wcspbrk.texi: Mention the new module.
13621
13622 2011-02-06  Bruno Haible  <bruno@clisp.org>
13623
13624         New module 'wcsspn'.
13625         * modules/wcsspn: New file.
13626         * lib/wchar.in.h (wcsspn): New declaration.
13627         * lib/wcsspn.c: New file.
13628         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
13629         * m4/wcsspn.m4: New file.
13630         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
13631         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
13632         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
13633         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
13634         * doc/posix-functions/wcsspn.texi: Mention the new module.
13635
13636 2011-02-06  Bruno Haible  <bruno@clisp.org>
13637
13638         New module 'wcscspn'.
13639         * modules/wcscspn: New file.
13640         * lib/wchar.in.h (wcscspn): New declaration.
13641         * lib/wcscspn.c: New file.
13642         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
13643         * m4/wcscspn.m4: New file.
13644         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
13645         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
13646         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
13647         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
13648         * doc/posix-functions/wcscspn.texi: Mention the new module.
13649
13650 2011-02-06  Bruno Haible  <bruno@clisp.org>
13651
13652         New module 'wcsrchr'.
13653         * modules/wcsrchr: New file.
13654         * lib/wchar.in.h (wcsrchr): New declaration.
13655         * lib/wcsrchr.c: New file.
13656         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
13657         * m4/wcsrchr.m4: New file.
13658         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
13659         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
13660         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
13661         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
13662         * doc/posix-functions/wcsrchr.texi: Mention the new module.
13663
13664 2011-02-06  Bruno Haible  <bruno@clisp.org>
13665
13666         New module 'wcschr'.
13667         * modules/wcschr: New file.
13668         * lib/wchar.in.h (wcschr): New declaration.
13669         * lib/wcschr.c: New file.
13670         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
13671         * m4/wcschr.m4: New file.
13672         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
13673         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
13674         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
13675         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
13676         * doc/posix-functions/wcschr.texi: Mention the new module.
13677
13678 2011-02-06  Bruno Haible  <bruno@clisp.org>
13679
13680         New module 'wcsdup'.
13681         * modules/wcsdup: New file.
13682         * lib/wchar.in.h (wcsdup): New declaration.
13683         * lib/wcsdup.c: New file.
13684         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
13685         * m4/wcsdup.m4: New file.
13686         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
13687         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
13688         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
13689         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
13690         * doc/posix-functions/wcsdup.texi: Mention the new module.
13691
13692 2011-02-06  Bruno Haible  <bruno@clisp.org>
13693
13694         New module 'wcsxfrm'.
13695         * modules/wcsxfrm: New file.
13696         * lib/wchar.in.h (wcsxfrm): New declaration.
13697         * lib/wcsxfrm.c: New file.
13698         * lib/wcsxfrm-impl.h: New file.
13699         * m4/wcsxfrm.m4: New file.
13700         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
13701         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
13702         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
13703         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
13704         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
13705
13706 2011-02-06  Bruno Haible  <bruno@clisp.org>
13707
13708         New module 'wcscoll'.
13709         * modules/wcscoll: New file.
13710         * lib/wchar.in.h (wcscoll): New declaration.
13711         * lib/wcscoll.c: New file.
13712         * lib/wcscoll-impl.h: New file.
13713         * m4/wcscoll.m4: New file.
13714         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
13715         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
13716         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
13717         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
13718         * doc/posix-functions/wcscoll.texi: Mention the new module.
13719
13720 2011-02-06  Bruno Haible  <bruno@clisp.org>
13721
13722         New module 'wcsncasecmp'.
13723         * modules/wcsncasecmp: New file.
13724         * lib/wchar.in.h (wcsncasecmp): New declaration.
13725         * lib/wcsncasecmp.c: New file.
13726         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
13727         * m4/wcsncasecmp.m4: New file.
13728         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
13729         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
13730         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
13731         HAVE_WCSNCASECMP.
13732         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
13733         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
13734
13735 2011-02-06  Bruno Haible  <bruno@clisp.org>
13736
13737         New module 'wcscasecmp'.
13738         * modules/wcscasecmp: New file.
13739         * lib/wchar.in.h (wcscasecmp): New declaration.
13740         * lib/wcscasecmp.c: New file.
13741         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
13742         * m4/wcscasecmp.m4: New file.
13743         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
13744         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
13745         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
13746         HAVE_WCSCASECMP.
13747         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
13748         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
13749
13750 2011-02-05  Bruno Haible  <bruno@clisp.org>
13751
13752         New module 'wcsncmp'.
13753         * modules/wcsncmp: New file.
13754         * lib/wchar.in.h (wcsncmp): New declaration.
13755         * lib/wcsncmp.c: New file.
13756         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
13757         * m4/wcsncmp.m4: New file.
13758         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
13759         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
13760         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
13761         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
13762         * doc/posix-functions/wcsncmp.texi: Mention the new module.
13763
13764 2011-02-05  Bruno Haible  <bruno@clisp.org>
13765
13766         New module 'wcscmp'.
13767         * modules/wcscmp: New file.
13768         * lib/wchar.in.h (wcscmp): New declaration.
13769         * lib/wcscmp.c: New file.
13770         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
13771         * m4/wcscmp.m4: New file.
13772         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
13773         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
13774         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
13775         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
13776         * doc/posix-functions/wcscmp.texi: Mention the new module.
13777
13778 2011-02-05  Bruno Haible  <bruno@clisp.org>
13779
13780         New module 'wcsncat'.
13781         * modules/wcsncat: New file.
13782         * lib/wchar.in.h (wcsncat): New declaration.
13783         * lib/wcsncat.c: New file.
13784         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
13785         * m4/wcsncat.m4: New file.
13786         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
13787         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
13788         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
13789         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
13790         * doc/posix-functions/wcsncat.texi: Mention the new module.
13791
13792 2011-02-05  Bruno Haible  <bruno@clisp.org>
13793
13794         New module 'wcscat'.
13795         * modules/wcscat: New file.
13796         * lib/wchar.in.h (wcscat): New declaration.
13797         * lib/wcscat.c: New file.
13798         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
13799         * m4/wcscat.m4: New file.
13800         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
13801         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
13802         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
13803         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
13804         * doc/posix-functions/wcscat.texi: Mention the new module.
13805
13806 2011-02-05  Bruno Haible  <bruno@clisp.org>
13807
13808         New module 'wcpncpy'.
13809         * modules/wcpncpy: New file.
13810         * lib/wchar.in.h (wcpncpy): New declaration.
13811         * lib/wcpncpy.c: New file.
13812         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
13813         * m4/wcpncpy.m4: New file.
13814         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
13815         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
13816         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
13817         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
13818         * doc/posix-functions/wcpncpy.texi: Mention the new module.
13819
13820 2011-02-05  Bruno Haible  <bruno@clisp.org>
13821
13822         New module 'wcsncpy'.
13823         * modules/wcsncpy: New file.
13824         * lib/wchar.in.h (wcsncpy): New declaration.
13825         * lib/wcsncpy.c: New file.
13826         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
13827         * m4/wcsncpy.m4: New file.
13828         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
13829         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
13830         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
13831         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
13832         * doc/posix-functions/wcsncpy.texi: Mention the new module.
13833
13834 2011-02-05  Bruno Haible  <bruno@clisp.org>
13835
13836         New module 'wcpcpy'.
13837         * modules/wcpcpy: New file.
13838         * lib/wchar.in.h (wcpcpy): New declaration.
13839         * lib/wcpcpy.c: New file.
13840         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
13841         * m4/wcpcpy.m4: New file.
13842         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
13843         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
13844         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
13845         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
13846         * doc/posix-functions/wcpcpy.texi: Mention the new module.
13847
13848 2011-02-05  Bruno Haible  <bruno@clisp.org>
13849
13850         New module 'wcscpy'.
13851         * modules/wcscpy: New file.
13852         * lib/wchar.in.h (wcscpy): New declaration.
13853         * lib/wcscpy.c: New file.
13854         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
13855         * m4/wcscpy.m4: New file.
13856         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
13857         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
13858         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
13859         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
13860         * doc/posix-functions/wcscpy.texi: Mention the new module.
13861
13862 2011-02-05  Bruno Haible  <bruno@clisp.org>
13863
13864         New module 'wcsnlen'.
13865         * modules/wcsnlen: New file.
13866         * lib/wchar.in.h (wcsnlen): New declaration.
13867         * lib/wcsnlen.c: New file.
13868         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
13869         * m4/wcsnlen.m4: New file.
13870         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
13871         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
13872         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
13873         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
13874         * doc/posix-functions/wcsnlen.texi: Mention the new module.
13875
13876 2011-02-05  Bruno Haible  <bruno@clisp.org>
13877
13878         New module 'wcslen'.
13879         * modules/wcslen: New file.
13880         * lib/wchar.in.h (wcslen): New declaration.
13881         * lib/wcslen.c: New file.
13882         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
13883         * m4/wcslen.m4: New file.
13884         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
13885         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
13886         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
13887         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
13888         * doc/posix-functions/wcslen.texi: Mention the new module.
13889
13890 2011-02-05  Bruno Haible  <bruno@clisp.org>
13891
13892         New module 'wmemset'.
13893         * modules/wmemset: New file.
13894         * lib/wchar.in.h (wmemset): New declaration.
13895         * lib/wmemset.c: New file.
13896         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
13897         * m4/wmemset.m4: New file.
13898         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
13899         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
13900         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
13901         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
13902         * doc/posix-functions/wmemset.texi: Mention the new module.
13903
13904 2011-02-05  Bruno Haible  <bruno@clisp.org>
13905
13906         New module 'wmemmove'.
13907         * modules/wmemmove: New file.
13908         * lib/wchar.in.h (wmemmove): New declaration.
13909         * lib/wmemmove.c: New file.
13910         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
13911         * m4/wmemmove.m4: New file.
13912         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
13913         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
13914         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
13915         HAVE_WMEMMOVE.
13916         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
13917         * doc/posix-functions/wmemmove.texi: Mention the new module.
13918
13919 2011-02-05  Bruno Haible  <bruno@clisp.org>
13920
13921         New module 'wmemcpy'.
13922         * modules/wmemcpy: New file.
13923         * lib/wchar.in.h (wmemcpy): New declaration.
13924         * lib/wmemcpy.c: New file.
13925         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
13926         * m4/wmemcpy.m4: New file.
13927         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
13928         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
13929         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
13930         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
13931         * doc/posix-functions/wmemcpy.texi: Mention the new module.
13932
13933 2011-02-05  Bruno Haible  <bruno@clisp.org>
13934
13935         New module 'wmemcmp'.
13936         * modules/wmemcmp: New file.
13937         * lib/wchar.in.h (wmemcmp): New declaration.
13938         * lib/wmemcmp.c: New file.
13939         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
13940         * m4/wmemcmp.m4: New file.
13941         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
13942         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
13943         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
13944         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
13945         * doc/posix-functions/wmemcmp.texi: Mention the new module.
13946
13947 2011-02-07  Jim Meyering  <meyering@redhat.com>
13948
13949         di-set, ino-map: new modules, from coreutils
13950         * lib/di-set.c: New file.
13951         * lib/di-set.h: Likewise.
13952         * lib/ino-map.c: Likewise.
13953         * lib/ino-map.h: Likewise.
13954         * modules/di-set: Likewise.
13955         * modules/di-set-tests: Likewise.
13956         * modules/ino-map: Likewise.
13957         * modules/ino-map-tests: Likewise.
13958         * tests/test-di-set.c: Likewise.
13959         * tests/test-ino-map.c: Likewise.
13960
13961 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
13962
13963         getloadavg: merge minor changes from Emacs
13964
13965         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
13966         (getloadavg): Use memset, not bzero.
13967
13968         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
13969         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
13970         clash (bug#86).
13971
13972 2010-11-14  Bruno Haible  <bruno@clisp.org>
13973
13974         Allow multiple gnulib generated replacements to coexist.
13975         * lib/getopt.in.h (struct option): Avoid identical redefinition.
13976         * lib/inttypes.in.h (imaxdiv_t): Likewise.
13977         * lib/langinfo.in.h (nl_item): Likewise.
13978         * lib/math.in.h (_NaN, NAN): Likewise.
13979         * lib/netdb.in.h (struct addrinfo): Likewise.
13980         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
13981         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
13982         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
13983         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
13984         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
13985         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
13986         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
13987         pthread_mutexattr_init, pthread_mutexattr_settype,
13988         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
13989         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
13990         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
13991         pthread_spin_trylock, pthread_spin_unlock): Likewise.
13992         * lib/sched.in.h (struct sched_param): Likewise.
13993         * lib/se-selinux.in.h (security_class_t, security_context_t,
13994         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
13995         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
13996         lsetfilecon, fsetfilecon, security_check_context,
13997         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
13998         Likewise.
13999         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14000         Likewise.
14001         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14002         _gl_function_taking_int_returning_void_t, union sigval,
14003         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14004         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14005         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14006         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14007         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14008         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14009         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14010         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14011         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14012         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14013         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14014         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14015         socklen_t, rpl_fd_isset): Likewise.
14016         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14017         * lib/sys_time.in.h (struct timeval): Likewise.
14018         * lib/sys_times.in.h (struct tms): Likewise.
14019         * lib/sys_utsname.in.h (struct utsname):
14020         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14021         * lib/unistd.in.h (getpagesize): Likewise.
14022         * lib/wchar.in.h (mbstate_t): Likewise.
14023         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14024         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14025         towlower, towupper): Likewise.
14026         Reported by Sam Steingold <sds@gnu.org>.
14027
14028 2011-02-05  Eric Blake  <eblake@redhat.com>
14029
14030         unsetenv: work around Haiku issues
14031         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14032         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14033
14034 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14035
14036         libposix: avoid calling error() within libposix
14037         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14038         is defined.
14039
14040 2011-02-05  Eric Blake  <eblake@redhat.com>
14041
14042         strerror_r-posix: port to cygwin
14043         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14044         implementation.
14045         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14046         * tests/test-strerror_r.c (main): Fix test.
14047         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14048         issue.
14049
14050 2011-02-05  Bruno Haible  <bruno@clisp.org>
14051
14052         New module 'wmemchr'.
14053         * modules/wmemchr: New file.
14054         * lib/wchar.in.h (wmemchr): New declaration.
14055         * lib/wmemchr.c: New file.
14056         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14057         * m4/wmemchr.m4: New file.
14058         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14059         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14060         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14061         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14062         * doc/posix-functions/wmemchr.texi: Mention the new module.
14063
14064 2011-02-04  Eric Blake  <eblake@redhat.com>
14065
14066         fdopendir: detect FreeBSD bug
14067         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14068         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14069
14070 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14071
14072         stdbool: do not define HAVE_STDBOOL_H
14073         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14074         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14075         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14076         imported from the latest Autoconf git.  It was motivated by Emacs,
14077         which uses gnulib but does not need HAVE_STDBOOL_H.
14078
14079 2011-02-04  Bruno Haible  <bruno@clisp.org>
14080
14081         wcsnrtombs: Prepare for new module wwcsnrtombs.
14082         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14083         * lib/wcsnrtombs.c: Include it.
14084         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14085
14086         wcsrtombs: Prepare for new module wwcsrtombs.
14087         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14088         * lib/wcsrtombs.c: Include it.
14089         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14090
14091         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14092         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14093         * lib/mbsnrtowcs.c: Include it.
14094         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14095
14096         mbsrtowcs: Prepare for new module mbsrtowwcs.
14097         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14098         * lib/mbsrtowcs.c: Include it.
14099         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14100
14101 2011-02-04  Bruno Haible  <bruno@clisp.org>
14102
14103         vasnprintf: Reduce use of malloc for small format strings.
14104         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14105         (arguments): Add room for the first 7 arguments.
14106         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14107         (char_directives, u8_directives, u16_directives, u32_directives): Add
14108         room for the first 7 directives.
14109         * lib/printf-parse.c: Include <string.h>.
14110         (PRINTF_PARSE): Change memory handling code so that it uses the first
14111         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14112         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14113         Reported by Pádraig Brady <P@draigbrady.com>.
14114
14115 2011-01-31  Eric Blake  <eblake@redhat.com>
14116
14117         dup2: work around Haiku bug
14118         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14119         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14120         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14121         * tests/test-dup2.c (main): Enhance test.
14122
14123 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14124
14125         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14126         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14127         declared by eglibc 2.11.2.
14128         * lib/stdio.in.h: Likewise.
14129
14130 2011-01-31  Eric Blake  <eblake@redhat.com>
14131
14132         ignore-value: add missing test dependency
14133         * tests/test-ignore-value.c: Revert previous change; stdio.h
14134         provides off_t.
14135         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14136
14137 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14138
14139         mktime: clarify long_int width checking
14140         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14141         the top level, to make it clearer that the assumption about
14142         long_int width is being checked.  See
14143         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14144
14145 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14146
14147         ignore-value: Fix self-test.
14148         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14149
14150 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14151
14152         TYPE_MAXIMUM: avoid theoretically undefined behavior
14153         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14154         negative number, which the C Standard says has undefined behavior.
14155         In practice this is not a problem, but might as well do it by the book.
14156         Reported by Rich Felker and Eric Blake; see
14157         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14158         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14159         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14160         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14161         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14162         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14163         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14164
14165         mktime: #undef mktime before #defining it
14166         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14167
14168         mktime: systematically normalize tm_isdst comparisons
14169         * lib/mktime.c (isdst_differ): New function.
14170         (__mktime_internal): Use it systematically for all isdst comparisons.
14171         This completes the fix for libc BZ #6723, and removes the need for
14172         normalizing tm_isdst.  See
14173         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14174         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14175
14176         mktime: fix some integer overflow issues and sidestep the rest
14177
14178         This was prompted by a bug report by Benjamin Lindner for MinGW
14179         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14180         His bug is due to signed integer overflow (0 - INT_MIN), and I
14181         I scanned through mktime.c looking for other integer overflow
14182         problems, fixing all the bugs I found.
14183
14184         Although the C Standard says the resulting code is still not safe
14185         in the presence of integer overflow, in practice it should be good
14186         enough for all real-world two's-complement implementations, except
14187         for debugging environments that deliberately trap on integer
14188         overflow (e.g., gcc -ftrapv).
14189
14190         * lib/mktime.c (WRAPV): New macro.
14191         (SHR): Also check that long_int and time_t shift right in the
14192         usual way, before using the fast-but-unportable method.
14193         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14194         used.  The code already assumed two's complement, so there's
14195         no need to test for alternatives.  All uses removed.
14196         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14197         the C standard.  Problem reported by Rich Felker in
14198         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14199         (twos_complement_arithmetic): Also check long_int and time_t.
14200         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14201         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14202         (__mktime_internal): Avoid integer overflow with unary subtraction
14203         in two instances where -1 - X is an adequate replacement for -X,
14204         since the calculations are approximate.
14205
14206 2011-01-29  Eric Blake  <eblake@redhat.com>
14207
14208         mktime: avoid infinite loop
14209         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14210         type; behavior is still undefined but portable to all known targets.
14211         Reported by Rich Felker.
14212
14213 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14214
14215         rename, unlink, same-inode: Relicense.
14216         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14217         * modules/unlink (License): Likewise.
14218         * modules/same-inode (License): Likewise.
14219
14220 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14221
14222         mktime: avoid problems on NetBSD 5 / i386
14223         * lib/mktime.c (long_int): New type.  This works around a problem
14224         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14225         but time_t is 64 bits, and where I expect the existing code is
14226         wrong in some cases.
14227         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14228         (ydhms_diff): Bring back the compile-time check for wide-enough
14229         year and yday.
14230
14231         mktime: fix misspelling in comment
14232         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14233         This merges all recent glibc changes of importance.
14234
14235 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14236
14237         move-if-change: cope with concurrent mv of identical file.
14238         * build-aux/move-if-change (CMPPROG): Accept environment
14239         variable as an override for `cmp'.
14240         (usage): Document CMPPROG.
14241         Adjust comparison to drop stdout.  Cope with failure of mv if
14242         the target file exists and is identical to the source, for
14243         parallel builds.
14244         Report from H.J. Lu against binutils in PR binutils/12283.
14245
14246 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14247
14248         * users.txt: Mention sharutils.
14249
14250 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14251
14252         * users.txt: Mention OATH Toolkit.
14253
14254 2011-01-27  Bruno Haible  <bruno@clisp.org>
14255
14256         Prepare for supporting FreeBSD 10.
14257         * build-aux/config.libpath: Remove handling of freebsd1*.
14258
14259 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14260
14261         Prepare for supporting FreeBSD 10.
14262         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14263         match FreeBSD 10.0.
14264
14265 2011-01-27  Bruno Haible  <bruno@clisp.org>
14266
14267         vma-iter, get-rusage-as: Add OpenBSD support.
14268         * modules/vma-iter (configure.ac): Test for mquery.
14269         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14270         * lib/vma-iter.c: Include <sys/mman.h>.
14271         (vma_iterate): Add an implementation based on mquery().
14272         * lib/resource-ext.h (get_rusage_as): Update comments.
14273         * lib/get-rusage-as.c: Likewise.
14274         * lib/get-rusage-data.c: Likewise.
14275
14276 2011-01-26  Karl Berry  <karl@gnu.org>
14277
14278         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14279         variables to make it easier to override the makeinfo program used.
14280
14281 2011-01-26  Eric Blake  <eblake@redhat.com>
14282
14283         fcntl: work around Haiku F_DUPFD bugs
14284         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14285         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14286         cloexec bit on duplication.
14287         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14288
14289 2011-01-26  Bruno Haible  <bruno@clisp.org>
14290
14291         Enable memory leak tests on AIX.
14292         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14293         * tests/test-fprintf-posix3.c (main): Likewise.
14294
14295 2011-01-26  Bruno Haible  <bruno@clisp.org>
14296
14297         Tests for module 'get-rusage-data'.
14298         * modules/get-rusage-data-tests: New file.
14299         * tests/test-get-rusage-data.c: New file.
14300
14301         New module 'get-rusage-data'.
14302         * lib/resource-ext.h (get_rusage_data): New declaration.
14303         * lib/get-rusage-data.c: New file.
14304         * modules/get-rusage-data: New file.
14305
14306 2011-01-25  Bruno Haible  <bruno@clisp.org>
14307
14308         get-rusage-as: Allow for easier testing.
14309         * lib/resource-ext.h (get_rusage_as): Add comment.
14310         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14311         (main): New function for interactive testing.
14312
14313 2011-01-25  Bruno Haible  <bruno@clisp.org>
14314
14315         vma-iter: Treat Haiku like BeOS.
14316         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14317         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14318
14319 2011-01-25  Eric Blake  <eblake@redhat.com>
14320
14321         c-stack: fix regression on cygwin when libsigsegv is present
14322         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14323
14324 2011-01-24  Bruno Haible  <bruno@clisp.org>
14325
14326         vma-iter: Avoid empty intervals.
14327         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14328         on an empty interval.
14329
14330 2011-01-24  Jim Meyering  <meyering@redhat.com>
14331
14332         u64: remove unnecessary #include
14333         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14334
14335 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14336
14337         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14338         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14339
14340 2011-01-23  Bruno Haible  <bruno@clisp.org>
14341
14342         New module 'vma-iter'.
14343         * lib/vma-iter.h: New file.
14344         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14345         * modules/vma-iter: New file.
14346         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14347         for get_rusage_as_via_iterator.
14348         (vma_iterate_callback): New function.
14349         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14350         * modules/get-rusage-as (Depends-on): Add vma-iter.
14351
14352 2011-01-23  Bruno Haible  <bruno@clisp.org>
14353
14354         uninorm: Tweak includes.
14355         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14356         Reported by Jim Meyering.
14357
14358 2011-01-23  Bruno Haible  <bruno@clisp.org>
14359
14360         get-rusage-as: Improve on NetBSD.
14361         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14362         /proc, like on FreeBSD.
14363
14364 2011-01-23  Jim Meyering  <meyering@redhat.com>
14365
14366         xreadlink.h: remove unnecessary #include
14367         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14368
14369         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14370         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14371
14372 2011-01-23  Bruno Haible  <bruno@clisp.org>
14373
14374         get-rusage-as: Fix bug.
14375         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14376         original limit when aborting the first loop.
14377
14378 2011-01-23  Bruno Haible  <bruno@clisp.org>
14379
14380         wctype: Ensure valid C syntax.
14381         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14382         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14383
14384 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14385
14386         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14387         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14388         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14389         as they are needed only for configure's test case.
14390         This removes two unnecessary symbols from config.h.
14391
14392         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14393         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14394         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14395         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14396         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14397         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14398         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14399         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14400         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14401         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14402         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14403         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14404         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14405         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14406         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14407         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14408         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14409         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14410
14411 2011-01-21  Eric Blake  <eblake@redhat.com>
14412
14413         maintainer-makefile: work with older git for submodule check
14414         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14415         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14416         Reported by Matthias Bolte.
14417
14418         bootstrap: minor portability fixes
14419         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14420         (usage): Omit leading capital and trailing . on help phrases, per
14421         GNU Coding Standards.
14422         (check_versions, top level): Prefix messages with script name.
14423
14424 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14425
14426         bootstrap: support --no-git option
14427         * build-aux/bootstrap: Add --no-git option, to be used when
14428         --gnulib-srcdir points to the exact desired checkout.
14429
14430 2011-01-21  Eric Blake  <eblake@redhat.com>
14431
14432         strerror_r-posix: work with glibc 2.13
14433         * lib/strerror_r.c (strerror_r): Fix return type.
14434
14435 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14436             Bruno Haible  <bruno@clisp.org>
14437
14438         uN_strstr: New unit tests.
14439         * modules/unistr/u8-strstr-tests: New file.
14440         * modules/unistr/u16-strstr-tests: New file.
14441         * modules/unistr/u32-strstr-tests: New file.
14442         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14443         * tests/unistr/test-u8-strstr.c: New file.
14444         * tests/unistr/test-u16-strstr.c: New file.
14445         * tests/unistr/test-u32-strstr.c: New file.
14446
14447 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14448             Bruno Haible  <bruno@clisp.org>
14449
14450         Make uN_strstr functions O(n) worst-case.
14451         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14452         16-bit and 32-bit unit cases, use the unibyte algorithm from
14453         lib/mbsstr.c.
14454         * lib/unistr/u8-strstr.c: Include <string.h>.
14455         (UNIT_IS_UINT8_T): New macro.
14456         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14457         (U_STRLEN, U_STRNLEN): New macros.
14458         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14459         (U_STRLEN, U_STRNLEN): New macros.
14460         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14461         (configure.ac): Update required libunistring version.
14462         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14463         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14464         malloca.
14465         (configure.ac): Update required libunistring version.
14466         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14467         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14468         malloca.
14469         (configure.ac): Update required libunistring version.
14470
14471 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14472             Bruno Haible  <bruno@clisp.org>
14473
14474         Prepare for faster uN_strstr functions.
14475         * lib/str-kmp.h: Support definable UNITs.
14476         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
14477         needle_len argument.
14478         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
14479         * lib/mbscasestr.c (mbscasestr): Likewise.
14480
14481 2011-01-21  Pádraig Brady <P@draigBrady.com>
14482
14483         malloca-tests: make faster by unsetting MALLOC_PERTURB_
14484         * tests/test-malloca.c (main): Unset the environment variable
14485         to greatly speed up the test.
14486         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
14487         * modules/malloca-tests: Depend on unsetenv.
14488
14489 2011-01-21  Pádraig Brady <P@draigBrady.com>
14490
14491         ignore-value: remove stdint dependency
14492         * lib/ignore-value.h: Remove <stdint.h>
14493         * modules/ignore-value: Remove stdint dependency.
14494
14495 2011-01-21  Jim Meyering  <meyering@redhat.com>
14496
14497         maint.mk: adjust variable name to be consistent with other gl_ vars
14498         * top/maint.mk (gl_public_submodule_commit): Rename the variable
14499         to be lower case.
14500
14501 2011-01-20  Jim Meyering  <meyering@redhat.com>
14502
14503         maint.mk: make "check" depend on public-submodule-commit by default
14504         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
14505
14506 2011-01-20  Bruno Haible  <bruno@clisp.org>
14507
14508         mbfile, mbiter: Complete change from 2008-12-21.
14509         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
14510         * m4/mbiter.m4 (gl_MBITER): Likewise.
14511
14512 2011-01-20  Jim Meyering  <meyering@redhat.com>
14513
14514         init.sh: insert space between each function name and "()"
14515         * tests/init.sh: Make it a little easier to see that a function's
14516         name is "warn_", and not "warn" when looking at the first part of
14517         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
14518
14519 2011-01-20  Jim Meyering  <meyering@redhat.com>
14520
14521         mountlist: clean up code formatting
14522         * lib/mountlist.c (read_file_system_list): Split a long line,
14523         correct bracing style, use NULL in place of "(struct statfs *)0",
14524         don't parenthesize return value, add spaces around "=" and after
14525         ";-in-for-stmt".
14526
14527 2011-01-14  Markus Duft <mduft@gentoo.org>
14528
14529         mountlist: add support for Interix
14530         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
14531         Apply statvfs to all entries of /dev/fs.
14532         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
14533         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
14534
14535 2011-01-20  Jim Meyering  <meyering@redhat.com>
14536
14537         maint.mk: improve the public-submodule-commit rule
14538         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
14539         to suppress printing of its commands... unless V=1.
14540         Add git submodule's --quiet option to suppress printing of e.g.,
14541         "Entering gnulib" output.
14542         "cd" into $(srcdir) before running git submodule.
14543
14544 2011-01-20  Bruno Haible  <bruno@clisp.org>
14545
14546         include_next: Fix bug introduced on 2011-01-18.
14547         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
14548         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
14549         ac_cv_header_... variable if the second argument is not 'check'.
14550         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
14551         gl_NEXT_HEADERS_INTERNAL.
14552
14553 2011-01-20  Bruno Haible  <bruno@clisp.org>
14554
14555         Allow the user to avoid the GNULIB_TEST_* macros.
14556         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
14557         Suggested by Paul Eggert.
14558
14559 2011-01-14  Jim Meyering  <meyering@redhat.com>
14560
14561         bootstrap: avoid failure when there is no .gitmodules file
14562         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
14563         has been assigned to, even when its value is the empty string.
14564         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
14565         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
14566         Reported by John W. Eaton <jwe@gnu.org>.
14567
14568 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14569
14570         assume <ctype.h>, ..., <time.h> exist
14571         For years gnulib has been assuming the existence of the headers
14572         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
14573         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
14574         them, since they don't appear to be needed.
14575         * README (Portability guidelines): Document this.
14576         * lib/flock.c: Assume <fcntl.h> exists.
14577         * lib/regex_internal.h: Assume <locale.h> exists.
14578         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
14579         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
14580         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
14581         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
14582         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
14583         * m4/regex.m4 (gl_REGEX): Likewise.
14584         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
14585         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
14586         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
14587         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
14588         * tests/test-argp.c: Likewise.
14589         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
14590
14591         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
14592         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
14593         AA_APPLE_UNIVERSAL_BUILD.  See
14594         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
14595         * NEWS: Document this.
14596
14597 2011-01-19  Eric Blake  <eblake@redhat.com>
14598
14599         c-stack: assume stack overflow if SA_SIGINFO unsupported
14600         * lib/c-stack.c (SIGACTION_WORKS): Rename...
14601         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
14602         sigaction will work.
14603         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
14604         behavior match Linux.
14605         * tests/test-c-stack.c (main): Prefer NULL for pointers.
14606
14607         stdbool-tests: accomodate Haiku
14608         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
14609
14610         binary-io: fix O_TEXT on Haiku
14611         * modules/binary-io (Depends-on): Add fcntl-h.
14612         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
14613         than blindly undefining O_TEXT.
14614         Reported by Scott McCreary.
14615
14616 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14617
14618         include_next: do not check for standard headers like stddef.h
14619
14620         I found this problem when modifying Emacs to use gnulib.
14621         I noticed that it added HAVE_STDDEF_H to config.h, even though
14622         gnulib always assumes <stddef.h> exists as per README and this
14623         symbol is unnecessary.
14624         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
14625         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
14626         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
14627         faster for headers like stddef.h that are known to exist.
14628         (gl_CHECK_NEXT_HEADERS): Use it.
14629         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
14630         rather than gl_CHECK_NEXT_HEADERS.
14631         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
14632         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
14633
14634 2011-01-18  Eric Blake  <eblake@redhat.com>
14635
14636         ansi-c++-opt: skip C++ dependency style if C++ is unused
14637         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
14638         tests when we know C++ compilation is not desired.
14639         Reported by Scott McCreary.
14640
14641 2011-01-18  Bruno Haible  <bruno@clisp.org>
14642
14643         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
14644         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
14645         (main): Perform test also when getrlimit and setrlimit don't exist or
14646         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
14647         limiting the address space size using setrlimit, compare the address
14648         space size before and after the the test.
14649         * tests/test-dprintf-posix2.c: Likewise.
14650         * tests/test-fprintf-posix3.sh: Update skip messages.
14651         * tests/test-dprintf-posix2.sh: Likewise.
14652         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
14653         * modules/dprintf-posix-tests (Depends-on): Likewise.
14654         Reported by Bruce Korb <bkorb@gnu.org> and
14655         Gary V. Vaughan <gary@gnu.org>.
14656
14657 2011-01-18  Bruno Haible  <bruno@clisp.org>
14658
14659         get-rusage-as: Improvement for Cygwin.
14660         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
14661         areas that are merely reserved.
14662
14663 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14664
14665         strftime: remove dependencies on multibyte modules
14666
14667         strftime depended on mbrlen, mbsinit, and wchar, but these modules
14668         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
14669         only if __osf__ is defined, and I suspect OSF doesn't need these
14670         other modules.  If my guess is wrong, we'll need to come up with a
14671         variant of strftime that doesn't need the multibyte modules.
14672
14673         I discovered this problem when attempting modify Emacs to use the
14674         strftime module.  With the previous gnulib, this caused Emacs to
14675         need 31 new files, ranging from lib/config.charset to
14676         m4/wint_t.m4.  This was overkill and I expect would be offputting
14677         to the Emacs maintainers.  After this change, only 6 new files are
14678         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
14679         stdbool.m4, and tm_gmtoff.m4.
14680
14681         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
14682         Suggested by Bruno Haible in
14683         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
14684         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
14685         and do not check for wchar.h.
14686         * modules/strftime (Files): Remove m4/mbstate_t.m4.
14687         (Depends-on): Remove mbrlen, mbsinit, wchar.
14688
14689 2011-01-18  Bruno Haible  <bruno@clisp.org>
14690
14691         Tests for module 'get-rusage-as'.
14692         * modules/get-rusage-as-tests: New file.
14693         * tests/test-get-rusage-as.c: New file.
14694
14695         New module 'get-rusage-as'.
14696         * modules/get-rusage-as: New file.
14697         * lib/resource-ext.h: New file.
14698         * lib/get-rusage-as.c: New file.
14699
14700 2011-01-17  Eric Blake  <eblake@redhat.com>
14701
14702         sigaction: relax license from LGPLv3+ to LGPLv2+
14703         * modules/sigaction (License): Relax to LGPLv2+.
14704
14705 2011-01-14  Bruno Haible  <bruno@clisp.org>
14706
14707         filemode: Make function declarations usable in C++ mode.
14708         * lib/filemode.h: Enclose function declarations in extern "C" block.
14709         Reported by John W. Eaton <jwe@gnu.org>.
14710
14711 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
14712
14713         save-cwd: no longer include "xgetcwd.h"
14714         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
14715         This avoids a compilation failure in projects that use save-cwd
14716         without also using the xgetcwd module.
14717
14718 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
14719
14720         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
14721         This is so that a program like Emacs, which needs only dtoastr,
14722         does not have to bother with distributing and compiling ftoastr
14723         and ldtoastr.
14724         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
14725         * modules/dtoastr, modules/ldtoastr: New files.
14726         * modules/ftoastr: Now works just for 'float'.
14727         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
14728         (Makefile.am): Remove ftoastr.h (not needed and no effect),
14729         dtoastr.c, ldtoastr.c.
14730
14731 2011-01-11  Jim Meyering  <meyering@redhat.com>
14732
14733         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
14734         There is no need to work around the lack of the fchdir function,
14735         since gnulib can now provide a replacement when required.
14736         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
14737         * modules/save-cwd (Depends-on): Add fchdir.
14738
14739 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
14740
14741         openat, save-cwd: avoid xmalloc
14742
14743         This removes a direct (but undocumented) dependency of openat on
14744         xalloc, along with an indirect dependency via save-cwd.  It also
14745         removes a dependency of save-cwd on xgetcwd, and thereby
14746         indirectly on xalloc.  This change causes the openat substitute
14747         to fall back on save_cwd when memory is tight, and for save_cwd to
14748         fail instead of dying when memory is tight, but that's good enough.
14749         Problem and initial idea for fix reported by Bastien Roucaries in
14750         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
14751
14752         * lib/openat-proc.c: Include stdlib.h (for malloc), not
14753         xalloc.h (for xmalloc).
14754         (openat_proc_name): Use malloc, not xmalloc.
14755         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
14756         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
14757
14758         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
14759         This avoids heap allocation for file names whose lengths are in
14760         the range 512..1023, with the upper bound increasing to at most
14761         4031 depending on the platform's PATH_MAX.  (We do not want
14762         pathmax.h here as it might supply a non-constant PATH_MAX.)
14763         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
14764         Perhaps they should be moved to malloca.h?
14765         (OPENAT_BUFFER_SIZE): Use them.
14766
14767 2011-01-10  Bruno Haible  <bruno@clisp.org>
14768
14769         doc: Update users.txt.
14770         * users.txt: Add recutils.
14771
14772 2011-01-09  Karl Berry  <karl@gnu.org>
14773
14774         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
14775
14776         * doc/configmake.texi: New file.
14777         * doc/gnulib.texi: Include it.
14778         * modules/configmake: Move documentation from here.
14779
14780 2011-01-09  Bruno Haible  <bruno@clisp.org>
14781
14782         Update to Unicode 6.0.0.
14783         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
14784         (get_lbp): Update for Unicode 6.0.0.
14785         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
14786         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
14787         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
14788         U+11001, U+11038..U+11046. Remove U+06DE.
14789         (uc_width): Fix bounds of planes.
14790         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14791         lib/uniwidth/width.c.
14792         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
14793         trailing whitespace removed.
14794         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
14795         without comments, but with the original copyright notice.
14796         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
14797         * lib/unicase/ignorable.h: Likewise.
14798         * lib/unicase/tocasefold.h: Likewise.
14799         * lib/unicase/tolower.h: Likewise.
14800         * lib/unicase/totitle.h: Likewise.
14801         * lib/unicase/toupper.h: Likewise.
14802         * lib/unictype/bidi_of.h: Likewise.
14803         * lib/unictype/blocks.h: Likewise.
14804         * lib/unictype/categ_C.h: Likewise.
14805         * lib/unictype/categ_Cn.h: Likewise.
14806         * lib/unictype/categ_L.h: Likewise.
14807         * lib/unictype/categ_Ll.h: Likewise.
14808         * lib/unictype/categ_Lm.h: Likewise.
14809         * lib/unictype/categ_Lo.h: Likewise.
14810         * lib/unictype/categ_Lu.h: Likewise.
14811         * lib/unictype/categ_M.h: Likewise.
14812         * lib/unictype/categ_Mc.h: Likewise.
14813         * lib/unictype/categ_Me.h: Likewise.
14814         * lib/unictype/categ_Mn.h: Likewise.
14815         * lib/unictype/categ_N.h: Likewise.
14816         * lib/unictype/categ_Nd.h: Likewise.
14817         * lib/unictype/categ_No.h: Likewise.
14818         * lib/unictype/categ_P.h: Likewise.
14819         * lib/unictype/categ_Po.h: Likewise.
14820         * lib/unictype/categ_S.h: Likewise.
14821         * lib/unictype/categ_Sc.h: Likewise.
14822         * lib/unictype/categ_Sk.h: Likewise.
14823         * lib/unictype/categ_Sm.h: Likewise.
14824         * lib/unictype/categ_So.h: Likewise.
14825         * lib/unictype/categ_of.h: Likewise.
14826         * lib/unictype/combining.h: Likewise.
14827         * lib/unictype/ctype_alnum.h: Likewise.
14828         * lib/unictype/ctype_alpha.h: Likewise.
14829         * lib/unictype/ctype_graph.h: Likewise.
14830         * lib/unictype/ctype_lower.h: Likewise.
14831         * lib/unictype/ctype_print.h: Likewise.
14832         * lib/unictype/ctype_punct.h: Likewise.
14833         * lib/unictype/ctype_upper.h: Likewise.
14834         * lib/unictype/decdigit.h: Likewise.
14835         * lib/unictype/digit.h: Likewise.
14836         * lib/unictype/numeric.h: Likewise.
14837         * lib/unictype/pr_alphabetic.h: Likewise.
14838         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
14839         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
14840         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
14841         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
14842         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
14843         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
14844         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
14845         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
14846         * lib/unictype/pr_case_ignorable.h: Likewise.
14847         * lib/unictype/pr_cased.h: Likewise.
14848         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
14849         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
14850         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
14851         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
14852         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
14853         * lib/unictype/pr_combining.h: Likewise.
14854         * lib/unictype/pr_composite.h: Likewise.
14855         * lib/unictype/pr_currency_symbol.h: Likewise.
14856         * lib/unictype/pr_decimal_digit.h: Likewise.
14857         * lib/unictype/pr_deprecated.h: Likewise.
14858         * lib/unictype/pr_format_control.h: Likewise.
14859         * lib/unictype/pr_grapheme_base.h: Likewise.
14860         * lib/unictype/pr_grapheme_extend.h: Likewise.
14861         * lib/unictype/pr_grapheme_link.h: Likewise.
14862         * lib/unictype/pr_id_continue.h: Likewise.
14863         * lib/unictype/pr_id_start.h: Likewise.
14864         * lib/unictype/pr_ideographic.h: Likewise.
14865         * lib/unictype/pr_lowercase.h: Likewise.
14866         * lib/unictype/pr_math.h: Likewise.
14867         * lib/unictype/pr_numeric.h: Likewise.
14868         * lib/unictype/pr_other_alphabetic.h: Likewise.
14869         * lib/unictype/pr_other_id_continue.h: Likewise.
14870         * lib/unictype/pr_other_math.h: Likewise.
14871         * lib/unictype/pr_punctuation.h: Likewise.
14872         * lib/unictype/pr_sentence_terminal.h: Likewise.
14873         * lib/unictype/pr_terminal_punctuation.h: Likewise.
14874         * lib/unictype/pr_unassigned_code_value.h: Likewise.
14875         * lib/unictype/pr_unified_ideograph.h: Likewise.
14876         * lib/unictype/pr_uppercase.h: Likewise.
14877         * lib/unictype/pr_xid_continue.h: Likewise.
14878         * lib/unictype/pr_xid_start.h: Likewise.
14879         * lib/unictype/scripts.h: Likewise.
14880         * lib/unictype/scripts_byname.gperf: Likewise.
14881         * lib/unictype/sy_java_ident.h: Likewise.
14882         * lib/unigbrk/gbrkprop.h: Likewise.
14883         * lib/unilbrk/lbrkprop1.h: Likewise.
14884         * lib/unilbrk/lbrkprop2.h: Likewise.
14885         * lib/uninorm/decomposition-table2.h: Likewise.
14886         * lib/uniwbrk/wbrkprop.h: Likewise.
14887         * tests/unicase/test-cased.c: Likewise.
14888         * tests/unicase/test-ignorable.c: Likewise.
14889         * tests/unicase/test-uc_tolower.c: Likewise.
14890         * tests/unicase/test-uc_totitle.c: Likewise.
14891         * tests/unicase/test-uc_toupper.c: Likewise.
14892         * tests/unictype/test-categ_C.c: Likewise.
14893         * tests/unictype/test-categ_Cn.c: Likewise.
14894         * tests/unictype/test-categ_L.c: Likewise.
14895         * tests/unictype/test-categ_Ll.c: Likewise.
14896         * tests/unictype/test-categ_Lm.c: Likewise.
14897         * tests/unictype/test-categ_Lo.c: Likewise.
14898         * tests/unictype/test-categ_Lu.c: Likewise.
14899         * tests/unictype/test-categ_M.c: Likewise.
14900         * tests/unictype/test-categ_Mc.c: Likewise.
14901         * tests/unictype/test-categ_Me.c: Likewise.
14902         * tests/unictype/test-categ_Mn.c: Likewise.
14903         * tests/unictype/test-categ_N.c: Likewise.
14904         * tests/unictype/test-categ_Nd.c: Likewise.
14905         * tests/unictype/test-categ_No.c: Likewise.
14906         * tests/unictype/test-categ_P.c: Likewise.
14907         * tests/unictype/test-categ_Po.c: Likewise.
14908         * tests/unictype/test-categ_S.c: Likewise.
14909         * tests/unictype/test-categ_Sc.c: Likewise.
14910         * tests/unictype/test-categ_Sk.c: Likewise.
14911         * tests/unictype/test-categ_Sm.c: Likewise.
14912         * tests/unictype/test-categ_So.c: Likewise.
14913         * tests/unictype/test-ctype_alnum.c: Likewise.
14914         * tests/unictype/test-ctype_alpha.c: Likewise.
14915         * tests/unictype/test-ctype_graph.c: Likewise.
14916         * tests/unictype/test-ctype_lower.c: Likewise.
14917         * tests/unictype/test-ctype_print.c: Likewise.
14918         * tests/unictype/test-ctype_punct.c: Likewise.
14919         * tests/unictype/test-ctype_upper.c: Likewise.
14920         * tests/unictype/test-decdigit.h: Likewise.
14921         * tests/unictype/test-digit.h: Likewise.
14922         * tests/unictype/test-numeric.h: Likewise.
14923         * tests/unictype/test-pr_alphabetic.c: Likewise.
14924         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
14925         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
14926         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
14927         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
14928         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
14929         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
14930         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
14931         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
14932         * tests/unictype/test-pr_case_ignorable.c: Likewise.
14933         * tests/unictype/test-pr_cased.c: Likewise.
14934         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
14935         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
14936         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
14937         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
14938         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
14939         * tests/unictype/test-pr_combining.c: Likewise.
14940         * tests/unictype/test-pr_composite.c: Likewise.
14941         * tests/unictype/test-pr_currency_symbol.c: Likewise.
14942         * tests/unictype/test-pr_decimal_digit.c: Likewise.
14943         * tests/unictype/test-pr_deprecated.c: Likewise.
14944         * tests/unictype/test-pr_format_control.c: Likewise.
14945         * tests/unictype/test-pr_grapheme_base.c: Likewise.
14946         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
14947         * tests/unictype/test-pr_grapheme_link.c: Likewise.
14948         * tests/unictype/test-pr_id_continue.c: Likewise.
14949         * tests/unictype/test-pr_id_start.c: Likewise.
14950         * tests/unictype/test-pr_ideographic.c: Likewise.
14951         * tests/unictype/test-pr_lowercase.c: Likewise.
14952         * tests/unictype/test-pr_math.c: Likewise.
14953         * tests/unictype/test-pr_numeric.c: Likewise.
14954         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
14955         * tests/unictype/test-pr_other_id_continue.c: Likewise.
14956         * tests/unictype/test-pr_other_math.c: Likewise.
14957         * tests/unictype/test-pr_punctuation.c: Likewise.
14958         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
14959         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
14960         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
14961         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
14962         * tests/unictype/test-pr_uppercase.c: Likewise.
14963         * tests/unictype/test-pr_xid_continue.c: Likewise.
14964         * tests/unictype/test-pr_xid_start.c: Likewise.
14965         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
14966         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
14967         changes.
14968         * lib/unictype/categ_Cc.h: Likewise.
14969         * lib/unictype/categ_Cf.h: Likewise.
14970         * lib/unictype/categ_Co.h: Likewise.
14971         * lib/unictype/categ_Cs.h: Likewise.
14972         * lib/unictype/categ_Lt.h: Likewise.
14973         * lib/unictype/categ_Nl.h: Likewise.
14974         * lib/unictype/categ_Pc.h: Likewise.
14975         * lib/unictype/categ_Pd.h: Likewise.
14976         * lib/unictype/categ_Pe.h: Likewise.
14977         * lib/unictype/categ_Pf.h: Likewise.
14978         * lib/unictype/categ_Pi.h: Likewise.
14979         * lib/unictype/categ_Ps.h: Likewise.
14980         * lib/unictype/categ_Z.h: Likewise.
14981         * lib/unictype/categ_Zl.h: Likewise.
14982         * lib/unictype/categ_Zp.h: Likewise.
14983         * lib/unictype/categ_Zs.h: Likewise.
14984         * lib/unictype/ctype_blank.h: Likewise.
14985         * lib/unictype/ctype_cntrl.h: Likewise.
14986         * lib/unictype/ctype_digit.h: Likewise.
14987         * lib/unictype/ctype_space.h: Likewise.
14988         * lib/unictype/ctype_xdigit.h: Likewise.
14989         * lib/unictype/mirror.h: Likewise.
14990         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
14991         * lib/unictype/pr_bidi_block_separator.h: Likewise.
14992         * lib/unictype/pr_bidi_common_separator.h: Likewise.
14993         * lib/unictype/pr_bidi_control.h: Likewise.
14994         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
14995         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
14996         * lib/unictype/pr_bidi_european_digit.h: Likewise.
14997         * lib/unictype/pr_bidi_pdf.h: Likewise.
14998         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
14999         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15000         * lib/unictype/pr_dash.h: Likewise.
15001         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15002         * lib/unictype/pr_diacritic.h: Likewise.
15003         * lib/unictype/pr_extender.h: Likewise.
15004         * lib/unictype/pr_hex_digit.h: Likewise.
15005         * lib/unictype/pr_hyphen.h: Likewise.
15006         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15007         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15008         * lib/unictype/pr_ignorable_control.h: Likewise.
15009         * lib/unictype/pr_iso_control.h: Likewise.
15010         * lib/unictype/pr_join_control.h: Likewise.
15011         * lib/unictype/pr_left_of_pair.h: Likewise.
15012         * lib/unictype/pr_line_separator.h: Likewise.
15013         * lib/unictype/pr_logical_order_exception.h: Likewise.
15014         * lib/unictype/pr_non_break.h: Likewise.
15015         * lib/unictype/pr_not_a_character.h: Likewise.
15016         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15017         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15018         * lib/unictype/pr_other_id_start.h: Likewise.
15019         * lib/unictype/pr_other_lowercase.h: Likewise.
15020         * lib/unictype/pr_other_uppercase.h: Likewise.
15021         * lib/unictype/pr_paired_punctuation.h: Likewise.
15022         * lib/unictype/pr_paragraph_separator.h: Likewise.
15023         * lib/unictype/pr_pattern_syntax.h: Likewise.
15024         * lib/unictype/pr_pattern_white_space.h: Likewise.
15025         * lib/unictype/pr_private_use.h: Likewise.
15026         * lib/unictype/pr_quotation_mark.h: Likewise.
15027         * lib/unictype/pr_radical.h: Likewise.
15028         * lib/unictype/pr_soft_dotted.h: Likewise.
15029         * lib/unictype/pr_space.h: Likewise.
15030         * lib/unictype/pr_titlecase.h: Likewise.
15031         * lib/unictype/pr_variation_selector.h: Likewise.
15032         * lib/unictype/pr_white_space.h: Likewise.
15033         * lib/unictype/pr_zero_width.h: Likewise.
15034         * lib/unictype/sy_c_ident.h: Likewise.
15035         * lib/unictype/sy_c_whitespace.h: Likewise.
15036         * lib/unictype/sy_java_whitespace.h: Likewise.
15037         * lib/uninorm/composition-table.gperf: Likewise.
15038         * lib/uninorm/decomposition-table1.h: Likewise.
15039         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15040         LB8.
15041         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15042         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15043         * modules/unictype/*: Bump version number of expected libunistring
15044         version.
15045
15046 2011-01-09  Bruno Haible  <bruno@clisp.org>
15047
15048         Update to Unicode 5.2.0.
15049         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15050         trailing whitespace removed.
15051
15052 2011-01-09  Bruno Haible  <bruno@clisp.org>
15053
15054         New Unicode character properties, from Unicode 5.2.0.
15055         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15056         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15057         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15058         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15059         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15060         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15061         uc_is_property_cased, uc_is_property_case_ignorable,
15062         uc_is_property_changes_when_lowercased,
15063         uc_is_property_changes_when_uppercased,
15064         uc_is_property_changes_when_titlecased,
15065         uc_is_property_changes_when_casefolded,
15066         uc_is_property_changes_when_casemapped): New declarations.
15067         * lib/unictype/pr_byname.gperf: Add the new properties.
15068         * modules/unictype/property-byname (Depends-on): Depend on the new
15069         properties modules.
15070         * modules/unictype/property-all (Depends-on): Likewise.
15071         * MODULES.html.sh (Unicode string functions): Add
15072         unictype/property-case-ignorable, unictype/property-cased,
15073         unictype/property-changes-when-casefolded,
15074         unictype/property-changes-when-casemapped,
15075         unictype/property-changes-when-lowercased,
15076         unictype/property-changes-when-titlecased,
15077         unictype/property-changes-when-uppercased.
15078
15079         New module 'unictype/property-changes-when-casemapped'.
15080         * modules/unictype/property-changes-when-casemapped: New file.
15081         * lib/unictype/pr_changes_when_casemapped.c: New file.
15082         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15083         generated by gen-uni-tables.
15084         * modules/unictype/property-changes-when-casemapped-tests: New file.
15085         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15086         automatically generated by gen-uni-tables.
15087
15088         New module 'unictype/property-changes-when-casefolded'.
15089         * modules/unictype/property-changes-when-casefolded: New file.
15090         * lib/unictype/pr_changes_when_casefolded.c: New file.
15091         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15092         generated by gen-uni-tables.
15093         * modules/unictype/property-changes-when-casefolded-tests: New file.
15094         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15095         automatically generated by gen-uni-tables.
15096
15097         New module 'unictype/property-changes-when-titlecased'.
15098         * modules/unictype/property-changes-when-titlecased: New file.
15099         * lib/unictype/pr_changes_when_titlecased.c: New file.
15100         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15101         generated by gen-uni-tables.
15102         * modules/unictype/property-changes-when-titlecased-tests: New file.
15103         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15104         automatically generated by gen-uni-tables.
15105
15106         New module 'unictype/property-changes-when-uppercased'.
15107         * modules/unictype/property-changes-when-uppercased: New file.
15108         * lib/unictype/pr_changes_when_uppercased.c: New file.
15109         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15110         generated by gen-uni-tables.
15111         * modules/unictype/property-changes-when-uppercased-tests: New file.
15112         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15113         automatically generated by gen-uni-tables.
15114
15115         New module 'unictype/property-changes-when-lowercased'.
15116         * modules/unictype/property-changes-when-lowercased: New file.
15117         * lib/unictype/pr_changes_when_lowercased.c: New file.
15118         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15119         generated by gen-uni-tables.
15120         * modules/unictype/property-changes-when-lowercased-tests: New file.
15121         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15122         automatically generated by gen-uni-tables.
15123
15124         New module 'unictype/property-case-ignorable'.
15125         * modules/unictype/property-case-ignorable: New file.
15126         * lib/unictype/pr_case_ignorable.c: New file.
15127         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15128         by gen-uni-tables.
15129         * modules/unictype/property-case-ignorable-tests: New file.
15130         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15131         generated by gen-uni-tables.
15132
15133         New module 'unictype/property-cased'.
15134         * modules/unictype/property-cased: New file.
15135         * lib/unictype/pr_cased.c: New file.
15136         * lib/unictype/pr_cased.h: New file, automatically generated by
15137         gen-uni-tables.
15138         * modules/unictype/property-cased-tests: New file.
15139         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15140         gen-uni-tables.
15141
15142 2011-01-09  Bruno Haible  <bruno@clisp.org>
15143
15144         Update to Unicode 5.2.0.
15145         * lib/gen-uni-tables.c (output_predicate, output_category,
15146         output_combclass, output_bidi_category, output_decimal_digit_test,
15147         output_decimal_digit, output_digit_test, output_digit,
15148         output_numeric_test, output_numeric, output_mirror, output_scripts,
15149         output_scripts_byname, output_blocks, output_ident_category): Fix
15150         comment header.
15151         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15152         get_wbp.
15153         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15154         items.
15155         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15156         Changes_When_Lowercased, Changes_When_Uppercased,
15157         Changes_When_Titlecased, Changes_When_Casefolded,
15158         Changes_When_Casemapped.
15159         (is_property_alphabetic, is_property_default_ignorable_code_point):
15160         Update for Unicode 5.2.0.
15161         (is_property_cased, is_property_case_ignorable,
15162         is_property_changes_when_lowercased,
15163         is_property_changes_when_uppercased,
15164         is_property_changes_when_titlecased,
15165         is_property_changes_when_casefolded,
15166         is_property_changes_when_casemapped): New functions.
15167         (output_properties): Output also the properties cased, case_ignorable,
15168         changes_when_lowercased, changes_when_uppercased,
15169         changes_when_titlecased, changes_when_casefolded,
15170         changes_when_casemapped.
15171         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15172         Unicode TR#11 revision 17 -> 19.
15173         (LBP_CP): New enumeration value.
15174         (LBP_*): Adjust values accordingly.
15175         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15176         TR#14 revision 22 -> 24.
15177         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15178         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15179         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15180         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15181         is_WBP_MIDLETTER.
15182         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15183         the code1 and code2 of each composition rule.
15184         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15185         * lib/unicase/ignorable.h: Likewise.
15186         * lib/unicase/tocasefold.h: Likewise.
15187         * lib/unicase/tolower.h: Likewise.
15188         * lib/unicase/totitle.h: Likewise.
15189         * lib/unicase/toupper.h: Likewise.
15190         * lib/unictype/bidi_of.h: Likewise.
15191         * lib/unictype/blocks.h: Likewise.
15192         * lib/unictype/categ_C.h: Likewise.
15193         * lib/unictype/categ_Cf.h: Likewise.
15194         * lib/unictype/categ_Cn.h: Likewise.
15195         * lib/unictype/categ_L.h: Likewise.
15196         * lib/unictype/categ_Ll.h: Likewise.
15197         * lib/unictype/categ_Lm.h: Likewise.
15198         * lib/unictype/categ_Lo.h: Likewise.
15199         * lib/unictype/categ_Lu.h: Likewise.
15200         * lib/unictype/categ_M.h: Likewise.
15201         * lib/unictype/categ_Mc.h: Likewise.
15202         * lib/unictype/categ_Mn.h: Likewise.
15203         * lib/unictype/categ_N.h: Likewise.
15204         * lib/unictype/categ_Nd.h: Likewise.
15205         * lib/unictype/categ_Nl.h: Likewise.
15206         * lib/unictype/categ_No.h: Likewise.
15207         * lib/unictype/categ_P.h: Likewise.
15208         * lib/unictype/categ_Pd.h: Likewise.
15209         * lib/unictype/categ_Po.h: Likewise.
15210         * lib/unictype/categ_S.h: Likewise.
15211         * lib/unictype/categ_Sc.h: Likewise.
15212         * lib/unictype/categ_So.h: Likewise.
15213         * lib/unictype/categ_of.h: Likewise.
15214         * lib/unictype/combining.h: Likewise.
15215         * lib/unictype/ctype_alnum.h: Likewise.
15216         * lib/unictype/ctype_alpha.h: Likewise.
15217         * lib/unictype/ctype_graph.h: Likewise.
15218         * lib/unictype/ctype_lower.h: Likewise.
15219         * lib/unictype/ctype_print.h: Likewise.
15220         * lib/unictype/ctype_punct.h: Likewise.
15221         * lib/unictype/ctype_upper.h: Likewise.
15222         * lib/unictype/decdigit.h: Likewise.
15223         * lib/unictype/digit.h: Likewise.
15224         * lib/unictype/numeric.h: Likewise.
15225         * lib/unictype/pr_alphabetic.h: Likewise.
15226         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15227         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15228         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15229         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15230         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15231         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15232         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15233         * lib/unictype/pr_combining.h: Likewise.
15234         * lib/unictype/pr_composite.h: Likewise.
15235         * lib/unictype/pr_currency_symbol.h: Likewise.
15236         * lib/unictype/pr_dash.h: Likewise.
15237         * lib/unictype/pr_decimal_digit.h: Likewise.
15238         * lib/unictype/pr_deprecated.h: Likewise.
15239         * lib/unictype/pr_diacritic.h: Likewise.
15240         * lib/unictype/pr_extender.h: Likewise.
15241         * lib/unictype/pr_grapheme_base.h: Likewise.
15242         * lib/unictype/pr_grapheme_extend.h: Likewise.
15243         * lib/unictype/pr_grapheme_link.h: Likewise.
15244         * lib/unictype/pr_id_continue.h: Likewise.
15245         * lib/unictype/pr_id_start.h: Likewise.
15246         * lib/unictype/pr_ideographic.h: Likewise.
15247         * lib/unictype/pr_ignorable_control.h: Likewise.
15248         * lib/unictype/pr_logical_order_exception.h: Likewise.
15249         * lib/unictype/pr_lowercase.h: Likewise.
15250         * lib/unictype/pr_numeric.h: Likewise.
15251         * lib/unictype/pr_other_alphabetic.h: Likewise.
15252         * lib/unictype/pr_punctuation.h: Likewise.
15253         * lib/unictype/pr_sentence_terminal.h: Likewise.
15254         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15255         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15256         * lib/unictype/pr_unified_ideograph.h: Likewise.
15257         * lib/unictype/pr_uppercase.h: Likewise.
15258         * lib/unictype/pr_xid_continue.h: Likewise.
15259         * lib/unictype/pr_xid_start.h: Likewise.
15260         * lib/unictype/pr_zero_width.h: Likewise.
15261         * lib/unictype/scripts.h: Likewise.
15262         * lib/unictype/scripts_byname.gperf: Likewise.
15263         * lib/unictype/sy_java_ident.h: Likewise.
15264         * lib/unigbrk/gbrkprop.h: Likewise.
15265         * lib/unilbrk/lbrkprop1.h: Likewise.
15266         * lib/unilbrk/lbrkprop2.h: Likewise.
15267         * lib/unilbrk/lbrktables.h: Likewise.
15268         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15269         LBP_CP. Implement rule LB30.
15270         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15271         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15272         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15273         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15274         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15275         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15276         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15277         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15278         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15279         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15280         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15281         bits instead of 16 bits in the code1 and code2 of each composition
15282         rule.
15283         (uc_composition): Update for Unicode 5.2.0.
15284         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15285         * lib/uninorm/decomposition-table2.h: Likewise.
15286         * lib/uniwbrk/wbrkprop.h: Likewise.
15287         * tests/unicase/test-cased.c: Likewise.
15288         * tests/unicase/test-ignorable.c: Likewise.
15289         * tests/unicase/test-uc_tolower.c: Likewise.
15290         * tests/unicase/test-uc_totitle.c: Likewise.
15291         * tests/unicase/test-uc_toupper.c: Likewise.
15292         * tests/unictype/test-categ_C.c: Likewise.
15293         * tests/unictype/test-categ_Cf.c: Likewise.
15294         * tests/unictype/test-categ_Cn.c: Likewise.
15295         * tests/unictype/test-categ_L.c: Likewise.
15296         * tests/unictype/test-categ_Ll.c: Likewise.
15297         * tests/unictype/test-categ_Lm.c: Likewise.
15298         * tests/unictype/test-categ_Lo.c: Likewise.
15299         * tests/unictype/test-categ_Lu.c: Likewise.
15300         * tests/unictype/test-categ_M.c: Likewise.
15301         * tests/unictype/test-categ_Mc.c: Likewise.
15302         * tests/unictype/test-categ_Mn.c: Likewise.
15303         * tests/unictype/test-categ_N.c: Likewise.
15304         * tests/unictype/test-categ_Nd.c: Likewise.
15305         * tests/unictype/test-categ_Nl.c: Likewise.
15306         * tests/unictype/test-categ_No.c: Likewise.
15307         * tests/unictype/test-categ_P.c: Likewise.
15308         * tests/unictype/test-categ_Pd.c: Likewise.
15309         * tests/unictype/test-categ_Po.c: Likewise.
15310         * tests/unictype/test-categ_S.c: Likewise.
15311         * tests/unictype/test-categ_Sc.c: Likewise.
15312         * tests/unictype/test-categ_So.c: Likewise.
15313         * tests/unictype/test-ctype_alnum.c: Likewise.
15314         * tests/unictype/test-ctype_alpha.c: Likewise.
15315         * tests/unictype/test-ctype_graph.c: Likewise.
15316         * tests/unictype/test-ctype_lower.c: Likewise.
15317         * tests/unictype/test-ctype_print.c: Likewise.
15318         * tests/unictype/test-ctype_punct.c: Likewise.
15319         * tests/unictype/test-ctype_upper.c: Likewise.
15320         * tests/unictype/test-decdigit.h: Likewise.
15321         * tests/unictype/test-digit.h: Likewise.
15322         * tests/unictype/test-numeric.h: Likewise.
15323         * tests/unictype/test-pr_alphabetic.c: Likewise.
15324         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15325         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15326         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15327         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15328         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15329         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15330         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15331         * tests/unictype/test-pr_combining.c: Likewise.
15332         * tests/unictype/test-pr_composite.c: Likewise.
15333         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15334         * tests/unictype/test-pr_dash.c: Likewise.
15335         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15336         * tests/unictype/test-pr_deprecated.c: Likewise.
15337         * tests/unictype/test-pr_diacritic.c: Likewise.
15338         * tests/unictype/test-pr_extender.c: Likewise.
15339         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15340         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15341         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15342         * tests/unictype/test-pr_id_continue.c: Likewise.
15343         * tests/unictype/test-pr_id_start.c: Likewise.
15344         * tests/unictype/test-pr_ideographic.c: Likewise.
15345         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15346         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15347         * tests/unictype/test-pr_lowercase.c: Likewise.
15348         * tests/unictype/test-pr_numeric.c: Likewise.
15349         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15350         * tests/unictype/test-pr_punctuation.c: Likewise.
15351         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15352         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15353         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15354         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15355         * tests/unictype/test-pr_uppercase.c: Likewise.
15356         * tests/unictype/test-pr_xid_continue.c: Likewise.
15357         * tests/unictype/test-pr_xid_start.c: Likewise.
15358         * tests/unictype/test-pr_zero_width.c: Likewise.
15359         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15360         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15361         changed behaviour: line breaking is now disallowed between a letter
15362         or '=' and '('.
15363         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15364         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15365         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15366         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15367         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15368         lib/uniwidth/width.c.
15369         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15370         without comments, but with the original copyright notice.
15371         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15372         changes.
15373         * lib/unictype/categ_Cc.h: Likewise.
15374         * lib/unictype/categ_Co.h: Likewise.
15375         * lib/unictype/categ_Cs.h: Likewise.
15376         * lib/unictype/categ_Lt.h: Likewise.
15377         * lib/unictype/categ_Me.h: Likewise.
15378         * lib/unictype/categ_Pc.h: Likewise.
15379         * lib/unictype/categ_Pe.h: Likewise.
15380         * lib/unictype/categ_Pf.h: Likewise.
15381         * lib/unictype/categ_Pi.h: Likewise.
15382         * lib/unictype/categ_Ps.h: Likewise.
15383         * lib/unictype/categ_Sk.h: Likewise.
15384         * lib/unictype/categ_Sm.h: Likewise.
15385         * lib/unictype/categ_Z.h: Likewise.
15386         * lib/unictype/categ_Zl.h: Likewise.
15387         * lib/unictype/categ_Zp.h: Likewise.
15388         * lib/unictype/categ_Zs.h: Likewise.
15389         * lib/unictype/ctype_blank.h: Likewise.
15390         * lib/unictype/ctype_cntrl.h: Likewise.
15391         * lib/unictype/ctype_digit.h: Likewise.
15392         * lib/unictype/ctype_space.h: Likewise.
15393         * lib/unictype/ctype_xdigit.h: Likewise.
15394         * lib/unictype/mirror.h: Likewise.
15395         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15396         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15397         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15398         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15399         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15400         * lib/unictype/pr_bidi_control.h: Likewise.
15401         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15402         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15403         * lib/unictype/pr_bidi_pdf.h: Likewise.
15404         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15405         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15406         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15407         * lib/unictype/pr_format_control.h: Likewise.
15408         * lib/unictype/pr_hex_digit.h: Likewise.
15409         * lib/unictype/pr_hyphen.h: Likewise.
15410         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15411         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15412         * lib/unictype/pr_iso_control.h: Likewise.
15413         * lib/unictype/pr_join_control.h: Likewise.
15414         * lib/unictype/pr_left_of_pair.h: Likewise.
15415         * lib/unictype/pr_line_separator.h: Likewise.
15416         * lib/unictype/pr_math.h: Likewise.
15417         * lib/unictype/pr_non_break.h: Likewise.
15418         * lib/unictype/pr_not_a_character.h: Likewise.
15419         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15420         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15421         * lib/unictype/pr_other_id_continue.h: Likewise.
15422         * lib/unictype/pr_other_id_start.h: Likewise.
15423         * lib/unictype/pr_other_lowercase.h: Likewise.
15424         * lib/unictype/pr_other_math.h: Likewise.
15425         * lib/unictype/pr_other_uppercase.h: Likewise.
15426         * lib/unictype/pr_paired_punctuation.h: Likewise.
15427         * lib/unictype/pr_paragraph_separator.h: Likewise.
15428         * lib/unictype/pr_pattern_syntax.h: Likewise.
15429         * lib/unictype/pr_pattern_white_space.h: Likewise.
15430         * lib/unictype/pr_private_use.h: Likewise.
15431         * lib/unictype/pr_quotation_mark.h: Likewise.
15432         * lib/unictype/pr_radical.h: Likewise.
15433         * lib/unictype/pr_soft_dotted.h: Likewise.
15434         * lib/unictype/pr_space.h: Likewise.
15435         * lib/unictype/pr_titlecase.h: Likewise.
15436         * lib/unictype/pr_variation_selector.h: Likewise.
15437         * lib/unictype/pr_white_space.h: Likewise.
15438         * lib/unictype/sy_c_ident.h: Likewise.
15439         * lib/unictype/sy_c_whitespace.h: Likewise.
15440         * lib/unictype/sy_java_whitespace.h: Likewise.
15441         * modules/uni*/*: Bump version number of expected libunistring version.
15442         Reported by Simon Josefsson.
15443
15444 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15445
15446         useless-if-before-free: fix typo in --help and make the internal,
15447         automatic version date update process work once again.
15448         --help output contained a NUL character instead of the
15449         backslash-zero that was intended.  Also, the "must lie within
15450         the first 8 lines" line is on line 9, and hence not getting
15451         automatically updated.
15452         * build-aux/useless-if-before-free: Fix the former by adding a
15453         backslash, and the latter by condensing the three lines of what-it-does
15454         to a single line, leaving one line of slack for the future.
15455
15456 2011-01-09  Bruno Haible  <bruno@clisp.org>
15457
15458         uniwidth/width: Fix width of U+1D173..U+1D17A.
15459         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15460         symbolic_width, output_width_property_test): New functions.
15461         (main): Invoke output_nonspacing_property, output_width_property_test.
15462         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15463         U+1D173..U+1D17A.
15464         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15465         1.
15466         * modules/uniwidth/*: Bump version number of expected libunistring
15467         version.
15468         * modules/unilbrk/*: Likewise.
15469
15470 2011-01-08  Bruno Haible  <bruno@clisp.org>
15471
15472         uninorm tests: Preserve copyright of Unicode data file.
15473         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
15474         Mention modifications.
15475
15476 2011-01-08  Bruno Haible  <bruno@clisp.org>
15477
15478         gen-uni-tables: Prepare for Unicode 5.2.0.
15479         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
15480         (debug_output_lbp, output_lbp): Update.
15481
15482 2011-01-08  Bruno Haible  <bruno@clisp.org>
15483
15484         unilbrk: Clarify gen-uni-tables.c code.
15485         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
15486         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
15487         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
15488
15489 2011-01-07  Bruno Haible  <bruno@clisp.org>
15490
15491         strtod: Restore errno when successfully parsing Infinity or NaN.
15492         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
15493         restore the original errno.
15494
15495 2011-01-07  Bruno Haible  <bruno@clisp.org>
15496
15497         remove test: Avoid failure on HP-UX 11.
15498         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
15499
15500 2011-01-07  Bruno Haible  <bruno@clisp.org>
15501
15502         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
15503         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
15504         error code.
15505
15506 2011-01-07  Pádraig Brady <P@draigBrady.com>
15507
15508         ignore-value: fixup comments, and add Eric Blake
15509         as an author since he rewrote the macros.
15510         * lib/ignore-value.h (ignore_value):  State that
15511         we now support aggregates.  Also specify exactly
15512         when the GCC warn_unused_result feature was added.
15513
15514 2011-01-06  Eric Blake  <eblake@redhat.com>
15515
15516         ignore-value: support aggregate types
15517         * lib/ignore-value.h (ignore_value): Provide separate gcc
15518         definition.
15519         * modules/ignore-value-tests: New test module.
15520         * tests/test-ignore-value.c: New test.
15521
15522         maint.mk: improve sc_prohibit_strcmp regex
15523         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
15524         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
15525         definition of STRNEQ.
15526
15527         signal: work around Haiku issue with SIGBUS
15528         * lib/siglist.h: Add comment.
15529         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
15530         strsignal's favoring of SIGSEGV.
15531         * tests/test-signal.c (main): Avoid test failure.
15532         * doc/posix-headers/signal.texi (signal.h): Document the issue.
15533         Reported by Scott McCreary.
15534
15535         maint.mk: add pre-release check to ensure submodule commits are public
15536         * top/maint.mk (public-submodule-commit): New rule.
15537         (submodule-checks): New variable.
15538         (alpha beta stable): Depend on the variable.
15539
15540 2011-01-05  Pádraig Brady <P@draigBrady.com>
15541         and Jim Meyering  <meyering@redhat.com>
15542
15543         ignore-value: make ignore_value more generic; deprecate ignore_ptr
15544         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
15545         (ATTRIBUTE_DEPRECATED): Define.
15546         (_ignore_case): New function.
15547         (ignore_value): New macro, to replace the old function.
15548         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
15549         * modules/ignore-value (Depends-on): Add stdint.
15550
15551 2011-01-04  Eric Blake  <eblake@redhat.com>
15552
15553         doc: regenerate INSTALL
15554         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
15555         @firstparagraphindent support, now that autoconf dropped it.
15556         (INSTALL_PRELUDE): Reinstate old macro.
15557         * doc/install.texi: Resync from autoconf.
15558         * doc/INSTALL: Reflect recent autoconf update.
15559         * doc/INSTALL.ISO: Likewise.
15560         * doc/INSTALL.UTF-8: Likewise.
15561         Reported by Karl Berry.
15562
15563 2011-01-04  Bruce Korb  <address@hidden>
15564
15565         git-version-gen: avoid a sub-shell
15566         * build-aux/git-version-gen: Redirect stderr in `...` via
15567         "exec 2>...", rather than via an added sub-shell.
15568
15569 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
15570
15571         git-version-gen: use (...) rather than sh -c '...'
15572         * build-aux/git-version-gen: Rather than hard-coding a shell's name
15573         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
15574
15575 2011-01-03  Jim Meyering  <meyering@redhat.com>
15576
15577         git-version-gen: convert leading TABs to spaces
15578         * build-aux/git-version-gen: Expand leading TABs.
15579
15580         git-version-gen: handle failed "git rev-list"
15581         * build-aux/git-version-gen: Rather than leaking a "fatal" error
15582         from git and proceeding as if it had succeeded but printed no SHA1
15583         checksums, suppress the diagnostic and handle the failure.
15584         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
15585
15586         git-version-gen: include command name in one more diagnostic
15587         * build-aux/git-version-gen: When the required .tarball-version file
15588         was missing or unreadable, you might see the diagnostic from "cat",
15589         but no trace of the name of the invoking script.  Now, you still see
15590         the diagnostic from cat, but also get one from "git-version-gen: ".
15591         Inspired by a patch from Bruce Korb.
15592
15593         update-copyright: adjust test to match changed code
15594         * tests/test-update-copyright.sh: Change test's expected output
15595         to match new actual output.
15596
15597 2011-01-02  Bruno Haible  <bruno@clisp.org>
15598
15599         getlogin_r: Avoid test failure on HP-UX 11.
15600         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
15601         ERANGE when the second argument is zero.
15602         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
15603         portability problem.
15604
15605 2011-01-02  Bruce Korb  <bkorb@gnu.org>
15606
15607         * build-aux/update-copyright: doc Simon's changes
15608
15609 2011-01-02  Simon Josefsson  <simon@josefsson.org>
15610
15611         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
15612         environment variable.
15613
15614 2011-01-02  Bruno Haible  <bruno@clisp.org>
15615
15616         unigbrk: Avoid gcc warnings.
15617         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
15618         unused variable.
15619         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
15620         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
15621         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
15622         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
15623         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
15624         Change type of first argument to 'const char *'.
15625         (main): Remove unused variable.
15626         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
15627         type of first argument to 'const char *'.
15628         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
15629         Likewise.
15630         (main): Change type of variable 's'.
15631         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
15632         to 'int'.
15633
15634 2011-01-02  Bruno Haible  <bruno@clisp.org>
15635
15636         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
15637         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
15638         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
15639         bug.
15640         * lib/pwrite.c: Undo 2010-12-31 patch.
15641         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
15642
15643 2011-01-02  Bruno Haible  <bruno@clisp.org>
15644
15645         pread: Fix test whether it works.
15646         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
15647
15648 2011-01-02  Bruno Haible  <bruno@clisp.org>
15649
15650         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
15651         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
15652         ends in "6". Don't require a specific month name. Try also the locale
15653         names found on HP-UX 11 and Solaris 7.
15654
15655 2011-01-02  Bruno Haible  <bruno@clisp.org>
15656
15657         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
15658         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
15659         C linkage.
15660         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
15661
15662 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15663
15664         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
15665         for consistency, since the "cluster" term is not used elsewhere.
15666         * lib/unigbrk.in.h: Update name.
15667         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
15668         * lib/unigbrk/u16-grapheme-next.c: Update name.
15669         * lib/unigbrk/u16-grapheme-prev.c: Update name.
15670         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
15671         * lib/unigbrk/u32-grapheme-next.c: Update name.
15672         * lib/unigbrk/u32-grapheme-prev.c: Update name.
15673         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
15674         * lib/unigbrk/u8-grapheme-next.c: Update name.
15675         * lib/unigbrk/u8-grapheme-prev.c: Update name.
15676         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
15677         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
15678         Suggested by Bruno Haible.
15679
15680 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15681
15682         Remove module 'u8-grapheme-len' as too redundant with
15683         'u8-grapheme-next'.
15684         * modules/unigbrk/u8-grapheme-len: Delete file.
15685         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
15686         * lib/unigbrk.in.h: Remove prototype for deleted function.
15687         * lib/unigbrk/u8-grapheme-len.c: Delete file.
15688         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
15689
15690         Remove module 'u16-grapheme-len' as too redundant with
15691         'u16-grapheme-next'.
15692         * modules/unigbrk/u16-grapheme-len: Delete file.
15693         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
15694         * lib/unigbrk.in.h: Remove prototype for deleted function.
15695         * lib/unigbrk/u16-grapheme-len.c: Delete file.
15696         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
15697
15698         Remove module 'u32-grapheme-len' as too redundant with
15699         'u32-grapheme-next'.
15700         * modules/unigbrk/u32-grapheme-len: Delete file.
15701         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
15702         * lib/unigbrk.in.h: Remove prototype for deleted function.
15703         * lib/unigbrk/u32-grapheme-len.c: Delete file.
15704         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
15705
15706         Suggested by Bruno Haible.
15707
15708 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15709
15710         * unigbrk.in.h: Fix typo: "ben" => "been".
15711         Reported by Bruno Haible.
15712
15713 2011-01-01  Jim Meyering  <meyering@redhat.com>
15714
15715         maint: update almost all copyright ranges to include 2011
15716         Run the new "make update-copyright" rule.
15717
15718 2011-01-01  Jim Meyering  <meyering@redhat.com>
15719
15720         maint: update-copyright: exempt doc/INSTALL*
15721         * Makefile (update-copyright): Also exclude doc/INSTALL*,
15722         since they are generated.  Suggested by Bruno Haible.
15723
15724 2011-01-01  Jim Meyering  <meyering@redhat.com>
15725
15726         maint: refine the update-copyright rule
15727         * Makefile (update-copyright): Also exclude any file that includes
15728         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
15729         code that merely generates the comment.
15730
15731 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
15732
15733         New module 'u8-grapheme-len'.
15734         * modules/unigbrk/u8-grapheme-len: New file.
15735         * modules/unigbrk/u8-grapheme-len-tests: New file.
15736         * lib/unigbrk.in.h: Add prototype for new function.
15737         * lib/unigbrk/u8-grapheme-len.c: New file.
15738         * tests/unigbrk/test-u8-grapheme-len.c: New file.
15739
15740         New module 'u16-grapheme-len'.
15741         * modules/unigbrk/u16-grapheme-len: New file.
15742         * modules/unigbrk/u16-grapheme-len-tests: New file.
15743         * lib/unigbrk.in.h: Add prototype for new function.
15744         * lib/unigbrk/u16-grapheme-len.c: New file.
15745         * tests/unigbrk/test-u16-grapheme-len.c: New file.
15746
15747         New module 'u32-grapheme-len'.
15748         * modules/unigbrk/u32-grapheme-len: New file.
15749         * modules/unigbrk/u32-grapheme-len-tests: New file.
15750         * lib/unigbrk.in.h: Add prototype for new function.
15751         * lib/unigbrk/u32-grapheme-len.c: New file.
15752         * tests/unigbrk/test-u32-grapheme-len.c: New file.
15753
15754         New module 'u8-grapheme-next'.
15755         * modules/unigbrk/u8-grapheme-next: New file.
15756         * modules/unigbrk/u8-grapheme-next-tests: New file.
15757         * lib/unigbrk.in.h: Add prototype for new function.
15758         * lib/unigbrk/u8-grapheme-next.c: New file.
15759         * tests/unigbrk/test-u8-grapheme-next.c: New file.
15760
15761         New module 'u16-grapheme-next'.
15762         * modules/unigbrk/u16-grapheme-next: New file.
15763         * modules/unigbrk/u16-grapheme-next-tests: New file.
15764         * lib/unigbrk.in.h: Add prototype for new function.
15765         * lib/unigbrk/u16-grapheme-next.c: New file.
15766         * tests/unigbrk/test-u16-grapheme-next.c: New file.
15767
15768         New module 'u32-grapheme-next'.
15769         * modules/unigbrk/u32-grapheme-next: New file.
15770         * modules/unigbrk/u32-grapheme-next-tests: New file.
15771         * lib/unigbrk.in.h: Add prototype for new function.
15772         * lib/unigbrk/u32-grapheme-next.c: New file.
15773         * tests/unigbrk/test-u32-grapheme-next.c: New file.
15774
15775         New module 'u8-grapheme-prev'.
15776         * modules/unigbrk/u8-grapheme-prev: New file.
15777         * modules/unigbrk/u8-grapheme-prev-tests: New file.
15778         * lib/unigbrk.in.h: Add prototype for new function.
15779         * lib/unigbrk/u8-grapheme-prev.c: New file.
15780         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
15781
15782         New module 'u16-grapheme-prev'.
15783         * modules/unigbrk/u16-grapheme-prev: New file.
15784         * modules/unigbrk/u16-grapheme-prev-tests: New file.
15785         * lib/unigbrk.in.h: Add prototype for new function.
15786         * lib/unigbrk/u16-grapheme-prev.c: New file.
15787         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
15788
15789         New module 'u32-grapheme-prev'.
15790         * modules/unigbrk/u32-grapheme-prev: New file.
15791         * modules/unigbrk/u32-grapheme-prev-tests: New file.
15792         * lib/unigbrk.in.h: Add prototype for new function.
15793         * lib/unigbrk/u32-grapheme-prev.c: New file.
15794         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
15795
15796         New module 'u8-grapheme-breaks'.
15797         * modules/unigbrk/u8-grapheme-breaks: New file.
15798         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
15799         * lib/unigbrk.in.h: Add prototype for new function.
15800         * lib/unigbrk/u8-grapheme-breaks.c: New file.
15801         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
15802
15803         New module 'u16-grapheme-breaks'.
15804         * modules/unigbrk/u16-grapheme-breaks: New file.
15805         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
15806         * lib/unigbrk.in.h: Add prototype for new function.
15807         * lib/unigbrk/u16-grapheme-breaks.c: New file.
15808         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
15809
15810         New module 'u32-grapheme-breaks'.
15811         * modules/unigbrk/u32-grapheme-breaks: New file.
15812         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
15813         * lib/unigbrk.in.h: Add prototype for new function.
15814         * lib/unigbrk/u32-grapheme-breaks.c: New file.
15815         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
15816
15817         New module 'ulc-grapheme-breaks'.
15818         * modules/unigbrk/ulc-grapheme-breaks: New file.
15819         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
15820         * m4/locale-ar.m4: New file.
15821         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
15822         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
15823         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
15824
15825 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
15826
15827         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
15828         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
15829         modified how this file was generated before I initially submitted
15830         the module, but failed to regenerate it.  This meant that several
15831         of the level2 entries were wrong.
15832         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
15833         Remove the division-by-2 that is folded into the table now that
15834         gbrkprop.h has been regenerated properly.  Now -1 entries are
15835         handled correctly.
15836
15837         New module 'unigbrk/uc-gbrk-prop-tests'.
15838         * modules/unigbrk/uc-gbrk-prop-tests: New file.
15839         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
15840         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
15841         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
15842
15843 2011-01-01  Bruno Haible  <bruno@clisp.org>
15844
15845         Avoid use of hexadecimal escapes.
15846         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
15847         instead of hexadecimal escapes.
15848
15849 2011-01-01  Jim Meyering  <meyering@redhat.com>
15850
15851         maint: new rule to update copyright year ranges
15852         * Makefile (update-copyright): New rule.
15853
15854         maint: indent with TABs in Makefile
15855         * Makefile: Expand leading sequences of spaces to TABs
15856
15857         version-etc: update the copyright year it reports
15858         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
15859
15860 2010-12-31  Bruno Haible  <bruno@clisp.org>
15861
15862         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
15863         * lib/isfinite.c (zerof, zerod, zerol): New variables.
15864         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
15865         zero.
15866
15867 2010-12-31  Bruno Haible  <bruno@clisp.org>
15868
15869         pwrite: Work around HP-UX 11.11 bug.
15870         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
15871         works and set REPLACE_PWRITE if not.
15872         * lib/pwrite.c (pwrite): Add an implementation that uses the system
15873         function.
15874         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
15875
15876 2010-12-31  Bruno Haible  <bruno@clisp.org>
15877
15878         pread: Work around HP-UX 11 bugs.
15879         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
15880         and set REPLACE_PREAD if not.
15881         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
15882
15883 2010-12-31  Eric Blake  <eblake@redhat.com>
15884
15885         nl_langinfo: fix YESEXPR on Irix 6.5
15886         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
15887         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
15888         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
15889         it.
15890
15891 2010-12-31  Bruno Haible  <bruno@clisp.org>
15892
15893         iconv: Document HP-UX 11 bug.
15894         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
15895
15896 2010-12-31  Bruno Haible  <bruno@clisp.org>
15897
15898         ldexpl: Fix link error on HP-UX 11.
15899         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
15900         LDEXPL_LIBM, using $ISNANL_LIBM.
15901
15902 2010-12-31  Eric Blake  <eblake@redhat.com>
15903
15904         ftello: avoid compilation failure with SunStudio c89
15905         * lib/ftello.c (ftello): Use lseek, not llseek.
15906
15907         tests: avoid failing coreutils tests on cygwin
15908         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
15909         (create_exe_shims_): Return 0 when skipping.
15910
15911 2010-12-31  Bruno Haible  <bruno@clisp.org>
15912
15913         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
15914         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
15915
15916 2010-12-31  Bruno Haible  <bruno@clisp.org>
15917
15918         waitpid: Fix link error in C++ mode.
15919         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
15920
15921 2010-12-31  Bruno Haible  <bruno@clisp.org>
15922
15923         isnan: Use GCC built-ins when possible.
15924         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
15925         __builtin_isnan.
15926         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
15927         (isnan): Define using GCC built-ins for GCC >= 4.0.
15928
15929 2010-12-31  Bruno Haible  <bruno@clisp.org>
15930
15931         isnand: Fix mistake.
15932         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
15933         __builtin_isnand.
15934
15935 2010-12-31  Bruno Haible  <bruno@clisp.org>
15936
15937         open: Avoid C++ error on HP-UX 11.
15938         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
15939
15940 2010-12-31  Bruno Haible  <bruno@clisp.org>
15941
15942         time_r: Add missing declarations on HP-UX 11.
15943         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
15944         instead of HAVE_LOCALTIME_R.
15945         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
15946         HAVE_LOCALTIME_R always.
15947         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
15948         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
15949         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
15950         HAVE_LOCALTIME_R.
15951         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
15952         * doc/posix-functions/localtime_r.texi: Likewise.
15953
15954 2010-12-29  Eric Blake  <eblake@redhat.com>
15955
15956         mountlist: tweak previous commit
15957         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
15958         Reported by Paul Eggert.
15959
15960         mountlist: fix local drive detection on cygwin
15961         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
15962         that works for cygwin.
15963
15964 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
15965
15966         ftoastr, snprintf: ftoastr + snprintf module
15967         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
15968         since the snprintf module now should be good enough here.
15969         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
15970         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
15971         and gl_MODULE_INDICATOR([snprintf]), but the former enables
15972         GNULIB_SNPRINTF only for the test directory, and the latter
15973         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
15974         seems to suffice by itself.
15975
15976 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15977
15978         alloca: one step towards thread-safety
15979         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
15980         need for a static variable.  All callers changed.  This does not
15981         make the alloca replacement thread-safe, but it's one step.
15982
15983         tests: minor indenting change
15984         * tests/init.sh: Sync from coreutils housekeeping patch
15985         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
15986         to keep lines within 80 columns.
15987
15988 2010-12-28  Jim Meyering  <meyering@redhat.com>
15989
15990         regex: don't infloop on persistent failing calloc
15991         * lib/regexec.c (build_trtable): Return failure indication upon
15992         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
15993         In glibc, this was fixed for version 2.13:
15994         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
15995
15996 2010-12-28  Bruno Haible  <bruno@clisp.org>
15997             Paul Eggert <eggert@cs.ucla.edu>
15998
15999         linkat: Make implementation robust against system behaviour variations.
16000         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16001         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16002         way, and to -2 if it needs a generic runtime test.
16003         * lib/linkat.c (solaris_optimized_link_immediate,
16004         solaris_optimized_link_follow): New functions.
16005         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16006         (check_same_link): Use it.
16007
16008 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16009
16010         New module 'unigbrk/base'.
16011         * modules/unigbrk/base: New file.
16012         * lib/unigbrk.in.h: New file.
16013
16014         New module 'unigbrk/uc-gbrk-prop'.
16015         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16016         * modules/unigbrk/uc-gbrk-prop: New file.
16017         * lib/unigbrk/gbrkprop.h: New file.
16018         * lib/unigbrk/uc-gbrk-prop.c: New file.
16019
16020         New module 'unigbrk/uc-is-grapheme-break'.
16021         * modules/unigbrk/uc-is-grapheme-break: New file.
16022         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16023         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16024         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16025         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16026         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16027
16028         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16029
16030 2010-12-27  Bruno Haible  <bruno@clisp.org>
16031
16032         linkat test: Avoid failure on Solaris 11 2010-11.
16033         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16034
16035 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16036
16037         utimens: work around glibc rounding bug on more platforms
16038         * lib/utimens.c (fdutimens): Work around rounding bug even if
16039         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16040         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16041
16042 2010-12-27  Bruno Haible  <bruno@clisp.org>
16043
16044         select tests: Improve comments.
16045         * tests/test-select.c (do_select): Add comments.
16046
16047 2010-12-27  Bruno Haible  <bruno@clisp.org>
16048
16049         select tests: Safer way of handling timeout.
16050         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16051         at every invocation.
16052
16053 2010-12-27  Bruno Haible  <bruno@clisp.org>
16054
16055         select tests: Use 'bool' where appropriate.
16056         * tests/test-select.c (connect_to_socket): Change argument type to
16057         'bool'.
16058
16059 2010-12-27  Bruno Haible  <bruno@clisp.org>
16060
16061         select tests: Use existing modules.
16062         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16063         (configure.ac): Don't test for unistd.h.
16064         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16065         declared in <unistd.h>.
16066
16067 2010-12-27  Bruno Haible  <bruno@clisp.org>
16068
16069         mbrtowc: Work around a Solaris 7 bug.
16070         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16071         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16072         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16073         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16074         MBRTOWC_NULL_ARG1_BUG.
16075         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16076         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16077         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16078         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16079
16080 2010-12-27  Jim Meyering  <meyering@redhat.com>
16081
16082         read-file.c: tweak syntax
16083         * lib/read-file.c (fread_file): Remove space after "*" in function
16084         definitions.
16085
16086 2010-12-27  Bruno Haible  <bruno@clisp.org>
16087
16088         times test: Avoid gcc warnings on OSF/1.
16089         * tests/test-times.c (main): Cast printf arguments from clock_t to
16090         'long int'.
16091
16092 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16093
16094         utimens: work around glibc rounding bug on older Linux kernels
16095         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16096         on Linux with a glibc whose utimes might not work, then work
16097         around a longstanding glibc bug involving rounding rather than
16098         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16099         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16100
16101 2010-12-26  Bruno Haible  <bruno@clisp.org>
16102
16103         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16104         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16105         _GL_CXXALIAS_SYS.
16106         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16107
16108 2010-12-26  Bruno Haible  <bruno@clisp.org>
16109
16110         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16111         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16112         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16113         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16114         looking for the declaration.
16115         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16116         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16117         problem.
16118         * doc/posix-functions/inet_pton.texi: Likewise.
16119
16120 2010-12-26  Bruno Haible  <bruno@clisp.org>
16121
16122         arpa_inet: Use the common idioms with C++ support.
16123         * lib/arpa_inet.in.h: Include c++defs.h.
16124         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16125         support.
16126         * modules/arpa_inet (Depends-on): Add c++defs.
16127         (Makefile.am): Substitute the contents of c++defs.h.
16128         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16129         * modules/arpa_inet-c++-tests: New file.
16130         * tests/test-arpa_inet-c++.cc: New file.
16131
16132 2010-12-25  Bruno Haible  <bruno@clisp.org>
16133
16134         Fix more C++ link errors on Solaris 8.
16135         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16136         $(LIB_EACCESS).
16137         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16138         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16139         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16140         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16141         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16142
16143 2010-12-25  Bruno Haible  <bruno@clisp.org>
16144
16145         printf-posix: Fix link error when a non-GCC compiler is used.
16146         * lib/stdio.in.h (printf): When not using GCC, override printf
16147         correctly.
16148         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16149
16150 2010-12-25  Bruno Haible  <bruno@clisp.org>
16151
16152         strerror_r-posix: Update doc.
16153         * doc/posix-functions/strerror_r.texi: Update doc about the return
16154         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16155
16156 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16157
16158         utimens: simplify the logic of the previous change
16159         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16160         This should not affect whether the test succeeds or fails.
16161
16162         utimens: configure better on hosts with NFS clock skew
16163         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16164         uses the clock of the local host.  It might use the clock of the
16165         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16166         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16167
16168 2010-12-25  Bruno Haible  <bruno@clisp.org>
16169
16170         ptsname test: Avoid failure on Solaris.
16171         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16172         open a pseudo-terminal; don't use BSD-style ptys.
16173         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16174
16175 2010-12-25  Bruno Haible  <bruno@clisp.org>
16176
16177         ptsname: Avoid ERANGE failure on some systems.
16178         * lib/ptsname.c (buffer): Increase size.
16179
16180 2010-12-25  Bruno Haible  <bruno@clisp.org>
16181
16182         rename, renameat: Avoid test failures at NFS mounted locations.
16183         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16184         so that subsequent mkdir calls succeed.
16185
16186 2010-12-25  Bruno Haible  <bruno@clisp.org>
16187
16188         iswblank: Fix C++ link error on Solaris 8.
16189         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16190         _GL_FUNCDECL_SYS.
16191
16192 2010-12-25  Bruno Haible  <bruno@clisp.org>
16193
16194         unistd: Fix C++ link error on Solaris 8.
16195         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16196
16197 2010-12-25  Bruno Haible  <bruno@clisp.org>
16198
16199         readlink doc: Mention an old glibc bug.
16200         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16201
16202 2010-12-25  Bruno Haible  <bruno@clisp.org>
16203
16204         fcntl-h: Fix for use of C++ on glibc systems.
16205         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16206         also on glibc systems in C++ mode.
16207         Reported by Gary V. Vaughan <gary@gnu.org>.
16208
16209 2010-12-25  Bruno Haible  <bruno@clisp.org>
16210
16211         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16212         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16213
16214 2010-12-25  Bruno Haible  <bruno@clisp.org>
16215
16216         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16217         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16218         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16219         test whether truncl works according to ISO C 99 with IEC 60559.
16220         * m4/truncl-ieee.m4: New file.
16221         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16222         m4/signbit.m4.
16223         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16224
16225 2010-12-25  Bruno Haible  <bruno@clisp.org>
16226
16227         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16228         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16229         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16230         test whether ceill works according to ISO C 99 with IEC 60559.
16231         * m4/ceill-ieee.m4: New file.
16232         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16233         m4/signbit.m4.
16234         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16235
16236 2010-12-25  Bruno Haible  <bruno@clisp.org>
16237
16238         Ensure all prerequisites of <wchar.h> are included.
16239         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16240         before <wchar.h>.
16241         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16242         gl_MBRLEN_NUL_RETVAL): Likewise.
16243         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16244         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16245         AC_FUNC_MBRTOWC): Likewise.
16246         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16247         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16248         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16249         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16250         Likewise.
16251         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16252         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16253         (gl_WCHAR_H): Improve comments.
16254         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16255
16256 2010-12-25  Bruno Haible  <bruno@clisp.org>
16257
16258         strtok_r: Fix C syntax error in autoconf macro.
16259         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16260         characters in test program.
16261
16262 2010-12-24  Bruno Haible  <bruno@clisp.org>
16263
16264         ceil, trunc, round: Fix gcc warnings.
16265         * lib/ceil.c (MIN): Undefine before redefining.
16266         * lib/trunc.c (MIN): Likewise.
16267         * lib/round.c (MIN): Likewise.
16268         Include <math.h> first.
16269
16270 2010-12-24  Bruno Haible  <bruno@clisp.org>
16271
16272         select tests: Avoid failures on OSF/1 5.1.
16273         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16274         failure of closing the last socket; it may fail with ECONNRESET.
16275
16276 2010-12-24  Eric Blake  <eblake@redhat.com>
16277
16278         stdint: avoid HP-UX 10.20 preprocessor bug
16279         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16280         than #if.
16281         * tests/test-floor2.c (main): Likewise.
16282         Reported by Peter O'Gorman.
16283
16284         pipe: make obsoletion transition easier
16285         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16286         * modules/pipe (Files): Include revived file.
16287         (Include): Drop reference, to mirror getdate's behavior.
16288
16289 2010-12-24  Bruno Haible  <bruno@clisp.org>
16290
16291         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16292         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16293         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16294         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16295
16296 2010-12-24  Bruno Haible  <bruno@clisp.org>
16297
16298         gethostname: Ensure declaration on NonStop Kernel.
16299         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16300         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16301
16302 2010-12-24  Bruno Haible  <bruno@clisp.org>
16303
16304         sys_select: Ensure all necessary types on NonStop Kernel.
16305         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16306         include <sys/time.h>.
16307         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16308         NonStop Kernel.
16309         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16310
16311 2010-12-24  Bruno Haible  <bruno@clisp.org>
16312
16313         sys_select: Remove unneeded include.
16314         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16315         have <sys/select.h>.
16316
16317 2010-12-24  Bruno Haible  <bruno@clisp.org>
16318
16319         gethostname: Provide a fallback for HOST_NAME_MAX.
16320         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16321         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16322         instead.
16323         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16324
16325 2010-12-24  Bruno Haible  <bruno@clisp.org>
16326
16327         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16328         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16329         (SA_RESTART): Likewise.
16330         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16331
16332 2010-12-24  Bruno Haible  <bruno@clisp.org>
16333
16334         signal: Define NSIG.
16335         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16336         * tests/test-signal.c (nsig): New variable.
16337         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16338
16339 2010-12-24  Bruno Haible  <bruno@clisp.org>
16340
16341         rename, renameat: Avoid test failures on OSF/1 5.1.
16342         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16343         alternative error codes.
16344         * tests/test-renameat.c (main): Likewise.
16345
16346 2010-12-24  Bruno Haible  <bruno@clisp.org>
16347
16348         *printf: Detect large precisions bug on Solaris 10/SPARC.
16349         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16350         by Paul Eggert.
16351         * tests/test-snprintf-posix.h (test_function): Add this test code here
16352         too.
16353         * tests/test-sprintf-posix.h (test_function): Likewise.
16354         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16355         * tests/test-vasprintf-posix.c (test_function): Likewise.
16356         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16357         around by gnulib.
16358         * doc/posix-functions/printf.texi: Likewise.
16359         * doc/posix-functions/snprintf.texi: Likewise.
16360         * doc/posix-functions/sprintf.texi: Likewise.
16361         * doc/posix-functions/vfprintf.texi: Likewise.
16362         * doc/posix-functions/vprintf.texi: Likewise.
16363         * doc/posix-functions/vsnprintf.texi: Likewise.
16364         * doc/posix-functions/vsprintf.texi: Likewise.
16365         * doc/posix-functions/dprintf.texi: Undo last commit.
16366         * doc/posix-functions/vdprintf.texi: Likewise.
16367
16368 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16369
16370         tests: port test-fdutimensat.c to Solaris 8
16371         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16372         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16373         On Solaris 8, it fails with errno == ENOSYS, because there is no
16374         futimens (so it can't use the fd), and there is no lutimens (so it
16375         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16376
16377         vsnprintf: make more consistent with snprintf; doc fixes
16378
16379         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16380         the byte count return problem was promoted from the snprintf-posix
16381         to the snprintf module.
16382         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16383         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16384         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16385         * tests/test-snprintf.c (main): Check the byte count returned.
16386         * tests/test-vsnprintf.c (main): Likewise.
16387
16388 2010-12-23  Eric Blake  <eblake@redhat.com>
16389
16390         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16391         * modules/sigpipe (License): Relax license.
16392
16393 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16394
16395         doc: document Solaris printf bug with large float precisions
16396         * doc/posix-functions/dprintf.texi (dprintf):
16397         * doc/posix-functions/fprintf.texi (fprintf):
16398         * doc/posix-functions/printf.texi (printf):
16399         * doc/posix-functions/snprintf.texi (snprintf):
16400         * doc/posix-functions/sprintf.texi (sprintf):
16401         * doc/posix-functions/vdprintf.texi (vdprintf):
16402         * doc/posix-functions/vfprintf.texi (vfprintf):
16403         * doc/posix-functions/vprintf.texi (vprintf):
16404         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16405         * doc/posix-functions/vsprintf.texi (vsprintf):
16406         Mention that these functions mishandle large floating point
16407         precisions on Solaris 10.  The same bug is also present in Solaris
16408         8, and I assume earlier.  This causes "cd gnulib-tests; make
16409         check" to fail on Solaris 8 (and I assume, later) when building
16410         the latest coreutils, in test-vasprintf-posix's call to
16411         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16412         the wide flavors (e.g., wprintf) so this patch just updates the
16413         documentation for the narrow ones.
16414
16415         test-posixtm.c: add two tests
16416         * tests/test-posixtm.c: Add two tests, to highlight the
16417         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16418         around this bug; this is merely to document it.
16419
16420 2010-12-22  Bruno Haible  <bruno@clisp.org>
16421
16422         getlogin_r: Work around portability problem on OSF/1.
16423         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16424         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16425         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16426         test for a truncated result.
16427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16428         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16429         * modules/getlogin_r (Depends-on): Add memchr.
16430         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16431
16432 2010-12-22  Bruno Haible  <bruno@clisp.org>
16433
16434         ptsname: Avoid test failure on OSF/1 5.1.
16435         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16436         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16437         (same_slave): New function.
16438         (main): Use it to compare ptsname's result with the expected file name.
16439
16440 2010-12-22  Bruno Haible  <bruno@clisp.org>
16441
16442         Port extended stdio modules to HP NonStop Kernel.
16443         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16444         macros.
16445         * lib/fbufmode.c: Update comments.
16446         * lib/fflush.c: Likewise.
16447         * lib/fpurge.c: Likewise.
16448         * lib/freadable.c: Likewise.
16449         * lib/freadahead.c: Likewise.
16450         * lib/freading.c: Likewise.
16451         * lib/freadptr.c: Likewise.
16452         * lib/freadseek.c: Likewise.
16453         * lib/fseeko.c: Likewise.
16454         * lib/fseterr.c: Likewise.
16455         * lib/fwritable.c: Likewise.
16456         * lib/fwriting.c: Likewise.
16457         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16458
16459 2010-12-22  Bruno Haible  <bruno@clisp.org>
16460
16461         ttyname_r: Work around bug on OSF/1 5.1.
16462         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16463         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16464         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16465         present.
16466         * lib/ttyname_r.c (ttyname_r): Update comments.
16467
16468 2010-12-22  Bruno Haible  <bruno@clisp.org>
16469
16470         round: Implement result sign according to IEEE 754.
16471         * lib/round.c (MIN, MINUS_ZERO): New macros.
16472         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
16473         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
16474         * tests/test-round-ieee.c (main): Likewise.
16475         * tests/test-roundl-ieee.c (main): Likewise.
16476
16477         trunc: Implement result sign according to IEEE 754.
16478         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
16479         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
16480         * tests/test-trunc2.c: Include minus-zero.h.
16481         (MINUS_ZERO): New macro.
16482         (trunc_reference): Keep in sync with lib/trunc.c.
16483         * tests/test-truncf2.c: Include minus-zero.h.
16484         (MINUS_ZERO): New macro.
16485         (truncf_reference): Keep in sync with lib/trunc.c.
16486         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
16487         * tests/test-trunc-ieee.c (main): Likewise.
16488         * tests/test-truncl-ieee.c (main): Likewise.
16489
16490         ceil: Implement result sign according to IEEE 754.
16491         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
16492         (FUNC): Return -0.0 for -1 < x < 0.
16493         * tests/test-ceil2.c: Include minus-zero.h.
16494         (MINUS_ZERO): New macro.
16495         (ceil_reference): Keep in sync with lib/ceil.c.
16496         * tests/test-ceilf2.c: Include minus-zero.h.
16497         (MINUS_ZERO): New macro.
16498         (ceilf_reference): Keep in sync with lib/ceil.c.
16499         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
16500         * tests/test-ceil-ieee.c (main): Likewise.
16501         * tests/test-ceill-ieee.c (main): Likewise.
16502
16503         floor: Implement result sign according to IEEE 754.
16504         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
16505         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
16506         * tests/test-floorf2.c (floorf_reference): Likewise.
16507         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
16508         * tests/test-floor-ieee.c (main): Likewise.
16509         * tests/test-floorl-ieee.c (main): Likewise.
16510
16511 2010-12-22  Bruno Haible  <bruno@clisp.org>
16512
16513         getaddrinfo: Update doc.
16514         * doc/posix-functions/gai_strerror.texi: Return type is also different
16515         on AIX and HP-UX.
16516
16517 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16518
16519         getaddrinfo, inet_ntop: Update doc for Solaris.
16520         * doc/posix-functions/gai_strerror.texi: Return type is also an
16521         issue on Solaris 9 and earlier.
16522         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
16523         on Solaris 10 and earlier.
16524
16525 2010-12-21  Bruno Haible  <bruno@clisp.org>
16526
16527         New module 'roundl-ieee'.
16528         * modules/roundl-ieee: New file.
16529         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
16530         test whether roundl works according to ISO C 99 with IEC 60559.
16531         * m4/roundl-ieee.m4: New file.
16532         * modules/roundl-ieee-tests: New file.
16533         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
16534         * tests/test-roundl.c (main): Remove signbit tests.
16535         * modules/roundl-tests (Depends-on): Remove signbit.
16536         * doc/posix-functions/roundl.texi: Mention the new module.
16537
16538 2010-12-21  Bruno Haible  <bruno@clisp.org>
16539
16540         New module 'truncl-ieee'.
16541         * modules/truncl-ieee: New file.
16542         * modules/truncl-ieee-tests: New file.
16543         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
16544         * tests/test-truncl.c (main): Remove signbit tests.
16545         * modules/truncl-tests (Depends-on): Remove signbit.
16546         * doc/posix-functions/truncl.texi: Mention the new module.
16547
16548 2010-12-21  Bruno Haible  <bruno@clisp.org>
16549
16550         New module 'ceill-ieee'.
16551         * modules/ceill-ieee: New file.
16552         * modules/ceill-ieee-tests: New file.
16553         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
16554         * tests/test-ceill.c (main): Remove signbit tests.
16555         * modules/ceill-tests (Depends-on): Remove signbit.
16556         * doc/posix-functions/ceill.texi: Mention the new module.
16557
16558 2010-12-21  Bruno Haible  <bruno@clisp.org>
16559
16560         New module 'floorl-ieee'.
16561         * modules/floorl-ieee: New file.
16562         * modules/floorl-ieee-tests: New file.
16563         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
16564         * tests/test-floorl.c (main): Remove signbit tests.
16565         * modules/floorl-tests (Depends-on): Remove signbit.
16566         * doc/posix-functions/floorl.texi: Mention the new module.
16567
16568 2010-12-21  Bruno Haible  <bruno@clisp.org>
16569
16570         New module 'round-ieee'.
16571         * modules/round-ieee: New file.
16572         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
16573         whether round works according to ISO C 99 with IEC 60559.
16574         * m4/round-ieee.m4: New file.
16575         * modules/round-ieee-tests: New file.
16576         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
16577         * tests/test-round1.c (main): Remove signbit tests.
16578         * modules/round-tests (Depends-on): Remove 'signbit'.
16579         * doc/posix-functions/round.texi: Mention the new module.
16580
16581 2010-12-21  Bruno Haible  <bruno@clisp.org>
16582
16583         New module 'trunc-ieee'.
16584         * modules/trunc-ieee: New file.
16585         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
16586         whether trunc works according to ISO C 99 with IEC 60559.
16587         * m4/trunc-ieee.m4: New file.
16588         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
16589         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
16590         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
16591         * modules/trunc-ieee-tests: New file.
16592         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
16593         * tests/test-trunc1.c (main): Remove signbit tests.
16594         * modules/trunc-tests (Depends-on): Remove 'signbit'.
16595         * doc/posix-functions/trunc.texi: Mention the new module.
16596
16597 2010-12-21  Bruno Haible  <bruno@clisp.org>
16598
16599         New module 'ceil-ieee'.
16600         * modules/ceil-ieee: New file.
16601         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
16602         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
16603         ISO C 99 with IEC 60559.
16604         * m4/ceil-ieee.m4: New file.
16605         * modules/ceil (Files): Add lib/ceil.c.
16606         (Depends-on): Add 'float'.
16607         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16608         * lib/math.in.h (ceil): New declaration.
16609         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
16610         REPLACE_CEIL.
16611         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
16612         * modules/ceil-ieee-tests: New file.
16613         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
16614         * tests/test-math-c++.cc: Check the signature of 'ceil'.
16615         * doc/posix-functions/ceil.texi: Mention the new module.
16616
16617 2010-12-21  Bruno Haible  <bruno@clisp.org>
16618
16619         New module 'floor-ieee'.
16620         * modules/floor-ieee: New file.
16621         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
16622         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
16623         ISO C 99 with IEC 60559.
16624         * m4/floor-ieee.m4: New file.
16625         * modules/floor (Files): Add lib/floor.c.
16626         (Depends-on): Add 'float'.
16627         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16628         * lib/math.in.h (floor): New declaration.
16629         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
16630         REPLACE_FLOOR.
16631         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
16632         * modules/floor-ieee-tests: New file.
16633         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
16634         * tests/test-math-c++.cc: Check the signature of 'floor'.
16635         * doc/posix-functions/floor.texi: Mention the new module.
16636
16637 2010-12-21  Bruno Haible  <bruno@clisp.org>
16638
16639         New module 'roundf-ieee'.
16640         * modules/roundf-ieee: New file.
16641         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
16642         test whether roundf works according to ISO C 99 with IEC 60559.
16643         * m4/roundf-ieee.m4: New file.
16644         * modules/roundf-ieee-tests: New file.
16645         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
16646         * tests/test-roundf1.c (main): Remove signbit tests.
16647         * modules/roundf-tests (Depends-on): Remove 'signbit'.
16648         * doc/posix-functions/roundf.texi: Mention the new module.
16649
16650 2010-12-21  Bruno Haible  <bruno@clisp.org>
16651
16652         New module 'truncf-ieee'.
16653         * modules/truncf-ieee: New file.
16654         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
16655         test whether truncf works according to ISO C 99 with IEC 60559.
16656         * m4/truncf-ieee.m4: New file.
16657         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
16658         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
16659         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
16660         * modules/truncf-ieee-tests: New file.
16661         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
16662         * tests/test-truncf1.c (main): Remove signbit tests.
16663         * modules/truncf-tests (Depends-on): Remove 'signbit'.
16664         * doc/posix-functions/truncf.texi: Mention the new module.
16665
16666 2010-12-21  Bruno Haible  <bruno@clisp.org>
16667
16668         New module 'ceilf-ieee'.
16669         * modules/ceilf-ieee: New file.
16670         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
16671         test whether ceilf works according to ISO C 99 with IEC 60559.
16672         * m4/ceilf-ieee.m4: New file.
16673         * modules/ceilf-ieee-tests: New file.
16674         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
16675         * tests/test-ceilf1.c (main): Remove signbit tests.
16676         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
16677         * doc/posix-functions/ceilf.texi: Mention the new module.
16678
16679 2010-12-21  Bruno Haible  <bruno@clisp.org>
16680
16681         New module 'floorf-ieee'.
16682         * modules/floorf-ieee: New file.
16683         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
16684         test whether floorf works according to ISO C 99 with IEC 60559.
16685         * m4/floorf-ieee.m4: New file.
16686         * modules/floorf-ieee-tests: New file.
16687         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
16688         * tests/test-floorf1.c (main): Remove signbit tests.
16689         * modules/floorf-tests (Depends-on): Remove 'signbit'.
16690         * doc/posix-functions/floorf.texi: Mention the new module.
16691
16692 2010-12-21  Bruno Haible  <bruno@clisp.org>
16693
16694         Support for minus zero in autoconf macros.
16695         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
16696         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
16697         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
16698         * tests/minus-zero.h: Update comments.
16699
16700 2010-12-21  Bruno Haible  <bruno@clisp.org>
16701
16702         Tests for module 'ceil'.
16703         * modules/ceil-tests: New file.
16704         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
16705         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
16706
16707 2010-12-21  Bruno Haible  <bruno@clisp.org>
16708
16709         Tests for module 'floor'.
16710         * modules/floor-tests: New file.
16711         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
16712         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
16713
16714 2010-12-21  Bruno Haible  <bruno@clisp.org>
16715
16716         math: Fix indentation.
16717         * lib/math.in.h (floorf): Fix indentation.
16718
16719 2010-12-21  Bruno Haible  <bruno@clisp.org>
16720
16721         Fix cross-compilation guesses on Solaris.
16722         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
16723         not match "solaris2.10".
16724         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
16725         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
16726         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
16727
16728 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
16729
16730         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
16731         This fixes a problem observed with the latest coreutils snapshot
16732         that caused a test to fail on Solaris 8.  src/csplit.c's call
16733         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
16734         earlier, instead of returning the number of bytes that would have
16735         been generated; this causes csplit to incorrectly report memory
16736         exhaustion.
16737         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
16738         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
16739         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
16740         comments to match.
16741         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
16742         Fix typo in matching older versions of Solaris: "solaris2.10"
16743         is matched by the shell pattern "solaris2.[0-9]*".  This matters
16744         only for guessing while cross-compiling.
16745         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
16746
16747 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
16748
16749         ftoastr: fix comment again
16750         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
16751         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
16752         Also, simplify example a bit by using flags = 0.
16753
16754 2010-12-20  Bruno Haible  <bruno@clisp.org>
16755
16756         round*, trunc*: Update documentation regarding glibc.
16757         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
16758         * doc/posix-functions/round.texi: Likewise.
16759         * doc/posix-functions/roundl.texi: Likewise.
16760         * doc/posix-functions/truncf.texi: Likewise.
16761         * doc/posix-functions/trunc.texi: Likewise.
16762         * doc/posix-functions/truncl.texi: Likewise.
16763
16764 2010-12-20  Bruno Haible  <bruno@clisp.org>
16765
16766         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
16767         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
16768         * doc/posix-functions/round.texi: Likewise.
16769         * doc/posix-functions/roundl.texi: Likewise.
16770
16771 2010-12-20  Bruno Haible  <bruno@clisp.org>
16772
16773         ttyname_r: Add missing declaration on HP-UX 11.
16774         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
16775         HAVE_TTYNAME_R.
16776         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
16777         declared. Set HAVE_TTYNAME_R always.
16778         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16779         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
16780         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
16781         HAVE_TTYNAME_R.
16782         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
16783
16784 2010-12-20  Bruno Haible  <bruno@clisp.org>
16785
16786         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
16787         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
16788         * doc/posix-functions/getlogin_r.texi: Likewise.
16789         * tests/test-getlogin.c: Include <errno.h>.
16790         (main): Avoid test failure on HP-UX 11.11.
16791         * tests/test-getlogin_r.c (main): Likewise.
16792
16793 2010-12-20  Bruno Haible  <bruno@clisp.org>
16794
16795         getlogin_r: Add missing declaration on HP-UX 11.
16796         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
16797         declared also when it exists as a function.
16798         * doc/posix-functions/getlogin_r.texi: Document this workaround.
16799
16800 2010-12-20  Bruno Haible  <bruno@clisp.org>
16801
16802         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
16803         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
16804         through wcrtomb.
16805
16806 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16807
16808         ftoastr: fix comment
16809         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
16810         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
16811
16812 2010-12-19  Bruno Haible  <bruno@clisp.org>
16813
16814         isnan: Ensure it is a macro.
16815         * lib/math.in.h (isnan): Define as a macro if not already a macro.
16816         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
16817         Solaris.
16818
16819 2010-12-19  Bruno Haible  <bruno@clisp.org>
16820
16821         ldexpl test: Fix link error on OSF/1 5.1.
16822         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
16823
16824 2010-12-19  Bruno Haible  <bruno@clisp.org>
16825
16826         wctype: Make it work in C++ mode on OSF/1 5.1.
16827         * lib/wctype.in.h (iswblank): Declare but not define here.
16828         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
16829         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
16830         * modules/wctype (Files): Add lib/iswblank.c.
16831
16832 2010-12-19  Bruno Haible  <bruno@clisp.org>
16833
16834         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
16835         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
16836         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
16837
16838 2010-12-19  Bruno Haible  <bruno@clisp.org>
16839
16840         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
16841         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
16842         _POSIX_PII_SOCKET.
16843         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
16844         * doc/posix-functions/recvfrom.texi: Likewise.
16845         * doc/posix-functions/send.texi: Likewise.
16846         * doc/posix-functions/sendto.texi: Likewise.
16847
16848 2010-12-19  Bruno Haible  <bruno@clisp.org>
16849
16850         tcgetsid: Add missing declaration on OSF/1 5.1.
16851         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
16852         HAVE_TCGETSID.
16853         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
16854         Don't set HAVE_TCGETSID.
16855         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
16856         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
16857         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
16858         HAVE_TCGETSID.
16859         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
16860
16861 2010-12-19  Bruno Haible  <bruno@clisp.org>
16862
16863         stdio: Fix problem with popen() declaration on OSF/1 5.1.
16864         * lib/stdio.in.h: During the include_next statement, let recursive
16865         includes of this file include only the system header file.
16866
16867 2010-12-19  Bruno Haible  <bruno@clisp.org>
16868
16869         iconv_open: Fix regression from 2010-12-04.
16870         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
16871         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
16872
16873 2010-12-19  Bruno Haible  <bruno@clisp.org>
16874
16875         stdbool test: Avoid a gcc warning.
16876         * tests/test-stdbool.c (main): Fail if e1 is false.
16877         Reported by Jim Meyering.
16878
16879 2010-12-19  Jim Meyering  <meyering@redhat.com>
16880
16881         setenv: restore to working order
16882         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
16883         mistakenly removed.
16884         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
16885         HAVE_SETENV.
16886         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
16887         HAVE_SETENV.
16888
16889 2010-12-19  Bruno Haible  <bruno@clisp.org>
16890
16891         Document some different function declarations on OSF/1 5.1.
16892         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
16893         * doc/posix-functions/inet_ntop.texi: Likewise.
16894         * doc/posix-functions/gethostname.texi: Likewise.
16895         * lib/unistd.in.h (gethostname): Update comment.
16896
16897 2010-12-19  Bruno Haible  <bruno@clisp.org>
16898
16899         doc: Mention vasprintf-posix module.
16900         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
16901         the 'vasprintf-posix' module.
16902         * doc/glibc-functions/vasprintf.texi: Likewise.
16903
16904 2010-12-19  Bruno Haible  <bruno@clisp.org>
16905
16906         unsetenv: Add missing declaration on OSF/1 5.1.
16907         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
16908         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
16909         Don't set HAVE_UNSETENV. In the test program, set _BSD.
16910         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
16911         not HAVE_UNSETENV.
16912         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
16913         HAVE_UNSETENV.
16914         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
16915
16916 2010-12-19  Bruno Haible  <bruno@clisp.org>
16917
16918         setenv: Add missing declaration on OSF/1 5.1.
16919         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
16920         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
16921         declared. Don't set HAVE_SETENV.
16922         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
16923         not HAVE_SETENV.
16924         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
16925         HAVE_SETENV.
16926         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
16927
16928 2010-12-19  Bruno Haible  <bruno@clisp.org>
16929
16930         nl_langinfo tests: Avoid gcc warning.
16931         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
16932
16933 2010-12-19  Bruno Haible  <bruno@clisp.org>
16934
16935         mknod: Avoid error in C++ mode on OSF/1 with GCC.
16936         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
16937         _GL_CXXALIAS_SYS.
16938
16939 2010-12-19  Bruno Haible  <bruno@clisp.org>
16940
16941         stdbool: Relax test.
16942         * tests/test-stdbool.c (e): Don't require that casts from a variable's
16943         address to 'bool' work in static initializer, for compilers other than
16944         GCC.
16945
16946 2010-12-19  Bruno Haible  <bruno@clisp.org>
16947
16948         ftello: Add missing declaration on OSF/1 5.1.
16949         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
16950         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
16951         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
16952         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
16953         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
16954
16955 2010-12-19  Bruno Haible  <bruno@clisp.org>
16956
16957         fseeko: Add missing declaration on OSF/1 5.1.
16958         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
16959         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
16960         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
16961         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
16962         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
16963
16964 2010-12-19  Bruno Haible  <bruno@clisp.org>
16965
16966         fchdir: Add missing declaration on OSF/1 5.1.
16967         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
16968         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
16969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
16970         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
16971         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
16972
16973 2010-12-19  Bruno Haible  <bruno@clisp.org>
16974
16975         relocatable-prog-wrapper: Separate from relocatable-prog.
16976         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
16977         uninstall-relocwrapper rule here.
16978         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
16979         Reported by Ian Beckwith <ianb@erislabs.net>.
16980
16981 2010-12-19  Bruno Haible  <bruno@clisp.org>
16982
16983         unistr/u8-mbsnlen: Add missing dependency.
16984         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
16985         Reported by Ian Beckwith <ianb@erislabs.net>.
16986
16987 2010-12-19  Bruno Haible  <bruno@clisp.org>
16988
16989         iconv: Make it possible again to use this module without 'iconv-h'.
16990         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
16991         if it is not defined.
16992         Reported by Ian Beckwith <ianb@erislabs.net>.
16993
16994 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
16995
16996         acl: port to Solaris 8 when copying from tmpfs to ufs
16997         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
16998         error number.  Problem observed on Solaris 8 with latest
16999         coreutils, with "mv A B", where A is on a tmpfs file system and B
17000         is on a ufs file system.  This caused coreutils' mv/part-symlink
17001         test to fail.
17002
17003         tests: set fail=0 at start
17004         * tests/init.sh (setup_): Move fail=0 initialization here ...
17005         (mktempd_): ... from here, so that tests can rely on fail being
17006         set to 0 initially.  This fixes a problem in coreutils; see:
17007         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17008
17009 2010-12-18  Bruno Haible  <bruno@clisp.org>
17010
17011         memmem-simple: Stylistic changes.
17012         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17013         Fix preprocessor directive indentation.
17014
17015 2010-12-15  Pádraig Brady <P@draigBrady.com>
17016
17017         memmem, memmem-simple: reorganize and expand empty needle check
17018         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17019         functional checks to memmem-simple so that one has a fully functional
17020         memmem by using just this module.
17021         Restrict the performance only check to the memmem module.
17022         Also expand the empty needle check to ensure the correct
17023         pointer is returned, not just a non NULL pointer.
17024         * doc/glibc-functions/memmem.texi: Rearrange the portability
17025         documentation to correlate with the rearranged checks.
17026         Clarify exactly how the memmem and memmem-simple modules
17027         relate to each other.
17028
17029 2010-12-15  Pádraig Brady <P@draigBrady.com>
17030             Bruno Haible  <bruno@clisp.org>
17031
17032         Improve cross-compilation guesses for uClibc.
17033         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17034         that uClibc does not have the glibc bug.
17035         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17036         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17037
17038 2010-12-14  Eric Blake  <eblake@redhat.com>
17039
17040         configmake: provide fallbacks for oldest supported autotools
17041         * m4/configmake.m4: New file.
17042         * modules/configmake (Files): Ship it.
17043         (configure.ac): Use it to guarantee fallbacks.
17044
17045 2010-12-13  Pádraig Brady <P@draigBrady.com>
17046
17047         read-file: Improve handling of large files
17048         * lib/read-file.c (fread_file): Minimize realloc()s
17049         for regular files, and better manage sizes around SIZE_MAX.
17050
17051 2010-12-13  Eric Blake  <eblake@redhat.com>
17052
17053         cloexec, fcntl: relax license
17054         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17055         consent from all contributors.
17056         * modules/fcntl (License): Likewise.
17057
17058 2010-12-10  Bruno Haible  <bruno@clisp.org>
17059
17060         Tests for module 'pipe-posix'.
17061         * modules/pipe-posix-tests: New file.
17062         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17063
17064 2010-12-10  Bruno Haible  <bruno@clisp.org>
17065
17066         pipe-posix: Make it work in C++ mode.
17067         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17068         (pipe): Use common idiom, not a macro definition.
17069         * lib/pipe.c: New file.
17070         * m4/pipe.m4: New file.
17071         * modules/pipe-posix (Description): Enhance.
17072         (Files): Add lib/pipe.c, m4/pipe.m4.
17073         (configure.ac): Invoke gl_FUNC_PIPE.
17074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17075         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17076         * tests/test-unistd-c++.cc: Check the signature of pipe.
17077
17078 2010-12-10  Bruno Haible  <bruno@clisp.org>
17079
17080         Rename module 'pipe' to 'spawn-pipe'.
17081         * modules/spawn-pipe: New file, renamed from modules/pipe.
17082         (Files, configure.ac, Makefile.am): Update.
17083         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17084         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17085         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17086         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17087         "spawn-pipe.h" instead of "pipe.h".
17088         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17089         to gl_SPAWN_PIPE.
17090         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17091         (Files, Makefile.am): Update.
17092         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17093         Update.
17094         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17095         Include "spawn-pipe.h" instead of "pipe.h".
17096         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17097         * lib/javacomp.c: Likewise.
17098         * lib/javaversion.c: Likewise.
17099         * lib/pipe-filter-gi.c: Likewise.
17100         * lib/pipe-filter-ii.c: Likewise.
17101         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17102         * modules/javacomp (Depends-on): Likewise.
17103         * modules/javaversion (Depends-on): Likewise.
17104         * modules/pipe-filter-gi (Depends-on): Likewise.
17105         * modules/pipe-filter-ii (Depends-on): Likewise.
17106         * MODULES.html.sh (Executing programs): Update.
17107         * NEWS: Mention the change.
17108
17109 2010-12-10  Eric Blake  <eblake@redhat.com>
17110
17111         pipe-posix: new module
17112         * modules/pipe-posix: New file.
17113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17114         (gl_UNISTD_H): Check for declaration.
17115         * modules/unistd (Makefile.am): Substitute it.
17116         * lib/unistd.in.h (pipe): Provide it for mingw.
17117         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17118         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17119
17120 2010-12-07  Bruno Haible  <bruno@clisp.org>
17121
17122         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17123         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17124         u8_strcmp_gnu.
17125         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17126
17127 2010-12-06  Bruno Haible  <bruno@clisp.org>
17128
17129         Update internal documentation.
17130         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17131
17132 2010-12-04  Bruno Haible  <bruno@clisp.org>
17133
17134         Put more information about failed tests into the test return codes.
17135         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17136         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17137         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17138         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17139         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17140         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17141         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17142         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17143         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17144         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17145         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17146         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17147         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17148         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17149         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17150         returns a bit mask.
17151         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17152         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17153         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17154         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17155         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17156         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17157         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17158         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17159         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17160         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17161         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17162         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17163         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17164         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17165         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17166         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17167         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17168         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17169         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17170         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17171         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17172         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17173         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17174         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17175         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17176         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17177         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17178         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17179         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17180         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17181         gl_PRINTF_PRECISION): Likewise.
17182         * m4/regex.m4 (gl_REGEX): Likewise.
17183         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17184         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17185         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17186         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17187         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17188         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17189         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17190         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17191         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17192         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17193         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17194         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17195         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17196         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17197         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17198         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17199         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17200         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17201         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17202         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17203         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17204         enumerated value.
17205         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17206
17207 2010-12-04  Bruno Haible  <bruno@clisp.org>
17208
17209         Update for Solaris 11 2010-11.
17210         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17211         Express, released in November 2010.
17212
17213 2010-12-04  Bruno Haible  <bruno@clisp.org>
17214
17215         nproc: Relax license.
17216         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17217         and Paul Eggert.
17218         Requested by Ludovic Courtès <ludo@gnu.org>.
17219
17220 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17221
17222         utimecmp: fine-grained src to nearby coarse-grained dest
17223
17224         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17225         and the source is on a file system with higher-resolution time
17226         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17227         not work, and the time stamps are close together, the algorithm to
17228         determine the exact resolution from the read-back mtime was buggy:
17229         it had a "!=" where it should have had an "==".  This bug has been
17230         in the code ever since it was introduced to gnulib.
17231         Problem reported by Dan Jacobson in
17232         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17233
17234 2010-11-30  Bruno Haible  <bruno@clisp.org>
17235
17236         strerror_r-posix: Fix autoconf test.
17237         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17238
17239 2010-11-28  Bruno Haible  <bruno@clisp.org>
17240             Paul Eggert  <eggert@cs.ucla.edu>
17241
17242         Tests for module 'getdomainname'.
17243         * modules/getdomainname-tests: New file.
17244         * tests/test-getdomainname.c: New file, based on
17245         tests/test-gethostname.c.
17246
17247 2010-11-28  Bruno Haible  <bruno@clisp.org>
17248             Paul Eggert  <eggert@cs.ucla.edu>
17249
17250         getdomainname: Use the system function when possible.
17251         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17252         (getdomainname): Replace if needed. Provide the declaration if it is
17253         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17254         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17255         (getdomainname): When the system has getdomainname, call the system
17256         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17257         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17258         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17259         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17260         the function if its second argument is of type 'int' or if it is found
17261         in libnsl.
17262         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17263         <sys/systeminfo.h> and sysinfo().
17264         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17265         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17266         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17267         HAVE_GETDOMAINNAME.
17268         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17269         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17270         * doc/glibc-functions/getdomainname.texi: Document the problems with
17271         the getdomainname declaration.
17272
17273 2010-11-28  Bruno Haible  <bruno@clisp.org>
17274
17275         sys_socket: Ensure ss_family field on AIX.
17276         * lib/sys_socket.in.h (ss_family): New macro definition.
17277         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17278         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17279         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17280         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17281         * modules/sys_socket (Makefile.am): Substitute
17282         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17283         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17284
17285 2010-11-27  Bruno Haible  <bruno@clisp.org>
17286
17287         readline: Improve configure output.
17288         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17289         "checking for readline..." result understandable.
17290
17291 2010-11-27  Bruno Haible  <bruno@clisp.org>
17292
17293         *printf-posix: Detect a bug on Solaris 10/x86.
17294         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17295         for floating-point output.
17296         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17297         directive.
17298         * tests/test-snprintf-posix.h (test_function): Likewise.
17299         * tests/test-sprintf-posix.h (test_function): Likewise.
17300         * tests/test-vasprintf-posix.c (test_function): Likewise.
17301         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17302         * doc/posix-functions/printf.texi: Likewise.
17303         * doc/posix-functions/snprintf.texi: Likewise.
17304         * doc/posix-functions/sprintf.texi: Likewise.
17305         * doc/posix-functions/vfprintf.texi: Likewise.
17306         * doc/posix-functions/vprintf.texi: Likewise.
17307         * doc/posix-functions/vsnprintf.texi: Likewise.
17308         * doc/posix-functions/vsprintf.texi: Likewise.
17309         * doc/glibc-functions/obstack_printf.texi: Likewise.
17310         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17311
17312 2010-11-27  Bruno Haible  <bruno@clisp.org>
17313
17314         Fix link error when module libunistring-optional is in use.
17315         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17316         * modules/striconveha-tests (Makefile.am): Likewise.
17317
17318 2010-11-27  Bruno Haible  <bruno@clisp.org>
17319
17320         regex: Mention link dependencies.
17321         * modules/regex (Link): New section.
17322         * modules/rpmatch (Link): Likewise.
17323         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17324
17325 2010-11-27  Bruno Haible  <bruno@clisp.org>
17326
17327         ftoastr: Fix compilation error on Solaris.
17328         * lib/ftoastr.c: Include <config.h>.
17329
17330 2010-11-27  Bruno Haible  <bruno@clisp.org>
17331
17332         getloadavg: Update documentation.
17333         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17334
17335 2010-11-27  Bruno Haible  <bruno@clisp.org>
17336
17337         sys_socket: Fix test whether the functions are declared.
17338         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17339         not <sys/select.h>.
17340
17341 2010-11-27  Bruno Haible  <bruno@clisp.org>
17342
17343         getpass: Make sure to get system declaration on some platforms.
17344         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17345         gl_USE_SYSTEM_EXTENSIONS.
17346         * modules/getpass (Depends-on): Add extensions.
17347
17348 2010-11-26  Bruno Haible  <bruno@clisp.org>
17349
17350         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17351         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17352         'iconv' module is present.
17353         (ICONV_CONST): New macro.
17354         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17355         ICONV_CONST.
17356         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17357         set ICONV_CONST.
17358         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17359         here.
17360         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17361         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17362         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17363         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17364         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17365         present.
17366
17367 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17368
17369         ftoastr: comment fix
17370         * lib/ftoastr.c: "little" -> "little or no" in comment
17371
17372 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17373
17374         stdint: port to GCC 4.3 + OSX + Octave
17375         On this platform, stdint.h is buggy and defines int64_t to long
17376         long int.  The replacement defined it to long int, causing
17377         problems with C++ style name mangling.  Instead, trust the system
17378         definition if INT64_MAX is defined, and likewise for the unsigned
17379         variant.   Problem reported by Jarno Rajahalme in
17380         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17381         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17382         and don't mess with int64_t and INT64_MAX in this case.
17383         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17384
17385 2010-11-24  Bruno Haible  <bruno@clisp.org>
17386
17387         doc: Corrections regarding MacOS X 10.4 and 10.5.
17388         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17389         MacOS X.
17390         Reported by Simon Josefsson.
17391
17392 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17393
17394         Uninstall ".bin" files installed by relocwrapper.
17395         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17396         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17397         unless it is already there.
17398
17399 2010-11-21  Bruno Haible  <bruno@clisp.org>
17400
17401         Update for NetBSD 5.0.
17402         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17403         NetBSD; the test fails on NetBSD 5.0.
17404         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17405         about NetBSD.
17406
17407 2010-11-21  Bruno Haible  <bruno@clisp.org>
17408
17409         Update for HP-UX 11.23 and HP-UX 11.31.
17410         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17411         HP-UX.
17412
17413 2010-11-21  Bruno Haible  <bruno@clisp.org>
17414
17415         Update for MacOS X 10.5.
17416         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17417         MacOS X; the test fails on MacOS X 10.5.8.
17418         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17419         about MacOS X.
17420
17421 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17422
17423         bootstrap: add bootstrap_sync option.
17424         See discussion at
17425         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17426         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17427         * build-aux/bootstrap: Accept --bootstrap-sync to update
17428         bootstrap if it is not identical to the local gnulib's
17429         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17430         enable this by default.  Accept --no-bootstrap-sync to disable
17431         it.
17432
17433 2010-11-20  Bruno Haible  <bruno@clisp.org>
17434
17435         Ensure that <features.h> is included before __GLIBC__ is tested.
17436         * lib/printf-parse.h: Include <features.h>.
17437         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17438         Reported by Mike Frysinger <vapier@gentoo.org>.
17439
17440         Ensure that <features.h> is included before __GLIBC__ is tested.
17441         * lib/wchar.in.h: Include <features.h>.
17442         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17443         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17444         Reported by Mike Frysinger <vapier@gentoo.org>.
17445
17446         Ensure that <features.h> is included before __GLIBC__ is tested.
17447         * lib/arpa_inet.in.h: Include <features.h>.
17448         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17449         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17450         Reported by Mike Frysinger <vapier@gentoo.org>.
17451
17452         Ensure that <features.h> is included before __GLIBC__ is tested.
17453         * build-aux/link-warning.h: Include <features.h>.
17454         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17455         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17456         Reported by Mike Frysinger <vapier@gentoo.org>.
17457
17458         Ensure that <features.h> is included before __GLIBC__ is tested.
17459         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17460         Reported by Mike Frysinger <vapier@gentoo.org>.
17461
17462 2010-11-20  Bruno Haible  <bruno@clisp.org>
17463
17464         memmem: Fix autoconf test.
17465         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17466
17467 2010-11-20  Bruno Haible  <bruno@clisp.org>
17468
17469         Port to uClibc.
17470         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
17471         * lib/fcntl.in.h: Likewise.
17472         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
17473         * lib/mbrtowc.c (mbrtowc): Likewise.
17474         * lib/relocatable.c (find_shared_library_fullname): Likewise.
17475         * lib/strerror_r.c: Likewise.
17476         * lib/unistr/u8-strnlen.c: Likewise.
17477         * lib/vasnprintf.c (decimal_point_char): Likewise.
17478         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17479         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17480         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17481         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
17482         * tests/test-sigaction.c (handler, main): Likewise.
17483         * lib/freading.h: Treat uClibc like a non-glibc platform.
17484         * lib/freading.c: Likewise.
17485         * lib/gettext.h: Likewise.
17486         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
17487         Likewise.
17488         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
17489         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17490         * lib/propername.c (proper_name_utf8): Likewise.
17491         * lib/spawn.in.h: Likewise.
17492         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
17493         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
17494         mem_cd_iconveh_internal): Likewise.
17495         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
17496         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17497         strstr, strcasestr): Likewise.
17498         * lib/unicodeio.c (unicode_to_mb): Likewise.
17499         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
17500         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
17501         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
17502         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
17503         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
17504         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
17505         * lib/unistr/u8-stpncpy.c: Likewise.
17506         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17507         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
17508         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17509         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17510         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
17511         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
17512         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
17513         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
17514         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17515         Likewise.
17516         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17517         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17518         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17519         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17520         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17521         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17522         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17523         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17524         * tests/test-getopt.h (OPTIND_MIN): Likewise.
17525         * tests/test-striconveha.c (main): Likewise.
17526         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17527         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
17528         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
17529         * doc/posix-functions/getline.texi: Likewise.
17530         Reported by Mike Frysinger <vapier@gentoo.org>.
17531
17532 2010-11-20  Bruno Haible  <bruno@clisp.org>
17533
17534         nproc: Fix condition.
17535         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
17536         HAVE_PTHREAD_AFFINITY_NP.
17537
17538 2010-11-20  Bruno Haible  <bruno@clisp.org>
17539
17540         Fix a comment.
17541         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
17542
17543 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
17544
17545         ftoastr: don't assume snprintf
17546         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
17547         Implement a subset of snprintf here, by using sprintf safely.
17548         * modules/ftoastr (Depends-on): Remove snprintf.
17549
17550 2010-11-19  Jim Meyering  <meyering@redhat.com>
17551
17552         test-rename.h: fix compilation failure
17553         * tests/test-rename.h (test_rename): Add omitted "}".
17554
17555 2010-11-17  Jim Meyering  <meyering@redhat.com>
17556
17557         maint.mk: add a URL discussing the no-@acronym policy
17558         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
17559
17560 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17561
17562         ftoastr: depend on snprintf, improve comments
17563         * lib/ftoastr.c: Also mention Loitsch's draft.
17564         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
17565         needed in the current implementation, but it might simplify
17566         speeding up the code later.
17567         * modules/ftoastr: Depend on snprintf; this improves portability.
17568         Suggested by Bruno Haible in the same email.
17569
17570         ftoastr: port to hosts lacking strtof and strtold
17571         Problem reported by Bruno Haible in
17572         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
17573         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
17574         environment and strtold (and presumably strtof) are not available.
17575         * modules/ftoastr (Files): Add m4/c-strtod.m4.
17576         (configure.ac): Require gl_C99_STRTOLD.
17577
17578 2010-11-18  Bruno Haible  <bruno@clisp.org>
17579
17580         c-strtold: Avoid link error on AIX 7.
17581         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
17582         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
17583         (gl_C_STRTOLD): Test whether strtold_l exists.
17584         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17585
17586 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17587
17588         intprops: new macro INT_BITS_STRLEN_BOUND
17589         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
17590         ftoastr.h.  This exposes an internal of intprops.h that was formerly
17591         not exposed.  Also, it uses a slightly tighter bound than before;
17592         though this makes no practical difference, we might as well be as
17593         tight as we easily can.
17594
17595         ftoastr: new module, for lossless conversion of floats to short strings
17596         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
17597         * modules/ftoastr: New files.
17598
17599 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
17600
17601         bootstrap: port to Solaris sed
17602         * build-aux/bootstrap (get_version): Port to Solaris sed.
17603         See Ralf Wildenhues's note in
17604         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
17605
17606 2010-11-14  Jim Meyering  <meyering@redhat.com>
17607
17608         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
17609         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
17610         and move definition closer to sole use.
17611
17612 2010-11-13  Jim Meyering  <meyering@redhat.com>
17613
17614         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
17615         Now we require at least autoconf-2.59, which means the work-around
17616         is no longer needed.
17617         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
17618         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17619         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
17620         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17621         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17622
17623 2010-11-13  Bruno Haible  <bruno@clisp.org>
17624
17625         rename, renameat: Avoid test failures at NFS mounted locations.
17626         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
17627         functions.
17628         (test_rename): Use assert_nonexistent.
17629         * tests/test-rename.c: Include <dirent.h>.
17630         * tests/test-renameat.c: Likewise.
17631         Reported by Gary V. Vaughan <gary@gnu.org>.
17632
17633         rename, renameat: Document Linux bug with NFS
17634         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
17635         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
17636         * doc/posix-functions/renameat.texi: Likewise.
17637         Suggested by Eric Blake.
17638
17639 2010-11-13  Bruno Haible  <bruno@clisp.org>
17640
17641         rename test: Add comments.
17642         * tests/test-rename.h (test_rename): Add structure and comments.
17643
17644 2010-11-13  Eric Blake  <eblake@redhat.com>
17645
17646         maintainer-makefile: cover a few more files
17647         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
17648         scripts generated within C files, for libvirt.
17649
17650 2010-11-13  Bruno Haible  <bruno@clisp.org>
17651
17652         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
17653         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
17654         character, return the number of bytes that belong together, not always
17655         1.
17656         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
17657         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
17658         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
17659         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
17660         number of bytes of an invalid character.
17661         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
17662         (main): Invoke it.
17663         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
17664         results.
17665         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
17666         malformed byte sequences.
17667         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
17668         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
17669         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
17670         Reported by Ben Pfaff and Paolo Bonzini.
17671
17672 2010-11-13  Bruno Haible  <bruno@clisp.org>
17673
17674         openat: Work around glibc bug with fchownat() and empty file names.
17675         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
17676         (gl_FUNC_FCHOWNAT): Invoke it.
17677         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
17678         * doc/posix-functions/fchownat.texi: Document the glibc bug.
17679         Reported by Gary V. Vaughan <gary@gnu.org>.
17680
17681 2010-11-13  Bruno Haible  <bruno@clisp.org>
17682
17683         openat: Ensure autoconf macro ordering.
17684         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
17685         gl_USE_SYSTEM_EXTENSIONS.
17686         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
17687
17688 2010-11-13  Bruno Haible  <bruno@clisp.org>
17689
17690         Update comments.
17691         * lib/unistr/u8-check.c: Update file name in comments.
17692         * lib/unistr/u8-mblen.c: Likewise.
17693         * lib/unistr/u8-prev.c: Likewise.
17694         * lib/unistr/u8-strmblen.c: Likewise.
17695         * lib/unistr/u8-strmbtouc.c: Likewise.
17696
17697 2010-11-13  Jim Meyering  <meyering@redhat.com>
17698
17699         tests: avoid test failure on Solaris 10 due to lack of PATH export
17700         * tests/test-update-copyright.sh: Don't forget to export PATH.
17701
17702         init.sh: ensure that IFS is defined, just in case...
17703         * tests/init.sh (setup_): Ensure that IFS is defined,
17704         so that saving and restoring it works as expected.  This
17705         appears to be useful at least for an old version of dash
17706         from a long time ago (RH 6).  See here for details:
17707         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
17708
17709         maint.mk: tighten "test a == b" check
17710         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
17711         test to files that contain something like #!/bin/sh.
17712         Without this, coreutils would get two false positives in
17713         the comments of C source files.
17714
17715 2010-11-12  Eric Blake  <eblake@redhat.com>
17716
17717         bootstrap: fix typo in previous attempt
17718         * build-aux/bootstrap (buildreq): Correct the grouping.
17719         Reported by Paul Eggert.
17720
17721         maintainer-makefile: prohibit test x == x
17722         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
17723         Based on a report by Matthias Bolte.
17724
17725         bootstrap: allow FreeBSD gzip
17726         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
17727         which has no '.' and goes to stderr.
17728         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
17729         Reported by Matthias Bolte.
17730
17731         maintainer-makefile: check for i18n setup
17732         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
17733         will likely work.
17734
17735 2010-11-12  Bruno Haible  <bruno@clisp.org>
17736
17737         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
17738         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
17739         * lib/nanosleep.c (nanosleep): Likewise.
17740
17741 2010-11-11  Bruno Haible  <bruno@clisp.org>
17742
17743         fcntl-h: Fix for use of C++ on glibc systems.
17744         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
17745         also on glibc systems in C++ mode.
17746         Reported by Gary V. Vaughan <gary@gnu.org>.
17747
17748 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
17749
17750         mknod: avoid false failure with dash
17751         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
17752
17753 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
17754
17755         unlink: Fix "is it should" typo in diagnostic.
17756         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
17757         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
17758
17759 2010-11-11  Bruno Haible  <bruno@clisp.org>
17760
17761         Tests for module 'strerror_r-posix'.
17762         * modules/strerror_r-posix-tests: New file.
17763         * tests/test-strerror_r.c: New file.
17764         * tests/test-string-c++.cc: Check the signature of strerror_r.
17765
17766         New module 'strerror_r-posix'.
17767         * lib/string.in.h (strerror_r): New declaration.
17768         * lib/strerror_r.c: New file.
17769         * m4/strerror_r.m4: New file.
17770         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
17771         of strerror_r.
17772         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
17773         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
17774         * modules/strerror_r-posix: New file.
17775         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
17776         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
17777         * doc/posix-functions/strerror_r.texi: Mention the new module and the
17778         portability problems.
17779
17780 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
17781
17782         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
17783         line is also considered for output. Quoted function name in shell
17784         command, so temporary files for functions like MyClass::operator()
17785         are removed correctly without errors.
17786
17787 2010-11-09  Bruno Haible  <bruno@clisp.org>
17788
17789         * doc/posix-functions/strerror.texi: List more failing platforms.
17790
17791         * doc/posix-functions/strerror.texi: Add a comment.
17792
17793 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
17794
17795         fdopendir: fix bug on MacOS X when low on file descriptors
17796
17797         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
17798         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
17799         All callers changed.
17800         (fdopendir): Invoke save_cwd at the top level, not after using
17801         multiple dup() calls to use up file descriptors.  Then retry
17802         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
17803         less than the maximum number of open file descriptors, because
17804         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
17805         on Mac OS X 10.6.4 for tar 1.24
17806         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
17807         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
17808         and for tar 1.25
17809         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
17810
17811 2010-11-07  Bruno Haible  <bruno@clisp.org>
17812
17813         vasnprintf: Support I flag on glibc systems.
17814         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
17815         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
17816         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
17817         snprintf function.
17818         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
17819         glibc systems.
17820         * tests/test-vasnprintf-posix3.c: New file.
17821         * modules/vasnprintf-posix-tests (Files): Add it.
17822         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
17823
17824 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
17825
17826         [html] Fix copy/paste bug: Use unique name for compiler warnings.
17827         * MODULES.html.sh: For compiler warnings, use name
17828         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
17829
17830 2010-11-05  Eric Blake  <eblake@redhat.com>
17831
17832         ceil, floor: avoid spurious failure with icc
17833         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
17834         [denormals-as-zero] when optimizing without -mieee-fp option.
17835         * tests/test-floorf2.c (floorf_reference): Likewise.
17836         * tests/test-ceilf1.c (dummy): New function.
17837         (main): Use it to outsmart icc's optimization.
17838         * tests/test-floorf1.c (dummy, main): Likewise.
17839
17840         tests: require working signbit
17841         * modules/ceilf-tests (Depends-on): Add signbit.
17842         * modules/ceill-tests (Depends-on): Likewise.
17843         * modules/floorf-tests (Depends-on): Likewise.
17844         * modules/floorl-tests (Depends-on): Likewise.
17845         * modules/round-tests (Depends-on): Likewise.
17846         * modules/roundf-tests (Depends-on): Likewise.
17847         * modules/roundl-tests (Depends-on): Likewise.
17848         * modules/trunc-tests (Depends-on): Likewise.
17849         * modules/truncf-tests (Depends-on): Likewise.
17850         * modules/truncl-tests (Depends-on): Likewise.
17851
17852         strtod: work around icc bug
17853         * lib/strtod.c (minus_zero): Define to working value.
17854         (strtod): Use it to avoid icc bug.
17855
17856         copysign: enhance tests
17857         * modules/copysign-tests (Files): Add minus-zero.h.
17858         * tests/test-copysign.c (main): Also test zeros.
17859
17860 2010-11-04  Eric Blake  <eblake@redhat.com>
17861
17862         ceil, floor, round, trunc: enhance tests of -0
17863         * tests/test-ceilf1.c (main): Ensure correct sign of result.
17864         * tests/test-ceill.c (main): Likewise.
17865         * tests/test-floorf1.c (main): Likewise.
17866         * tests/test-floorl.c (main): Likewise.
17867         * tests/test-round1.c (main): Likewise.
17868         * tests/test-roundf1.c (main): Likewise.
17869         * tests/test-roundl.c (main): Likewise.
17870         * tests/test-trunc1.c (main): Likewise.
17871         * tests/test-truncf1.c (main): Likewise.
17872         * tests/test-truncl.c (main): Likewise.
17873
17874 2010-11-04  Eric Blake  <eblake@redhat.com>
17875
17876         frexp, tests: work around ICC bug with -zero
17877         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
17878         works with more compilers.
17879         * tests/minus-zero.h: New file.
17880         * modules/ceilf-tests (Files): Include it.
17881         * modules/ceill-tests (Files): Likewise.
17882         * modules/floorf-tests (Files): Likewise.
17883         * modules/floorl-tests (Files): Likewise.
17884         * modules/frexp-nolibm-tests (Files): Likewise.
17885         * modules/frexp-tests (Files): Likewise.
17886         * modules/frexpl-nolibm-tests (Files): Likewise.
17887         * modules/frexpl-tests (Files): Likewise.
17888         * modules/isnan-tests (Files): Likewise.
17889         * modules/isnand-nolibm-tests (Files): Likewise.
17890         * modules/isnand-tests (Files): Likewise.
17891         * modules/isnanf-nolibm-tests (Files): Likewise.
17892         * modules/isnanf-tests (Files): Likewise.
17893         * modules/isnanl-nolibm-tests (Files): Likewise.
17894         * modules/isnanl-tests (Files): Likewise.
17895         * modules/round-tests (Files): Likewise.
17896         * modules/roundf-tests (Files): Likewise.
17897         * modules/roundl-tests (Files): Likewise.
17898         * modules/ldexpl-tests (Files): Likewise.
17899         * modules/signbit-tests (Files): Likewise.
17900         * modules/snprintf-posix-tests (Files): Likewise.
17901         * modules/sprintf-posix-tests (Files): Likewise.
17902         * modules/strtod-tests (Files): Likewise.
17903         * modules/trunc-tests (Files): Likewise.
17904         * modules/truncf-tests (Files): Likewise.
17905         * modules/truncl-tests (Files): Likewise.
17906         * modules/vsnprintf-posix-tests (Files): Likewise.
17907         * modules/vsprintf-posix-tests (Files): Likewise.
17908         * modules/vasnprintf-posix-tests (Files): Likewise.
17909         * modules/vasprintf-posix-tests (Files): Likewise.
17910         * tests/test-ceilf1.c (main): Use it.
17911         * tests/test-ceill.c (main): Likewise.
17912         * tests/test-floorf1.c (main): Likewise.
17913         * tests/test-floorl.c (main): Likewise.
17914         * tests/test-frexp.c (main): Likewise.
17915         * tests/test-frexpl.c (main): Likewise.
17916         * tests/test-isnan.c (main): Likewise.
17917         * tests/test-isnand.h (main): Likewise.
17918         * tests/test-isnanf.h (main): Likewise.
17919         * tests/test-isnanl.h (main): Likewise.
17920         * tests/test-ldexpl.c (main): Likewise.
17921         * tests/test-round.c (main): Likewise.
17922         * tests/test-roundf.c (main): Likewise.
17923         * tests/test-roundl.c (main): Likewise.
17924         * tests/test-signbit.c (test_signbitf, test_signbitd)
17925         (test_signbitl): Likewise.
17926         * tests/test-snprintf-posix.h (test_function): Likewise.
17927         * tests/test-sprintf-posix.h (test_function): Likewise.
17928         * tests/test-strtod.c (main): Likewise.
17929         * tests/test-trunc1.c (main): Likewise.
17930         * tests/test-truncf1.c (main): Likewise.
17931         * tests/test-truncl.c (main): Likewise.
17932
17933         isnanl: work around icc bug
17934         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
17935
17936 2010-11-03  Eric Blake  <eblake@redhat.com>
17937
17938         tests: fix compiler warnings
17939         * tests/test-getopt.h (test_getopt): Fix condition.
17940         * tests/test-getopt_long.h (test_getopt_long): Likewise.
17941         * tests/test-pipe2.c (main): Likewise.
17942         * tests/test-quotearg-simple.c (main): Avoid icc warning.
17943
17944         utimens: fix broken m4 test
17945         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
17946
17947 2010-10-28  Bruno Haible  <bruno@clisp.org>
17948
17949         posix_spawn*, getdtablesize: Relax license.
17950         * modules/posix_spawn (License): Change to LGPLv2+.
17951         * modules/posix_spawnp (License): Likewise.
17952         * modules/posix_spawn-internal (License): Likewise.
17953         * modules/posix_spawnattr_init (License): Likewise.
17954         * modules/posix_spawnattr_getflags (License): Likewise.
17955         * modules/posix_spawnattr_setflags (License): Likewise.
17956         * modules/posix_spawnattr_getpgroup (License): Likewise.
17957         * modules/posix_spawnattr_setpgroup (License): Likewise.
17958         * modules/posix_spawnattr_getschedparam (License): Likewise.
17959         * modules/posix_spawnattr_setschedparam (License): Likewise.
17960         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
17961         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
17962         * modules/posix_spawnattr_getsigdefault (License): Likewise.
17963         * modules/posix_spawnattr_setsigdefault (License): Likewise.
17964         * modules/posix_spawnattr_getsigmask (License): Likewise.
17965         * modules/posix_spawnattr_setsigmask (License): Likewise.
17966         * modules/posix_spawnattr_destroy (License): Likewise.
17967         * modules/posix_spawn_file_actions_init (License): Likewise.
17968         * modules/posix_spawn_file_actions_addclose (License): Likewise.
17969         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
17970         * modules/posix_spawn_file_actions_addopen (License): Likewise.
17971         * modules/posix_spawn_file_actions_destroy (License): Likewise.
17972         * modules/getdtablesize (License): Likewise.
17973         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
17974
17975 2010-10-26  Bruno Haible  <bruno@clisp.org>
17976
17977         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
17978         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
17979         Cygwin and mingw.
17980         Suggested by Eric Blake.
17981
17982 2010-10-26  Bruno Haible  <bruno@clisp.org>
17983
17984         stdio: Work around compilation error due to renameat() on Solaris 10.
17985         * lib/stdio.in.h: Include <unistd.h> on Solaris.
17986         * lib/renameat.c: Don't include <unistd.h> here.
17987         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
17988         Reported by Paul Eggert and Eric Blake.
17989
17990 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
17991
17992         renameat: port to Solaris 10, which declares renameat in unistd.h
17993
17994         * lib/renameat.c: Include unistd.h before stdio.h, because
17995         Solaris 10 declares renameat in unistd.h.  Problem encountered
17996         when building GNU tar 1.24 on Solaris 10.
17997
17998 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
17999
18000         fdopendir: fix C89 compilation
18001         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18002         compilers.
18003
18004 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18005
18006         inttostr: simplify by removing unnecessary redundancy
18007         * lib/anytostr.c: Don't include verify.h.
18008         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18009         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18010         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18011         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18012         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18013         Likewise.
18014         * modules/inttostr (Depends-on): Remove 'verify'.
18015
18016 2010-10-23  Bruno Haible  <bruno@clisp.org>
18017
18018         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18019         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18020         Reported by Eric Blake.
18021
18022 2010-10-23  Bruno Haible  <bruno@clisp.org>
18023
18024         Tests: Fix LOCALE_JA on MirBSD 10.
18025         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18026         to an UTF-8 locale.
18027         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18028         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18029         Reported by Eric Blake.
18030
18031 2010-10-21  Bruno Haible  <bruno@clisp.org>
18032
18033         nl_langinfo test: Avoid test failure on NetBSD 5.
18034         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18035         Reported by Eric Blake.
18036
18037 2010-10-21  Eric Blake  <eblake@redhat.com>
18038
18039         c-stack: work around libsigsegv 2.8 bug
18040         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18041         overflow on at least PowerPC64.
18042
18043 2010-10-17  Bruno Haible  <bruno@clisp.org>
18044
18045         userspec: Drop redundant file.
18046         * modules/userspec (Files): Remove lib/inttostr.h.
18047
18048 2010-10-17  Bruno Haible  <bruno@clisp.org>
18049
18050         nl_langinfo tests: Silence some warnings.
18051         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18052         Reported by Jim Meyering.
18053
18054 2010-10-17  Bruno Haible  <bruno@clisp.org>
18055
18056         Make use of GCC's attribute __alloc_size__.
18057         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18058         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18059         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18060         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18061         __alloc_size__.
18062         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18063         Suggested by Jim Meyering.
18064
18065 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18066
18067         bootstrap: anchor .gitignore entries.
18068         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18069         with...
18070         (insert_vc_ignore): ... this new function, which prepends `/' to
18071         all .gitignore entries before passing them to
18072         insert_sorted_if_absent.
18073
18074 2010-10-16  Bruno Haible  <bruno@clisp.org>
18075
18076         nextafter: Fix configure check.
18077         * modules/nextafter (configure.ac): Correct expected prototype.
18078
18079 2010-10-16  Bruno Haible  <bruno@clisp.org>
18080
18081         termios: Update documentation.
18082         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18083
18084 2010-10-16  Bruno Haible  <bruno@clisp.org>
18085
18086         tests: Make them compile with TinyCC.
18087         * tests/test-strstr.c (main): Remove parentheses around array
18088         initializer.
18089
18090 2010-10-15  Eric Blake  <eblake@redhat.com>
18091
18092         ignore-value: make header idempotent
18093         * lib/ignore-value.h: Add double-inclusion guards.
18094         Reported by Stefan Berger.
18095
18096 2010-10-15  Jim Meyering  <meyering@redhat.com>
18097
18098         GNUmakefile: handle "stable" target, not "major"
18099         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18100         lists in maint.mk and announce-gen.  Without this, "make stable"
18101         would fail to ensure that $(VERSION) is up to date.
18102
18103 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18104
18105         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18106         & co.
18107
18108 2010-10-14  Bruno Haible  <bruno@clisp.org>
18109
18110         vasnprintf: Don't set errno to 0.
18111         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18112         block that sets it to 0.
18113         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18114
18115 2010-10-14  Bruno Haible  <bruno@clisp.org>
18116
18117         socketlib: Fix.
18118         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18119         gl_PREREQ_SYS_H_WINSOCK2.
18120         Reported by Ian Beckwith <ianb@erislabs.net>.
18121
18122 2010-10-13  Jim Meyering  <meyering@redhat.com>
18123
18124         test-select-stdin.c: avoid warn_unused_result warnings
18125         * tests/test-select-stdin.c: Include "macros.h".
18126         ASSERT that read and fflush succeed.
18127
18128 2010-10-13  Jim Meyering  <meyering@redhat.com>
18129
18130         git-version-gen: do require git-VC'd files in cwd
18131         * build-aux/git-version-gen: Reject a git version string
18132         if there are no commits associated with the current directory.
18133         This avoids an unlikely false-positive (unrelated dir whose parent
18134         repository also contains a tag matching v*), as pointed out
18135         by Giuseppe Scrivano in
18136         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18137
18138 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18139
18140         argv-iter: omit nonconforming declaration
18141         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18142         enum arg_iter_err declaration, which doesn't conform to C99.
18143         Solaris 10 cc warns about this.
18144
18145 2010-10-13  Eric Blake  <eblake@redhat.com>
18146
18147         termios: fix compilation on mingw
18148         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18149         (gl_TERMIOS_H): Adjust it on mingw.
18150         * modules/termios (Makefile.am): Substitute new key.
18151         * lib/termios.in.h (includes): Make include_next conditional.
18152         * doc/posix-headers/termios.texi (termios.h): Update
18153         documentation.
18154         Reported by Daniel P. Berrange.
18155
18156 2010-10-13  Jim Meyering  <meyering@redhat.com>
18157
18158         git-version-gen: don't require that .git/ be in the current dir
18159         * build-aux/git-version-gen: Adjust this script so that it works
18160         when run from any working directory beneath the top-level .git/-
18161         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18162         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18163
18164         test-select: avoid warn_unused_result warnings
18165         * tests/test-select.c: Include "macros.h".
18166         ASSERT that each call to read, write, and pipe succeeds.
18167         While not technically required, also check each "close".
18168         * modules/select-tests (Files): Add tests/macros.h.
18169
18170         test-symlinkat: remove declaration of unused local
18171         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18172
18173         test-inttostr: avoid shadowing warnings
18174         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18175         and use malloc rather than the stack for the same reason as
18176         mentioned in the comment justifying the other allocation.
18177
18178 2010-10-11  Bruno Haible  <bruno@clisp.org>
18179
18180         stdlib: Allow multiple gnulib generated replacements to coexist.
18181         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18182         Reported by Sam Steingold <sds@gnu.org>.
18183
18184 2010-10-11  Jim Meyering  <meyering@redhat.com>
18185
18186         fix a documentation typo
18187         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18188
18189 2010-10-11  Eric Blake  <eblake@redhat.com>
18190
18191         futimens: work around Solaris 11 bug
18192         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18193         * tests/test-futimens.h (test_futimens): Enhance, rather than
18194         weaken test.
18195         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18196
18197 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18198
18199         Indentation.
18200         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18201         higher-level operators more to the left.
18202
18203 2010-10-11  Jim Meyering  <meyering@redhat.com>
18204
18205         test-futimens: avoid unwarranted test failure on Solaris 5.11
18206         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18207         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18208         because it tries to dereference the NULL name argument.
18209
18210 2010-10-11  Bruno Haible  <bruno@clisp.org>
18211
18212         Indentation.
18213         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18214         indentation.
18215
18216 2010-10-11  Jim Meyering  <meyering@redhat.com>
18217
18218         spawn.in.h: make indentation consistent with parentheses
18219         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18220         Make indentation consistent with parentheses.
18221
18222 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18223
18224         Fix mismatched parens in previous commit
18225         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18226         parens.
18227
18228 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18229
18230         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18231
18232         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18233         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18234         * lib/malloca.c: Include "verify.h".
18235         (verify1): Remove, replacing with a verify call.
18236         * lib/relocwrapper.c (verify1): Likewise.
18237         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18238         Likewise.
18239         * modules/malloca (Depends-on): Add 'verify'.
18240         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18241         * modules/vasnprintf (Depends-on): Add 'verify'.
18242         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18243         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18244         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18245         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18246         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18247         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18248         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18249
18250         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18251
18252         Formerly the style was sometimes 2*X - 1, because the C standard
18253         was wrongly thought to disallow ?: in integral constant expressions.
18254         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18255         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18256         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18257         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18258         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18259         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18260         verify that time_t cannot be floating.
18261
18262 2010-10-08  Eric Blake  <eblake@redhat.com>
18263
18264         time: enforce recent POSIX ruling that time_t is integral
18265         * lib/time.in.h (__time_t_must_be_integral): Detect any
18266         problematic systems, allowing the rest of gnulib to assume POSIX.
18267
18268 2010-10-08  Jim Meyering  <meyering@redhat.com>
18269
18270         fdopendir: fix a bug on systems lacking openat and /proc support
18271         OpenBSD 4.7 is one such system.  The most noticeable effect was
18272         failure of any application making nontrivial use of fts: rm, du,
18273         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18274           ./rm: traversal failed: `a': Bad file descriptor
18275         Debugging that, you see that even though FD 6 was closed just
18276         prior to the opendir call in fd_clone_opendir, its resulting
18277         dir->dd_fd was 8, rather than the expected value of 6:
18278
18279         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18280         93                close (fd);
18281         (gdb) n
18282         94                dir = fd_clone_opendir (dupfd);
18283         (gdb) n
18284         95                saved_errno = errno;
18285         (gdb) p dir->dd_fd
18286         $11 = 8
18287
18288         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18289         The problem is that on OpenBSD, fd_clone_opendir has to resort
18290         to using the old-style save/restore CWD mechanism, due to its
18291         lack of openat/proc support, and *that* would steal the FD (6)
18292         that opendir was supposed to use.
18293
18294         The fix is to squirrel away the desired FD so that save_cwd uses a
18295         different one, and then free the dest FD right before calling opendir.
18296         That guarantees opendir will use the required file descriptor.
18297
18298         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18299
18300 2010-10-08  Bruno Haible  <bruno@clisp.org>
18301
18302         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18303         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18304
18305 2010-10-08  Bruno Haible  <bruno@clisp.org>
18306
18307         nanosleep: Make replacement POSIX compliant.
18308         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18309         is out of range.
18310         Reported by Jim Meyering.
18311
18312 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18313
18314         bootstrap: add hook for altering gnulib.mk, for Bison
18315         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18316         the Bison bootstrapping process can rewrite file names and variables
18317         in this file before later parts of 'bootstrap' use the file.
18318         Bison wants to include lib/gnulib.mk from the top-level makefile,
18319         so it needs the file names in this file to be relative to the top
18320         level, not relative to lib; plus it needs variable names to be
18321         rewritten.
18322         (slurp): Use the new function.
18323
18324         bootstrap: reformat for readability
18325         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18326
18327 2010-10-08  Eric Blake  <eblake@redhat.com>
18328
18329         docs: update cygwin progress
18330         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18331         1.7.7.
18332         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18333         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18334         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18335         * doc/posix-functions/carg.texi (carg): Likewise.
18336         * doc/posix-functions/cargf.texi (cargf): Likewise.
18337         * doc/posix-functions/casin.texi (casin): Likewise.
18338         * doc/posix-functions/casinf.texi (casinf): Likewise.
18339         * doc/posix-functions/casinh.texi (casinh): Likewise.
18340         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18341         * doc/posix-functions/catan.texi (catan): Likewise.
18342         * doc/posix-functions/catanf.texi (catanf): Likewise.
18343         * doc/posix-functions/catanh.texi (catanh): Likewise.
18344         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18345         * doc/posix-functions/ccos.texi (ccos): Likewise.
18346         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18347         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18348         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18349         * doc/posix-functions/cexp.texi (cexp): Likewise.
18350         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18351         * doc/posix-functions/cimag.texi (cimag): Likewise.
18352         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18353         * doc/posix-functions/clog.texi (clog): Likewise.
18354         * doc/posix-functions/clogf.texi (clogf): Likewise.
18355         * doc/posix-functions/conj.texi (conj): Likewise.
18356         * doc/posix-functions/conjf.texi (conjf): Likewise.
18357         * doc/posix-functions/cpow.texi (cpow): Likewise.
18358         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18359         * doc/posix-functions/cproj.texi (cproj): Likewise.
18360         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18361         * doc/posix-functions/creal.texi (creal): Likewise.
18362         * doc/posix-functions/crealf.texi (crealf): Likewise.
18363         * doc/posix-functions/csin.texi (csin): Likewise.
18364         * doc/posix-functions/csinf.texi (csinf): Likewise.
18365         * doc/posix-functions/csinh.texi (csinh): Likewise.
18366         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18367         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18368         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18369         * doc/posix-functions/ctan.texi (ctan): Likewise.
18370         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18371         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18372         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18373         * doc/posix-headers/complex.texi (complex.h): Likewise.
18374
18375 2010-10-07  Jim Meyering  <meyering@redhat.com>
18376
18377         parse-datetime: avoid compilation failure on OpenBSD 4.7
18378         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18379         This works around a compilation failure on OpenBSD 4.7:
18380         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18381
18382 2010-10-07  Eric Blake  <eblake@redhat.com>
18383
18384         docs: update cygwin progress
18385         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18386         1.7.6.
18387         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18388         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18389         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18390         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18391         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18392         Likewise.
18393         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18394         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18395         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18396         Likewise.
18397         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18398         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18399         Likewise.
18400         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18401         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18402         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18403         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18404         Likewise.
18405         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18406         Likewise.
18407         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18408
18409         docs: update parse-datetime history
18410         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18411         documentation of this function's history and alternatives.
18412
18413         cygwin: use more robust version check
18414         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18415         exclude an eventual cygwin 1.9.1.
18416         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18417         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18418         (gl_FUNC_STRCASESTR): Likewise.
18419         Reported by Bruno Haible.
18420
18421 2010-10-06  Bruno Haible  <bruno@clisp.org>
18422
18423         string, sys_select: Avoid #including large headers unless necessary.
18424         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18425         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18426         OSF/1, BeOS, Haiku.
18427         Reported by Jim Meyering.
18428
18429 2010-10-05  Eric Blake  <eblake@redhat.com>
18430
18431         memmem, strstr, strcasestr: fix bug with long periodic needle
18432         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18433         periodic needle having false positive.
18434         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18435         and cygwin 1.7.7.
18436         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18437         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18438         (gl_FUNC_STRCASESTR): Likewise.
18439         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18440         * tests/test-memmem.c (main): Expose the bug.
18441         * tests/test-strcasestr.c (main): Likewise.
18442         * tests/test-strstr.c (main): Likewise.
18443         * tests/test-c-strcasestr.c (main): Likewise.
18444         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18445         * doc/posix-functions/strstr.texi (strstr): Likewise.
18446         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18447         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18448
18449 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18450
18451         parse-datetime: do some more renaming
18452         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18453         parse_datetime, not get_date.  Mention the renaming.
18454         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18455         in comments.
18456         * m4/bison.m4: Likewise.
18457
18458 2010-10-05  Eric Blake  <eblake@redhat.com>
18459
18460         parse-datetime: better name than get_date
18461         * NEWS: Reword the deprecation notice.
18462         * modules/get_date: Rename to modules/parse-datetime.
18463         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18464         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18465         * lib/get_date.y: Rename to lib/parse-datetime.y.
18466         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18467         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18468         * doc/getdate.texi: Provide fallback wrapper.
18469         * lib/getdate.h: Move guts, and wrap...
18470         * lib/parse-datetime.h: ...new file.
18471         * lib/parse-datetime.y (get_date): Rename...
18472         (parse_datetime): ...to this.
18473         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
18474         (gl_PARSE_DATETIME): ...to this.
18475         * doc/posix-functions/getdate.texi (get_date): Provide fallback
18476         documentation.
18477         * modules/getdate (Files): Provide fallback docs and header.
18478         (Notice, Depends-on): Update references.
18479         * tests/test-parse-datetime.c: Likewise.
18480         * DEPENDENCIES: Likewise.
18481         * MODULES.html.sh (Date and time <time.h>): Likewise.
18482         * doc/parse-datetime.texi (Date input formats)
18483         (Authors of parse_datetime): Likewise.
18484         * modules/parse-datetime (Files, configure.ac, Makefile.am)
18485         (Include): Likewise.
18486         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
18487         * gnulib-tool: Likewise.
18488         * m4/bison.m4 (gl_BISON): Likewise.
18489         Suggested by Bruno Haible.
18490
18491 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18492
18493         more ports to Solaris tr, which needs [] around ranges
18494         * gnulib-tool: Solaris tr needs [] around ranges.
18495         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18496         * tests/test-pipe-filter-gi1.c (main): Likewise.
18497         * tests/test-pipe-filter-ii1.c (main): Likewise.
18498
18499 2010-10-05  Eric Blake  <eblake@redhat.com>
18500
18501         bootstrap: fix Solaris regression
18502         * build-aux/bootstrap (check_versions): Solaris tr still needs []
18503         around ranges.
18504         Reported by Pádraig Brady.
18505
18506         bootstrap: work with pkg-config
18507         * build-aux/bootstrap (check_versions): Also transliterate - in
18508         prerequisite name.
18509         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
18510         prerequisites that were already found, to avoid confusion.
18511         Reported by Justin Clift.
18512
18513         faccessat: remove unused wrappers
18514         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
18515         presence of these wrappers dragged in -lgen on Solaris.
18516         Reported by Clemens Brogi; fix suggested by Paul Eggert.
18517
18518 2010-10-05  Jim Meyering  <meyering@redhat.com>
18519
18520         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
18521         * Makefile (sc_pragma_columns): New syntax-check rule.
18522
18523 2010-10-04  Bruno Haible  <bruno@clisp.org>
18524
18525         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
18526         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
18527         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
18528         Reported by Bruce Korb and Eric Blake.
18529
18530 2010-10-04  Bruno Haible  <bruno@clisp.org>
18531
18532         threadlib: Make option --with-libpth-prefix work.
18533         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
18534         use $LIBPTH, not just -lpth.
18535
18536 2010-10-04  Bruno Haible  <bruno@clisp.org>
18537
18538         Avoid line length limitation from HP NonStop system header files.
18539         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
18540         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
18541         * lib/ctype.in.h: Likewise.
18542         * lib/dirent.in.h: Likewise.
18543         * lib/errno.in.h: Likewise.
18544         * lib/fcntl.in.h: Likewise.
18545         * lib/float.in.h: Likewise.
18546         * lib/getopt.in.h: Likewise.
18547         * lib/iconv.in.h: Likewise.
18548         * lib/inttypes.in.h: Likewise.
18549         * lib/langinfo.in.h: Likewise.
18550         * lib/locale.in.h: Likewise.
18551         * lib/math.in.h: Likewise.
18552         * lib/netdb.in.h: Likewise.
18553         * lib/netinet_in.in.h: Likewise.
18554         * lib/poll.in.h: Likewise.
18555         * lib/pthread.in.h: Likewise.
18556         * lib/pty.in.h: Likewise.
18557         * lib/sched.in.h: Likewise.
18558         * lib/se-selinux.in.h: Likewise.
18559         * lib/search.in.h: Likewise.
18560         * lib/signal.in.h: Likewise.
18561         * lib/spawn.in.h: Likewise.
18562         * lib/stdarg.in.h: Likewise.
18563         * lib/stddef.in.h: Likewise.
18564         * lib/stdint.in.h: Likewise.
18565         * lib/stdio.in.h: Likewise.
18566         * lib/stdlib.in.h: Likewise.
18567         * lib/string.in.h: Likewise.
18568         * lib/strings.in.h: Likewise.
18569         * lib/sys_file.in.h: Likewise.
18570         * lib/sys_ioctl.in.h: Likewise.
18571         * lib/sys_select.in.h: Likewise.
18572         * lib/sys_socket.in.h: Likewise.
18573         * lib/sys_stat.in.h: Likewise.
18574         * lib/sys_time.in.h: Likewise.
18575         * lib/sys_times.in.h: Likewise.
18576         * lib/sys_utsname.in.h: Likewise.
18577         * lib/sys_wait.in.h: Likewise.
18578         * lib/sysexits.in.h: Likewise.
18579         * lib/termios.in.h: Likewise.
18580         * lib/time.in.h: Likewise.
18581         * lib/unistd.in.h: Likewise.
18582         * lib/wchar.in.h: Likewise.
18583         * lib/wctype.in.h: Likewise.
18584         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
18585         * modules/ctype (Makefile.am): Likewise.
18586         * modules/dirent (Makefile.am): Likewise.
18587         * modules/errno (Makefile.am): Likewise.
18588         * modules/fcntl-h (Makefile.am): Likewise.
18589         * modules/float (Makefile.am): Likewise.
18590         * modules/getopt-posix (Makefile.am): Likewise.
18591         * modules/iconv-h (Makefile.am): Likewise.
18592         * modules/inttypes (Makefile.am): Likewise.
18593         * modules/langinfo (Makefile.am): Likewise.
18594         * modules/locale (Makefile.am): Likewise.
18595         * modules/math (Makefile.am): Likewise.
18596         * modules/netdb (Makefile.am): Likewise.
18597         * modules/netinet_in (Makefile.am): Likewise.
18598         * modules/poll-h (Makefile.am): Likewise.
18599         * modules/pthread (Makefile.am): Likewise.
18600         * modules/pty (Makefile.am): Likewise.
18601         * modules/sched (Makefile.am): Likewise.
18602         * modules/search (Makefile.am): Likewise.
18603         * modules/selinux-h (Makefile.am): Likewise.
18604         * modules/signal (Makefile.am): Likewise.
18605         * modules/spawn (Makefile.am): Likewise.
18606         * modules/stdarg (Makefile.am): Likewise.
18607         * modules/stddef (Makefile.am): Likewise.
18608         * modules/stdint (Makefile.am): Likewise.
18609         * modules/stdio (Makefile.am): Likewise.
18610         * modules/stdlib (Makefile.am): Likewise.
18611         * modules/string (Makefile.am): Likewise.
18612         * modules/strings (Makefile.am): Likewise.
18613         * modules/sys_file (Makefile.am): Likewise.
18614         * modules/sys_ioctl (Makefile.am): Likewise.
18615         * modules/sys_select (Makefile.am): Likewise.
18616         * modules/sys_socket (Makefile.am): Likewise.
18617         * modules/sys_stat (Makefile.am): Likewise.
18618         * modules/sys_time (Makefile.am): Likewise.
18619         * modules/sys_times (Makefile.am): Likewise.
18620         * modules/sys_utsname (Makefile.am): Likewise.
18621         * modules/sys_wait (Makefile.am): Likewise.
18622         * modules/sysexits (Makefile.am): Likewise.
18623         * modules/termios (Makefile.am): Likewise.
18624         * modules/time (Makefile.am): Likewise.
18625         * modules/unistd (Makefile.am): Likewise.
18626         * modules/wchar (Makefile.am): Likewise.
18627         * modules/wctype (Makefile.am): Likewise.
18628
18629 2010-10-04  Bruno Haible  <bruno@clisp.org>
18630
18631         read-file tests: Avoid a test failure on NonStop Kernel.
18632         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
18633         a regular file.
18634         Reported by Joachim Schmitz <schmitz@hp.com>.
18635
18636 2010-10-03  Bruno Haible  <bruno@clisp.org>
18637
18638         gnulib-tool: Fixes for --create-testdir with --libtool.
18639         * gnulib-tool (func_get_automake_snippet): Don't augment
18640         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
18641         an executable.
18642         (func_create_testdir): Handle module 'alloca' like func_import.
18643         Reported by Bruce Korb <bruce.korb@gmail.com>.
18644
18645 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
18646
18647         Avoid some lines longer than 80 characters.
18648         * lib/stdint.in.h: Break long comment lines.
18649         * lib/math.in.h: Likewise.
18650         (_GL_NUM_UINT_WORDS): New macro, for readability.
18651         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
18652         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
18653         * lib/stdlib.in.h: Likewise.
18654         * lib/spawn.in.h: Likewise.
18655         * lib/sys_socket.in.h: Update an URL.
18656         * lib/sys_stat.in.h: Break long line.
18657
18658 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
18659
18660         Improve pmccabe2html.
18661         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
18662         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
18663         when the sources change. Remove the line in the HTML about "Used
18664         ranges" (which implied that there might be other unused ranges),
18665         rename "Resume" to "Summary" (easier to understand for more users).
18666         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
18667         styles, and some unnecessary blank lines.
18668
18669 2010-10-03  Bruno Haible  <bruno@clisp.org>
18670             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
18671
18672         acl: Add support for ACLs on NonStop Kernel.
18673         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
18674         Check whether the function aclsort() exists.
18675         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
18676         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
18677         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18678         (acl_nontrivial [HAVE_ACLSORT]: New function.
18679         (file_has_acl): Implement for NonStop Kernel.
18680         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18681         (qset_acl): Implement for NonStop Kernel.
18682         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
18683         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18684         (main): Implement for NonStop Kernel.
18685         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
18686         Kernel. Handle this flavor.
18687         * tests/test-set-mode-acl.sh: Likewise.
18688         * tests/test-copy-acl.sh: Likewise.
18689         * tests/test-copy-file.sh: Likewise.
18690
18691 2010-10-03  Bruno Haible  <bruno@clisp.org>
18692
18693         Info about ACLs on NonStop Kernel.
18694         * doc/acl-resources.txt: Add info about NonStop Kernel.
18695         References by Joachim Schmitz <schmitz@hp.com>.
18696
18697 2010-10-02  Bruno Haible  <bruno@clisp.org>
18698
18699         Define missing EDQUOT on NonStop Kernel.
18700         * lib/errno.in.h (EDQUOT): Assign a value if missing.
18701         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
18702         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
18703         missing.
18704         * doc/posix-headers/errno.texi: Mention the NSK bug.
18705         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
18706         Reported by Joachim Schmitz <schmitz@hp.com>.
18707
18708 2010-10-02  Bruno Haible  <bruno@clisp.org>
18709
18710         Update doc for POSIX:2008.
18711         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
18712         Update URL of POSIX specification.
18713
18714 2010-10-02  Bruno Haible  <bruno@clisp.org>
18715
18716         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
18717         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
18718         from gnulib, not from Automake.
18719
18720 2010-10-02  Bruno Haible  <bruno@clisp.org>
18721
18722         New module 'system-posix'.
18723         * modules/system-posix: New file.
18724         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
18725         module is present.
18726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
18727         GNULIB_SYSTEM_POSIX.
18728         * modules/stdlib (Depends-on): Remove sys_wait.
18729         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
18730         * doc/posix-functions/system.texi: Mention the new module.
18731         * doc/posix-headers/stdlib.texi: Likewise.
18732         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
18733         define test_sys_wait_macros to a no-op.
18734         Reported by Sam Steingold <sds@gnu.org>.
18735
18736 2010-09-30  Bruno Haible  <bruno@clisp.org>
18737
18738         More renaming from 'getdate' to 'get_date'.
18739         * doc/get_date.texi: Renamed from doc/getdate.texi.
18740         * modules/get_date (Files): Update.
18741         * MODULES.html.sh (Date and time <time.h>): Update.
18742         * DEPENDENCIES: Update.
18743         * gnulib-tool: Update comment.
18744         * m4/bison.m4 (gl_BISON): Likewise.
18745         * m4/get_date.m4 (gl_GET_DATE): Likewise.
18746
18747 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
18748
18749         bootstrap: support ACLOCAL_FLAGS during aclocal
18750         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
18751         can add additional -I dir for third-party .m4 files.
18752
18753 2010-09-30  Eric Blake  <eblake@redhat.com>
18754
18755         bootstrap: use glibtoolize on MacOS
18756         * build-aux/bootstrap (check_versions): Convert libtool into
18757         libtoolize.
18758         (tool search): Move libtool check earlier, and look for
18759         glibtoolize for MacOS.
18760         (gnulib_tool_options): Auto-add --libtool when appropriate.
18761         Reported by Justin Clift.
18762
18763         poll: fix typo that broke test on MacOS
18764         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
18765         Reported by Justin Clift.
18766
18767         getdate: rename to get_date
18768         Note: getdate.h is not renamed, to minimize client impact.
18769         * modules/getdate: Mark obsolete.  Move old contents...
18770         * modules/get_date: ...to new module name.
18771         * modules/getdate-tests: Move...
18772         * modules/get_date-tests: ...here.
18773         * m4/getdate.m4: Move...
18774         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
18775         * lib/getdate.y: Move...
18776         * lib/get_date.y: ...here.
18777         * tests/test-getdate.c: Move...
18778         * tests/test-get_date.c: ...here.
18779         * doc/posix-functions/getdate.texi (getdate): Update name.
18780         * NEWS: Mention the change.
18781
18782 2010-09-29  Bruno Haible  <bruno@clisp.org>
18783
18784         Separate the module 'waitpid' from the module 'sys_wait'.
18785         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
18786         present.
18787         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
18788         gl_MODULE_INDICATOR_FOR_TESTS.
18789         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
18790         * modules/sys_wait (Depends-on): Remove waitpid.
18791         (Makefile.am): Substitute GNULIB_WAITPID.
18792         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
18793         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
18794         signature only if the 'waitpid' module is present.
18795         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
18796         * NEWS: Mention the change.
18797         * modules/grantpt (Depends-on): Add waitpid.
18798         * modules/wait-process (Depends-on): Likewise.
18799
18800 2010-09-29  Bruno Haible  <bruno@clisp.org>
18801
18802         More tests for module 'sys_wait'.
18803         * modules/sys_wait-c++-tests: New file.
18804         * tests/test-sys_wait-c++.cc: New file.
18805         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
18806         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
18807
18808 2010-09-29  Bruno Haible  <bruno@clisp.org>
18809
18810         New module 'waitpid'.
18811         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
18812         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
18813         Don't include <process.h>.
18814         (waitpid): Declare only, using modern idiom.
18815         * m4/waitpid.m4: New file.
18816         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
18817         * modules/waitpid: New file.
18818         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
18819         (Makefile.am): Update.
18820         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
18821
18822 2010-09-28  Bruno Haible  <bruno@clisp.org>
18823
18824         poll: Assume ANSI C.
18825         * lib/poll.c (poll): Use an ANSI C declaration.
18826
18827 2010-09-28  Bruno Haible  <bruno@clisp.org>
18828
18829         poll-h: Create poll.h on all platforms.
18830         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
18831         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
18832         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
18833         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
18834         (gl_REPLACE_POLL_H): Don't set POLL_H.
18835         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
18836         * modules/poll-h (Depends-on): Add include_next.
18837         (Makefile.am): Create poll.h unconditionally. Substitute also
18838         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
18839
18840 2010-09-28  Bruno Haible  <bruno@clisp.org>
18841
18842         Tests for module 'poll-h'.
18843         * modules/poll-h-c++-tests: New file.
18844         * tests/test-poll-h-c++.cc: New file.
18845
18846         Tests for module 'poll-h'.
18847         * modules/poll-h-tests: New file.
18848         * tests/test-poll-h.c: New file.
18849
18850 2010-09-28  Bruno Haible  <bruno@clisp.org>
18851
18852         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
18853         * modules/poll-h (Depends-on): Add 'extensions'.
18854
18855 2010-09-28  Bruno Haible  <bruno@clisp.org>
18856
18857         New module 'poll-h'.
18858         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
18859         (poll): Use modern idiom.
18860         * modules/poll-h: New file.
18861         * modules/poll (Files): Remove lib/poll.in.h.
18862         (Depends-on): Add poll-h.
18863         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
18864         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
18865         * m4/poll_h.m4: New file.
18866         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
18867         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
18868         and invoke gl_REPLACE_POLL_H.
18869         * lib/poll.c: Use common idiom.
18870         * tests/test-poll.c: Likewise.
18871         * doc/posix-headers/poll.texi: Mention the poll-h module.
18872         Suggested by Eric Blake.
18873
18874 2010-09-26  Bruno Haible  <bruno@clisp.org>
18875
18876         sys_wait: Implement WSTOPSIG.
18877         * lib/sys_wait.in.h (WSTOPSIG): New macro.
18878         Reported by Simon Josefsson.
18879
18880 2010-09-26  Simon Josefsson  <simon@josefsson.org>
18881
18882         stdlib, sys_wait: Avoid compilation error on mingw.
18883         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
18884
18885 2010-09-26  Bruno Haible  <bruno@clisp.org>
18886
18887         stdlib tests: Avoid code duplication.
18888         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
18889         * modules/sys_wait-tests (Files): Likewise.
18890         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
18891         * tests/test-stdlib.c: Include test-sys_wait.h.
18892         (main): Invoke test_sys_wait_macros.
18893         * tests/test-sys_wait.c: Include test-sys_wait.h.
18894         (main): Invoke test_sys_wait_macros.
18895
18896 2010-09-25  Simon Josefsson  <simon@josefsson.org>
18897
18898         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
18899         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
18900         sure Windows sockets are working before calling getaddrinfo.
18901         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
18902         * doc/gnulib.texi (Windows sockets): Fix typo.
18903
18904 2010-09-25  Bruno Haible  <bruno@clisp.org>
18905
18906         Tests for module 'regex-quote'.
18907         * modules/regex-quote-tests: New file.
18908         * tests/test-regex-quote.c: New file.
18909
18910         New module 'regex-quote'.
18911         * lib/regex-quote.h: New file.
18912         * lib/regex-quote.c: New file.
18913         * modules/regex-quote: New file.
18914         Suggested by Reuben Thomas <rrt@sc3d.org>.
18915
18916 2010-09-24  Bruno Haible  <bruno@clisp.org>
18917
18918         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
18919         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
18920
18921 2010-09-23  Bruno Haible  <bruno@clisp.org>
18922
18923         setenv: Relax license.
18924         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
18925         Blake.
18926         Requested by Eric Blake.
18927
18928 2010-09-22  Bruno Haible  <bruno@clisp.org>
18929
18930         termios: Relax license.
18931         * modules/termios (License): Change to LGPLv2+.
18932         Requested by Eric Blake.
18933
18934 2010-09-22  Bruno Haible  <bruno@clisp.org>
18935
18936         threadlib: Allow the package to change the default to 'no'.
18937         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
18938         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
18939         Reported by Paul Eggert.
18940
18941 2010-09-22  Pádraig Brady  <P@draigbrady.com>
18942             Bruno Haible  <bruno@clisp.org>
18943
18944         Fix endless loop in mbmemcasecoll.
18945         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
18946         byte.
18947         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
18948
18949 2010-09-22  Bruno Haible  <bruno@clisp.org>
18950
18951         Tests for module 'memcoll'.
18952         * modules/memcoll-tests: New file.
18953         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
18954
18955         memcoll, xmemcoll: Clarify size vs. length.
18956         * modules/memcoll.c (memcoll0): Clarify specification.
18957         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
18958         passed to collate_error.
18959
18960 2010-09-22  Bruno Haible  <bruno@clisp.org>
18961
18962         Tests for module 'memcasecmp'.
18963         * modules/memcasecmp-tests: New file.
18964         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
18965
18966 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
18967
18968         * lib/pthread.in.h: Add split double-inclusion guard, and include
18969         system <pthread.h> if there is one.  Use @@-style as in other
18970         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
18971         pthread.h doesn't.
18972         (pthread_mutexattr_destroy, pthread_mutexattr_init):
18973         (pthread_mutexattr_settype, pthread_mutex_trylock):
18974         New static inline functions, if there's no system <pthread.h>.
18975         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
18976         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
18977         Approximate with mutexes if the system lacks spinlocks, as in
18978         MacOS.
18979         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
18980         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
18981         @@-style.  Check for spinlocks separately.
18982         (gl_PTHREAD_DEFAULTS): New macro.
18983         * modules/pthread: Redo to use a more typical style for in.h files.
18984
18985 2010-09-21  Eric Blake  <eblake@redhat.com>
18986
18987         net_if: enhance tests
18988         * tests/test-net_if.c (main): Move signature checks earlier.
18989         Print failures to stderr.
18990         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
18991         Document the bug that we do not yet fix.
18992
18993 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
18994
18995         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
18996         about gnulib, not GSS.
18997
18998 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
18999
19000         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19001         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19002         for Emacs.
19003         * build-aux/pmccabe2html: Make Makefile.am example code more
19004         cut-and-paste friendly.
19005
19006 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19007
19008         * tests/test-net_if.c: New file.
19009         * modules/net_if-tests: New file.
19010
19011 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19012
19013         pthread: add pthread_spin_destroy
19014         * lib/pthread.in.h (pthread_spin_destroy): New function.
19015
19016 2010-09-19  Bruno Haible  <bruno@clisp.org>
19017
19018         gnulib-tool: Fix --help output.
19019         * gnulib-tool (func_usage): Fix help message.
19020         Reported by Reuben Thomas <rrt@sc3d.org>.
19021
19022 2010-09-18  Jim Meyering  <meyering@redhat.com>
19023
19024         maint.mk: avoid unexpanded \n in two diagnostics
19025         * top/maint.mk (sc_prohibit_always_true_header_tests):
19026         Don't use a literal \n in a halt=... assignment.  It would not be
19027         expanded, and the two \n bytes would appear in the diagnostic output
19028         rather than the desired newline.  Use halt=$$(printf ... instead.
19029         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19030
19031 2010-09-18  Bruno Haible  <bruno@clisp.org>
19032
19033         netinet_in: Doc tweak.
19034         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19035         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19036
19037 2010-09-18  Jim Meyering  <meyering@redhat.com>
19038
19039         init.sh: correct an outdated comment
19040         * tests/init.sh (create_exe_shims_):  s/function/alias/
19041
19042         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19043         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19044         a file named "*.exe" is removed between the glob expansion and the
19045         processing of that oddly named file.
19046
19047 2010-09-17  Eric Blake  <eblake@redhat.com>
19048
19049         mirbsd: add some more support
19050         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19051         in BSD family.
19052         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19053         devices as OpenBSD.
19054         * m4/host-os.m4 (mirbsd): Add MirBSD.
19055
19056         tests: fix unportable assumption on sys/wait.h
19057         * tests/test-sys_wait.c (main): Relax test.
19058         * tests/test-stdlib.c (main): Likewise.
19059
19060         init.sh: accomodate directory with no .exes
19061         * tests/init.sh: Accomodate directory containing only scripts.
19062
19063         tests: avoid compiler warning
19064         * tests/test-stdlib.c (main): Use the variable.
19065
19066         fdutimens, fdutimensat: update signature, again
19067         * lib/utimens.h (gl_futimens): Delete, and move signature...
19068         (fdutimens): ...here.
19069         (fdutimensat): Rearrange signature.
19070         (lutimensat): Rename variable for clarity.
19071         * lib/fdutimensat.c (fdutimensat): Update signature.
19072         * lib/utimens.c (fdutimens): Likewise.
19073         (gl_futimens): Delete.
19074         (utimens, lutimens): Update callers.
19075         * lib/futimens.c (futimens): Likewise.
19076         * tests/test-fdutimensat.c: Likewise.
19077         * tests/test-utimens.c: Likewise.
19078         * tests/test-futimens.h: Update comment.
19079         * NEWS: Mention this.
19080         Suggested by Paul Eggert.
19081
19082 2010-09-17  Bruno Haible  <bruno@clisp.org>
19083
19084         Take over the maintenance of some older macros from Autoconf.
19085         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19086         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19087         GNU Autoconf.
19088         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19089         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19090
19091 2010-09-17  Eric Blake  <eblake@redhat.com>
19092
19093         fdutimensat: drop atflag validation
19094         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19095         with valid fd, to close a race scenario where futimens is
19096         unsupported and FILE was replaced by a symlink.
19097         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19098         accordingly.
19099         Suggested by Paul Eggert.
19100
19101 2010-09-16  Bruno Haible  <bruno@clisp.org>
19102
19103         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19104         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19105
19106 2010-09-16  Bruno Haible  <bruno@clisp.org>
19107
19108         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19109         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19110         login_tty exists.
19111         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19112
19113 2010-09-16  Bruno Haible  <bruno@clisp.org>
19114
19115         login_tty: Make the replacement code work on BSD systems.
19116         * lib/login_tty.c: Include <sys/ioctl.h>.
19117         (login_tty): Use ioctl TIOCSCTTY when available.
19118         * modules/login_tty (Depends-on): Add sys_ioctl.
19119         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19120
19121 2010-09-16  Bruno Haible  <bruno@clisp.org>
19122
19123         login_tty: Stricter unit test.
19124         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19125         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19126         and tcgetsid() after login_tty.
19127         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19128
19129 2010-09-16  Bruno Haible  <bruno@clisp.org>
19130
19131         New module 'tcgetsid'.
19132         * lib/tcgetsid.c: New file.
19133         * m4/tcgetsid.m4: New file.
19134         * modules/tcgetsid: New file.
19135         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19136         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19137         GNULIB_TCGETSID, HAVE_TCGETSID.
19138         * lib/termios.in.h: Include <sys/types.h>.
19139         (tcgetsid): New declaration.
19140         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19141         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19142         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19143         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19144
19145 2010-09-16  Bruno Haible  <bruno@clisp.org>
19146
19147         Tests for module 'termios'.
19148         * modules/termios-c++-tests: New file.
19149         * modules/termios-tests: New file.
19150         * tests/test-termios-c++.cc: New file.
19151         * tests/test-termios.c: New file.
19152
19153         New module 'termios'.
19154         * modules/termios: New file.
19155         * lib/termios.in.h: New file.
19156         * m4/termios_h.m4: New file.
19157         * doc/posix-headers/termios.texi: Mention the new module.
19158
19159 2010-09-16  Eric Blake  <eblake@redhat.com>
19160
19161         fdutimensat: add an atflag parameter
19162         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19163         * lib/utimens.h (fdutimensat): Update prototype.
19164         * tests/test-fdutimensat.c: Adjust test to match.
19165         * NEWS: Document the change.
19166         Suggested by Paul Eggert.
19167
19168 2010-09-16  Bruno Haible  <bruno@clisp.org>
19169
19170         Fix typos in comments.
19171         * lib/striconveh.h: Fix typo in comment.
19172         * lib/login_tty.c (login_tty): Likewise.
19173
19174 2010-09-15  Bruno Haible  <bruno@clisp.org>
19175
19176         stdlib: clarify MirBSD WEXITSTATUS bug
19177         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19178         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19179
19180 2010-09-15  Eric Blake  <eblake@redhat.com>
19181
19182         stdlib: work around MirBSD WEXITSTATUS bug
19183         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19184         * modules/stdlib (Depends-on): Add sys_wait.
19185         * tests/test-sys_wait.c (main): Enhance test.
19186         * tests/test-stdlib.c (main): Likewise.
19187         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19188
19189         docs: mention MacOS issue with WEXITSTATUS(constant)
19190         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19191         issue.
19192         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19193
19194         strnlen: add tests
19195         * modules/strnlen-tests: New file.
19196         * tests/test-strnlen.c: Likewise.
19197
19198 2010-09-14  Bruno Haible  <bruno@clisp.org>
19199
19200         unistr/base: Avoid link errors when module 'libunistring' is also used.
19201         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19202         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19203         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19204         Declare also when HAVE_LIBUNISTRING is set.
19205         Reported by Pádraig Brady <P@draigbrady.com>.
19206
19207 2010-09-14  Eric Blake  <eblake@redhat.com>
19208
19209         test-rawmemchr: make more robust
19210         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19211         (Depends-on, configure.ac): Add needed prerequisites to use it.
19212         * modules/memchr-tests (Files, Depends-on, configure.ac):
19213         Likewise, to avoid implicit reliance on memchr module prereqs.
19214         * tests/test-memchr.c (main): Ensure proper masking.
19215         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19216         reads.
19217
19218         memchr: detect glibc Alpha bug
19219         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19220         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19221         Alpha.
19222         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19223         * tests/test-memchr.c (main): Enhance test.
19224         Reported by Nelson H. F. Beebe.
19225
19226 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19227
19228         fts, getcwd, glob: audit for dirfd returning -1
19229         * lib/fts.c (opendir): Remove #define; no longer used.
19230         (opendirat): New arg PDIR_FD.  All callers changed.
19231         (fts_build, _opendir2): Use new opendirat to avoid the need for
19232         dirfd, or for checking whether dirfd returns a negative value.
19233         Don't use opendir; always use openat followed by fdopendir.
19234         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19235         it.
19236         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19237         returns -1 here.
19238         * modules/fts (Depends-on): Remove dirfd.
19239         * modules/getcwd (Depends-on): Likewise.
19240
19241 2010-09-13  Eric Blake  <eblake@redhat.com>
19242
19243         float: fix broken MirBSD header
19244         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19245         * doc/posix-headers/float.texi (float.h): Document it.
19246
19247 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19248
19249         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19250         * lib/fts.c (opendirat): New arg extra_flags.
19251         (__opendir2): Use it to avoid following symlinks when opening
19252         a directory, if symlinks are not supposed to be followed.  See
19253         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19254
19255         fdopendir: preserve argument fd before returning
19256         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19257         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19258         (fdopendir): Use them, arranging for FD to be open to the same
19259         directory that it was when it started.  (It might be temporarily
19260         closed while fdopendir is running, so this not thread- or
19261         signal-safe.)  Be careful to do the right thing even when file
19262         descriptors are scarce and dup fails with errno == EMFILE.  See
19263         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19264
19265 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19266
19267         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19268         * NEWS: Document change.
19269         * m4/regex.m4: Disable test for regoff_t size.
19270
19271 2010-09-13  Jim Meyering  <meyering@redhat.com>
19272
19273         fts: don't operate on an invalid file descriptor after failed dup
19274         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19275         negative file descriptor.
19276
19277 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19278
19279         savedir: add streamsavedir, deprecate fdsavedir
19280         * NEWS: Mention deprecation of fdsavedir.
19281         * lib/savedir.c (streamsavedir): New extern function, whose name
19282         ends in "savedir" to be consistent with the others.  This differs
19283         from savedirstream in that it doesn't close its argument.  The
19284         next version of GNU tar will use this instead of fdsavedir, to
19285         avoid some race conditions and conserve file descriptors.
19286         (savedirstream): Reimplement as a wrapper around streamsavedir.
19287         (fdsavedir): Add a comment deprecating this function.  As far as
19288         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19289         * lib/savedir.h (streamsavedir): New decl.
19290         (fdsavedir): Add a comment deprecating this.
19291
19292 2010-09-10  Bruno Haible  <bruno@clisp.org>
19293
19294         langinfo: Fix last commit.
19295         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19296         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19297         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19298
19299 2010-09-10  Bruno Haible  <bruno@clisp.org>
19300
19301         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19302         * lib/progreloc.c (O_EXEC): Define fallback.
19303
19304 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19305
19306         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19307         * NEWS: Document recent changes to fcntl-h.
19308         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19309         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19310         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19311         Similarly for O_SEARCH; this last was already true, but not documented.
19312         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19313         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19314         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19315         Likewise.
19316         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19317         is zero, not whether it is defined.
19318         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19319         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19320         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19321
19322 2010-09-10  Bruno Haible  <bruno@clisp.org>
19323
19324         langinfo, nl_langinfo: Fix for IRIX 5.3.
19325         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19326         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19327         HAVE_LANGINFO_YESEXPR.
19328         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19329         HAVE_LANGINFO_YESEXPR.
19330         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19331         HAVE_LANGINFO_T_FMT_AMPM is 0.
19332         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19333         HAVE_LANGINFO_YESEXPR is 0.
19334         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19335         NOEXPR.
19336         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19337         * doc/posix-functions/nl_langinfo.texi: Likewise.
19338         Reported by Eric Blake.
19339
19340 2010-09-10  Bruno Haible  <bruno@clisp.org>
19341
19342         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19343         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19344         on FreeBSD 8.0 and OpenBSD 4.6.
19345         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19346         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19347         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19348         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19349         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19350         ac_includes_default.
19351         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19352
19353 2010-09-09  Eric Blake  <eblake@redhat.com>
19354
19355         strsignal: work around NetBSD bug
19356         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19357         * lib/string.in.h (includes): Likewise.
19358         * doc/posix-functions/strsignal.texi (strsignal): Document the
19359         bug.
19360         Reported by Nelson H. F. Beebe.
19361
19362         gnulib-tool: work with NetBSD /bin/sh
19363         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19364         (func_get_description, func_get_comment, func_get_status)
19365         (func_get_notice, func_get_applicability, func_get_filelist)
19366         (func_get_dependencies, func_get_autoconf_early_snippet)
19367         (func_get_autoconf_snippet, func_get_automake_snippet)
19368         (func_get_include_directive, func_get_link_directive)
19369         (func_get_license, func_get_maintainer, func_import): Avoid
19370         shell syntax errors from parsing syntax extensions.
19371
19372 2010-09-09  Bruno Haible  <bruno@clisp.org>
19373
19374         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19375         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19376         a reliable way to determine whether the 'alias' command works.
19377
19378 2010-09-08  Jim Meyering  <meyering@redhat.com>
19379
19380         init.sh: penalize a set-x-impaired shell; don't disqualify it
19381         * tests/init.sh: Too many shells corrupt application stderr when
19382         you set -x, so we can't afford to disqualify them, since at least
19383         on Irix-6.5, that would disqualify all bourne shells.
19384         Instead, use a two-pass approach.
19385         On the first pass, try to find a shell that meets the stricter
19386         condition that set -x does not corrupt stderr.
19387         If no shell meets the stricter condition, retest each candidate
19388         shell, but without that extra condition.  Finally, when
19389         VERBOSE=yes is requested and set -x might cause trouble, simply
19390         issue a warning and refrain from enabling debug output.
19391
19392 2010-09-08  Eric Blake  <eblake@redhat.com>
19393
19394         unsetenv: fix OpenBSD bug
19395         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19396         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19397         documentation.
19398         Reported by Jim Meyering.
19399
19400         strtod: work around IRIX 6.5 bug
19401         * lib/strtod.c (strtod): Reparse number on shorter string if
19402         exponent parse was invalid.
19403         * tests/test-strtod.c (main): Add check for "0x1p 2".
19404         Reported by Tom G. Christensen.
19405
19406         getopt: optimize previous patch
19407         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19408         empty variable.  Speed up awk script.
19409         Reported by Paolo Bonzini.
19410
19411 2010-09-08  Jim Meyering  <meyering@redhat.com>
19412
19413         test.sh: disqualify shells for which set -x corrupts stderr
19414         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19415         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19416         appear in stderr output.  For example, this command:
19417             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19418         prints "P=1" on those two systems:
19419
19420 2010-09-08  Bruno Haible  <bruno@clisp.org>
19421
19422         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19423         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19424         commands, because some shells ignore redirections when there is an
19425         error in the command lookup.
19426         Reported by Eric Blake.
19427
19428 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19429
19430         * lib/regex.h: Fix a mention of `regex_compile' (should be
19431         `re_compile_pattern').
19432         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19433         (re_set_registers): Correct name of parameter in comment.
19434
19435         * doc/regex.texi: Add documentation for missing syntax flags.
19436         Remove commented-out documentation of defunct syntax option
19437         RE_NO_EMPTY_ALTS.
19438         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19439         Add documentation of re_set_registers.
19440         Document trick to re-use a pattern buffer by setting fastmap manually.
19441         Update documentation of struct re_pattern_buffer per public members.
19442         Uncomment documentation of equivalence class operators and
19443         collating symbol operators, since they are now implemented,
19444         Explain leftmost-longest matching in relation to alternatives.
19445         Tidy documentation of substring matching.
19446         Remove POSIX documentation, which is done better in
19447         glibc, and refer the reader there. Keep BSD API documentation, as
19448         that is not readily available elsewhere.
19449
19450 2010-09-07  Eric Blake  <eblake@redhat.com>
19451
19452         getopt: handle POSIXLY_CORRECT set but not exported
19453         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19454         export state of POSIXLY_CORRECT, due to bash set -o posix.
19455         Reported by Dustin J. Mitchell.
19456
19457 2010-09-05  Bruno Haible  <bruno@clisp.org>
19458
19459         gnulib-tool: Highlight the changed options.
19460         * gnulib-tool (func_usage): Display the --import, --add-import,
19461         --remove-import explanations in bold font.
19462
19463 2010-09-06  Karl Berry  <karl@gnu.org>
19464
19465         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19466
19467 2010-09-05  Bruno Haible  <bruno@clisp.org>
19468
19469         uniwidth/width: Update comment.
19470         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
19471         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
19472
19473 2010-09-05  Bruno Haible  <bruno@clisp.org>
19474
19475         isinf, isnan: Relax license.
19476         * modules/isinf (License): Change from GPL to LGPL, with consent from
19477         Ben Pfaff.
19478         * modules/isnan (License): Likewise.
19479         Requested by Ludovic Courtès.
19480
19481 2010-09-04  Bruno Haible  <bruno@clisp.org>
19482
19483         gnulib-tool: Help migration from --import to --add-import or --update.
19484         * gnulib-tool: Emit a verbose error message when --import is used
19485         without any module name.
19486
19487 2010-09-04  Bruno Haible  <bruno@clisp.org>
19488
19489         Update doc about gnulib-tool.
19490         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
19491         'gnulib-tool --update' in more detail.
19492         Reported by Eric Blake.
19493
19494 2010-09-04  Bruno Haible  <bruno@clisp.org>
19495
19496         gnulib-tool: Change --import. New options --add/remove-import.
19497         * gnulib-tool: New options --add-import, --remove-import.
19498         (func_usage): Document them.
19499         (have_associative): Define always.
19500         (func_import): In import mode, don't merge the specified settings with
19501         the cached settings. Implement remove-import mode.
19502         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
19503         Explain when to use them versus --import.
19504         (Simple update): Use --add-import instead of --import.
19505         * NEWS: Mention the change.
19506
19507 2010-09-04  Bruno Haible  <bruno@clisp.org>
19508
19509         * doc/gnulib-tool.texi (Initial import): Update paragraph about
19510         separate gnulib.mk.
19511
19512 2010-09-04  Bruno Haible  <bruno@clisp.org>
19513
19514         gnulib-tool: Don't talk about CVS any more.
19515         * gnulib-tool (func_usage, func_import): Write "version control"
19516         instead of CVS.
19517
19518 2010-09-04  Jim Meyering  <meyering@redhat.com>
19519
19520         maint.mk: avoid obscure sc_copyright_check failure in coreutils
19521         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
19522         false positives (whose names may be ill-chosen) when searching
19523         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
19524         would cause a false-positive.
19525
19526         avoid coreutils "make distcheck" failure
19527         Coreutils tests with an absolute build directory name that contains
19528         a space.  Not quoting this directory name caused a failure.
19529         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
19530         * tests/test-vc-list-files-cvs.sh: Likewise.
19531
19532 2010-09-04  Bruno Haible  <bruno@clisp.org>
19533
19534         gnulib-tool: Avoid error when run in a package without Makefile.am.
19535         * gnulib-tool: When collecting the m4dirs in a package that does not
19536         have a Makefile.am, eliminate those directories that contain no
19537         gnulib-cache.m4. Fix expression that counts these directories.
19538
19539 2010-09-04  Bruno Haible  <bruno@clisp.org>
19540
19541         update-copyright test: Improve output when perl is missing or too old.
19542         * tests/test-update-copyright.sh: Move test of Perl version down after
19543         the test whether Perl exists. Provide an explanation relating Perl's
19544         error message to Automake's SKIP: message.
19545
19546 2010-09-04  Bruno Haible  <bruno@clisp.org>
19547
19548         Don't augment PATH in TESTS_ENVIRONMENT.
19549         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
19550         set abs_aux_dir instead of augmenting PATH.
19551         * modules/vc-list-files-tests (Makefile.am): Likewise.
19552         * tests/test-update-copyright.sh: Augment PATH here.
19553         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
19554         path_prepend_.
19555         * tests/test-vc-list-files-git.sh: Likewise.
19556
19557 2010-09-04  Jim Meyering  <meyering@redhat.com>
19558
19559         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
19560         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
19561
19562 2010-09-04  Bruno Haible  <bruno@clisp.org>
19563
19564         strdup: Fix compilation error in C++ mode.
19565         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
19566         the macro.
19567
19568 2010-09-04  Bruno Haible  <bruno@clisp.org>
19569
19570         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
19571         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
19572         macro into a function.
19573         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19574
19575 2010-09-04  Bruno Haible  <bruno@clisp.org>
19576
19577         Set PATH_SEPARATOR the same way autoconf does.
19578         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
19579         the value of PATH_SEPARATOR the same way autoconf-generated configure
19580         scripts do.
19581         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
19582         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19583
19584 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19585
19586         Set PATH_SEPARATOR the same way autoconf does.
19587         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
19588         the same way autoconf-generated configure scripts do.
19589         * posix-modules: Likewise.
19590
19591 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19592
19593         hash: fix safe_hasher const typo
19594         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
19595         const; otherwise, there is a type error later.
19596
19597 2010-09-02  Jim Meyering  <meyering@redhat.com>
19598
19599         test-update-copyright.sh: require perl 5.8.0
19600         * tests/test-update-copyright.sh: Require 5.8.0,
19601         which Tom G. Christensen has confirmed is adequate,
19602         while 5.6.1 is not.
19603
19604 2010-09-02  Eric Blake  <eblake@redhat.com>
19605
19606         tests: init.sh improvements for re-exec'ing with zsh
19607         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
19608         -vx through shell re-exec.
19609         Reported by Tom G. Christensen.
19610
19611         wctype: fix typo in previous commit
19612         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
19613         Reported by Ludovic Courtès.
19614
19615 2010-09-02  Jim Meyering  <meyering@redhat.com>
19616
19617         test-update-copyright.sh: skip test if Perl is too old
19618         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
19619         Reported by Tom G. Christensen.
19620
19621 2010-09-02  Bruno Haible  <bruno@clisp.org>
19622
19623         wctype: Avoid compilation error on IRIX 6.5.30.
19624         * lib/wctype.in.h (iswblank): Declare with a replacement if
19625         REPLACE_ISWBLANK is set.
19626         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
19627         declared. Set REPLACE_ISWBLANK.
19628         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
19629         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
19630         * doc/posix-headers/wctype.texi: Likewise.
19631         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19632
19633 2010-09-01  Bruno Haible  <bruno@clisp.org>
19634
19635         New module 'socketlib'.
19636         * modules/socketlib: New file.
19637         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
19638         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
19639         * modules/sockets (Depends-on): Add socketlib.
19640         Suggested by Sam Steingold <sds@gnu.org>.
19641
19642 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
19643
19644         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
19645
19646         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
19647         when one needs search access to a directory but not read access.
19648         On systems where it is available, it works in some cases where
19649         O_RDONLY does not, namely on directories that are searchable but
19650         not readable, and which need only to be searchable.  If O_SEARCH
19651         is not available, fall back to the traditional method of using
19652         O_RDONLY.
19653
19654         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
19655         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
19656         when opening a directory that needs only to be searchable.
19657         * lib/chdir-safer.c (chdir_no_follow): Likewise.
19658         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
19659         * lib/openat-proc.c (openat_proc_name): Likewise.
19660         * lib/openat.c (openat_needs_fchdir): Likewise.
19661         * lib/save-cwd.c (save_cwd): Likewise.
19662         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
19663
19664 2010-08-28  Bruno Haible  <bruno@clisp.org>
19665
19666         New module 'host-cpu-c-abi'.
19667         * modules/host-cpu-c-abi: New file.
19668         * m4/host-cpu-c-abi.m4: New file, based on part of
19669         clisp/src/m4/general.m4.
19670         Requested by Sam Steingold <sds@gnu.org>.
19671
19672 2010-08-31  Eric Blake  <eblake@redhat.com>
19673         and Jim Meyering  <meyering@redhat.com>
19674
19675         hash: factor, and guard against misbehaving hasher function
19676         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
19677         of table->hasher's return value.  Also protect against a hash value
19678         so large that adding it to table->bucket results in a NULL pointer.
19679         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
19680         Use it in place of open-coded check-and-abort.
19681
19682 2010-08-30  Bruno Haible  <bruno@clisp.org>
19683
19684         hash: silence spurious clang warning
19685         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
19686         Reported by Eric Blake.
19687
19688 2010-08-30  Eric Blake  <eblake@redhat.com>
19689
19690         strstr, memmem, strcasestr: avoid leaked shell message
19691         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
19692         FreeBSD.
19693         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19694         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
19695
19696         tests: silence clang warning
19697         * tests/test-malloca.c (do_allocation): Avoid dead store.
19698
19699 2010-08-29  Bruno Haible  <bruno@clisp.org>
19700
19701         gettext: Fix recent mistake.
19702         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
19703
19704 2010-08-29  Bruno Haible  <bruno@clisp.org>
19705
19706         selinux-h: Offer a --without-selinux option.
19707         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
19708         --without-selinux was specified, skip all tests and define
19709         HAVE_SELINUX_SELINUX_H to 0.
19710         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
19711         set LIB_SELINUX to empty.
19712         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
19713         gl_LIBSELINUX. If --without-selinux was specified, replace
19714         selinux/context.h.
19715         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
19716
19717 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19718             Bruno Haible  <bruno@clisp.org>
19719
19720         Make the module 'realloc-gnu' work again on AIX and OSF/1.
19721         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
19722         of HAVE_REALLOC.
19723         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
19724         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
19725         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
19726         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
19727
19728 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19729             Bruno Haible  <bruno@clisp.org>
19730
19731         Make the module 'calloc-gnu' work again on AIX and OSF/1.
19732         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
19733         HAVE_CALLOC.
19734         * lib/xmalloc.c: Update accordingly.
19735         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
19736         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
19737         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
19738
19739 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19740             Bruno Haible  <bruno@clisp.org>
19741
19742         Make the module 'malloc-gnu' work again on AIX and OSF/1.
19743         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
19744         HAVE_MALLOC.
19745         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
19746         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
19747         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
19748
19749 2010-08-29  Bruno Haible  <bruno@clisp.org>
19750
19751         Update modules list.
19752         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
19753         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
19754         (String handling <string.h>): Add astrxfrm.
19755         (File system functions): Add readlinkat.
19756
19757 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19758
19759         Tests for module 'realloc-gnu'.
19760         * modules/realloc-gnu-tests: New file.
19761         * tests/test-realloc-gnu.c: New file.
19762
19763         Tests for module 'calloc-gnu'.
19764         * modules/calloc-gnu-tests: New file.
19765         * tests/test-calloc-gnu.c: New file.
19766
19767         Tests for module 'malloc-gnu'.
19768         * modules/malloc-gnu-tests: New file.
19769         * tests/test-malloc-gnu.c: New file.
19770
19771 2010-08-28  Bruno Haible  <bruno@clisp.org>
19772
19773         Rename module 'realloc' -> 'realloc-gnu'.
19774         * modules/realloc-gnu: New file, copied from modules/realloc.
19775         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
19776         obsolete.
19777         * modules/mgetgroups (Depends-on): Update.
19778         * doc/posix-functions/realloc.texi: Update.
19779         * NEWS: Mention the change.
19780
19781         Rename module 'calloc' -> 'calloc-gnu'.
19782         * modules/calloc-gnu: New file, copied from modules/calloc.
19783         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
19784         obsolete.
19785         * doc/posix-functions/calloc.texi: Update.
19786         * NEWS: Mention the change.
19787
19788         Rename module 'malloc' -> 'malloc-gnu'.
19789         * modules/malloc-gnu: New file, copied from modules/malloc.
19790         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
19791         obsolete.
19792         * modules/argp (Depends-on): Update.
19793         * modules/regex (Depends-on): Update.
19794         * doc/posix-functions/malloc.texi: Update.
19795         * NEWS: Mention the change.
19796
19797 2010-08-28  Eric Blake  <eblake@redhat.com>
19798
19799         pread, pwrite: add missing dependency
19800         * modules/pread (Depends-on): Add extensions.
19801         * modules/pwrite (Depends-on): Likewise.
19802
19803 2010-08-28  Bruno Haible  <bruno@clisp.org>
19804
19805         unistr/u*-strchr: Fix tests dependencies.
19806         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
19807         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
19808         Reported by Ian Beckwith <ianb@erislabs.net>.
19809
19810 2010-08-28  Bruno Haible  <bruno@clisp.org>
19811
19812         read-file: Don't occupy too much unused memory.
19813         * lib/read-file.c (fread_file): Shrink the buffer at the end.
19814
19815 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
19816             Eric Blake  <eblake@redhat.com>
19817             Bruno Haible  <bruno@clisp.org>
19818
19819         read-file: Avoid memory reallocations with regular files.
19820         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
19821         (fread_file): With regular files, use the remaining length as the
19822         initial buffer size.  Check against overflow.
19823         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
19824         sys_stat.
19825
19826 2010-08-28  Bruno Haible  <bruno@clisp.org>
19827
19828         ftello: Relax license.
19829         * modules/ftello (License): Relax to LGPLv2+.
19830         Reported by Eric Blake.
19831
19832 2010-08-28  Bruno Haible  <bruno@clisp.org>
19833
19834         Avoid relocwrapper link errors due to gnulib replacement functions.
19835         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
19836         function.
19837         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19838
19839 2010-08-28  Bruno Haible  <bruno@clisp.org>
19840
19841         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
19842         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
19843         defined.
19844         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
19845         Suggested by Eric Blake.
19846
19847 2010-08-28  Bruno Haible  <bruno@clisp.org>
19848
19849         sys_socket, netdb: Ensure socklen_t gets defined.
19850         * modules/sys_socket (Depends-on): Add socklen.
19851         * modules/netdb (Depends-on): Likewise.
19852         * modules/getaddrinfo (Depends-on): Remove socklen.
19853         * modules/getsockopt (Depends-on): Likewise.
19854         * modules/setsockopt (Depends-on): Likewise.
19855         * tests/test-sys_socket.c: Check that socklen_t is defined.
19856         * tests/test-netdb.c: Likewise.
19857         * m4/socklen.m4: Update comments.
19858         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19859
19860 2010-08-27  Eric Blake  <eblake@redhat.com>
19861
19862         login_tty: add missing dependency
19863         * modules/login_tty (Depends-on): Add pty.
19864
19865 2010-08-26  Eric Blake  <eblake@redhat.com>
19866
19867         lib-symbol-versions: fix m4 quoting
19868         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
19869         format for AC_LINK_IFELSE.
19870
19871         glob: fix compile test
19872         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
19873
19874         btowc: fix missing file
19875         * modules/btowc (Files): Also ship locale-fr.m4.
19876
19877         lseek: fix link test
19878         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
19879         AC_LINK_IFELSE.
19880
19881         include_next: silence autoconf 2.68 warning
19882         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
19883         AC_COMPILE_IFELSE as special.
19884         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
19885         autoconf < 2.68.
19886
19887         acl: fix compilation test
19888         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
19889         AC_COMPILE_IFELSE.
19890
19891 2010-08-26  Bruno Haible  <bruno@clisp.org>
19892
19893         Modernize AC_TRY_RUN invocations.
19894         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
19895         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
19896         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
19897         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
19898         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
19899         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
19900         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
19901         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
19902         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19903         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
19904         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
19905         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
19906         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
19907         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
19908         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
19909         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19910         gl_MBRLEN_NUL_RETVAL): Likewise.
19911         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19912         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
19913         Likewise.
19914         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19915         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
19916         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
19917         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
19918         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
19919         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
19920         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
19921         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
19922         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
19923         Likewise.
19924         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
19925         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
19926         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
19927         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
19928         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
19929         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
19930         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19931         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
19932         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19933         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
19934
19935 2010-08-26  Bruno Haible  <bruno@clisp.org>
19936
19937         Modernize AC_TRY_LINK invocations.
19938         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
19939         AC_TRY_LINK.
19940         * m4/argp.m4 (gl_ARGP): Likewise.
19941         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
19942         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
19943         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
19944         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
19945         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
19946         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
19947         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
19948         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
19949         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
19950         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
19951         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
19952         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
19953         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
19954         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19955         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
19956         * m4/hostent.m4 (gl_HOSTENT): Likewise.
19957         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
19958         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
19959         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
19960         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
19961         Likewise.
19962         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
19963         Likewise.
19964         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
19965         Likewise.
19966         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
19967         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
19968         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
19969         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
19970         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
19971         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
19972         * m4/servent.m4 (gl_SERVENT): Likewise.
19973         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
19974         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
19975         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
19976         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
19977         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
19978         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
19979         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
19980         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
19981         * modules/tsearch-tests (configure.ac): Likewise.
19982
19983 2010-08-26  Bruno Haible  <bruno@clisp.org>
19984
19985         Modernize AC_TRY_COMPILE invocations.
19986         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
19987         AC_TRY_COMPILE.
19988         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
19989         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
19990         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
19991         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
19992         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
19993         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
19994         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
19995         * m4/lock.m4 (gl_LOCK): Likewise.
19996         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
19997         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
19998         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
19999         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20000         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20001         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20002         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20003         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20004         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20005         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20006         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20007         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20008         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20009         extraneous semicolon.
20010
20011 2010-08-26  Jim Meyering  <meyering@redhat.com>
20012
20013         stat-time: relax license LGPL
20014         * modules/stat-time (License): Change from GPL to LGPL,
20015         with consent from all contributors, for use in libguile.
20016         Requested by Ludovic Courtès.
20017
20018 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20019
20020         poll: return immediately on POLLHUP.
20021         * lib/poll.c (poll): Always set timeout before wait_timeout is
20022         computed.
20023
20024 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20025
20026         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20027         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20028         rmdir ("dir/.//"), unlinkat.
20029
20030 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20031
20032         stdbool: avoid spurious failure with modern xlc
20033         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20034
20035 2010-08-24  Bruno Haible  <bruno@clisp.org>
20036
20037         getloadavg: simplify code
20038         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20039         gl_have_func. Update comments.
20040
20041 2010-08-24  Eric Blake  <eblake@redhat.com>
20042
20043         getloadavg: don't define SVR4 on cygwin
20044         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20045         only define SVR4 when -lkvm is required.
20046         Reported by Yaakov Selkowitz.
20047
20048 2010-08-24  Bruno Haible  <bruno@clisp.org>
20049
20050         priv-set: fix comment
20051         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20052
20053 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20054
20055         priv-set: fix comments
20056         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20057         to match code, as suggested by David Bartley in:
20058         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20059
20060 2010-08-23  Eric Blake  <eblake@redhat.com>
20061
20062         stdbool: avoid rejecting clang
20063         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20064         * tests/test-stdbool.c: Enable more tests if using the system
20065         <stdbool.h> instead of the gnulib replacement.
20066         (main): Move xlc bug test to a runtime test for all compilers.
20067         Reported by Anders Kaseorg.
20068
20069         argz: fix shell quoting issue
20070         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20071         Reported by Charles Wilson.
20072
20073 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20074             Erik Faye-Lund <kusmabite@gmail.com>
20075
20076         poll, select: handle ERROR_BROKEN_PIPE.
20077         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20078         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20079         * lib/select.c (win32_compute_revents): Do not mark a pipe
20080         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20081
20082 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20083
20084         fts: allow compilation with C++
20085         * lib/fts_.h: Specify extern "C" linkage with C++.
20086
20087 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20088
20089         Fix gnulib-tool sed script de-commentation for AIX sed.
20090         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20091         sed.
20092
20093 2010-08-17  Eric Blake  <eblake@redhat.com>
20094
20095         test-stddef: test for (some) offsetof bugs
20096         * tests/test-stddef.c: Enhance test to ensure correct type of
20097         offsetof.
20098         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20099         that we are not fixing at this time.
20100
20101 2010-08-15  Bruno Haible  <bruno@clisp.org>
20102
20103         stpncpy: Allow stpncpy to be defined as a macro.
20104         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20105         if it's already correctly declared.
20106         * lib/string.in.h (stpncpy): Undefine before redefining.
20107         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20108
20109 2010-08-14  Bruno Haible  <bruno@clisp.org>
20110
20111         Rename module 'memxfrm' to 'amemxfrm'.
20112         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20113         (amemxfrm): Renamed from memxfrm.
20114         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20115         (amemxfrm): Renamed from memxfrm.
20116         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20117         * NEWS: Mention the change.
20118         * MODULES.html.sh (String handling <string.h>): Update.
20119         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20120         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20121         * lib/unicase/u16-casexfrm.c: Likewise.
20122         * lib/unicase/u32-casexfrm.c: Likewise.
20123         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20124         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20125         * lib/uninorm/u16-normxfrm.c: Likewise.
20126         * lib/uninorm/u32-normxfrm.c: Likewise.
20127         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20128         memxfrm.
20129         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20130         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20131         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20132         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20133         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20134         Suggested by Paul Eggert.
20135
20136 2010-08-14  Bruno Haible  <bruno@clisp.org>
20137
20138         Tests for module 'astrxfrm'.
20139         * modules/astrxfrm-tests: New file.
20140         * tests/test-astrxfrm.c: New file.
20141
20142         New module 'astrxfrm'.
20143         * lib/astrxfrm.h: New file.
20144         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20145         * modules/astrxfrm: New file.
20146
20147 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20148
20149         regex: Tweak doc.
20150         * doc/regex.texi (Overview): Don't mention regex.c.
20151         (GNU Regular Expression Compiling): Likewise.
20152         (Match-end-of-line Operator): Mention 'not_eol'.
20153
20154 2010-08-14  Brian Gough  <bjg@gnu.org>
20155             Bruno Haible  <bruno@clisp.org>
20156
20157         git-merge-changelog: add doc relating to use with bzr and hg.
20158         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20159
20160 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20161
20162         pthread: fix pthread.h creation for srcdir != builddir
20163         * modules/pthread (Makefile.am): Fix the rule to work also in a
20164         non-srcdir build.
20165
20166 2010-08-13  Karl Berry  <karl@gnu.org>
20167
20168         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20169         * doc/posix-*/*: force line break before @url of POSIX
20170         specifications.
20171         Suggested by Werner Lemberg.
20172
20173 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20174
20175         strtod: fix const diagnostic
20176         * lib/strtod.c (strtod): Don't assign const char * to char *,
20177         as this elicits a warning from GCC when warnings are enabled.
20178
20179 2010-08-10  Pádraig Brady <P@draigbrady.com>
20180         and Eric Blake  <eblake@redhat.com>
20181
20182         copy-acl: ignore ENOTSUP on HP-UX
20183         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20184         so that it is available for HP-UX.
20185         * lib/copy-acl.c (qcopy_acl): Use it.
20186         Reported by Patrick M. Callahan.
20187
20188 2010-08-10  Eric Blake  <eblake@redhat.com>
20189
20190         open, chown: relax license
20191         * modules/open (License): Change to LGPLv2+, with consent by all
20192         authors, for use in augeas.
20193         * modules/chown (License): Likewise.
20194         * modules/lchown (Likewise): Likewise.
20195         Requested by Adam Stokes.
20196
20197 2010-08-09  Karl Berry  <karl@gnu.org>
20198
20199         * build-aux/ar-lib: new file, import from Automake.
20200         * config/srclist.txt: autocheck for updates.
20201
20202 2010-08-09  Eric Blake  <eblake@redhat.com>
20203
20204         readlinkat: adjust client modules
20205         * modules/areadlinkat (Depends-on): Use readlinkat, not
20206         symlinkat.
20207         * modules/areadlinkat-with-size (Depends-on): Likewise.
20208
20209         mknod: be more vocal about danger of running tests as root
20210         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20211         root, since that is just asking for problems.
20212         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20213
20214         readlinkat: split into its own module
20215         * modules/symlinkat: Split readlinkat...
20216         * modules/readlinkat: ...into separate module.
20217         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20218         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20219         * lib/symlinkat.c (readlinkat): Move...
20220         * lib/readlinkat.c: ...into new file.
20221         * modules/symlinkat-tests: Split readlinkat test...
20222         * modules/readlinkat-tests: ...into separate module.
20223         * tests/test-symlinkat.c: Split...
20224         * tests/test-readlinkat.c: ...into new file.
20225         * NEWS: Document the split.
20226         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20227         * lib/unistd.in.h (readlinkat): Likewise.
20228         Suggested by Bruno Haible.
20229
20230 2010-08-08  Bruno Haible  <bruno@clisp.org>
20231
20232         memxfrm: Speed up.
20233         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20234         that usually only one call to strxfrm is necessary for each string
20235         part.
20236         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20237
20238 2010-08-07  Karl Berry  <karl@gnu.org>
20239
20240         * doc/posix-headers/limits.texi,
20241         * doc/posix-functions/malloc.texi,
20242         * doc/posix-functions/strsignal.texi: missing @item.
20243         * doc/ld-version-script.texi: spurious leading i.
20244         * doc/regex.texi (Interval Operators): no commas inside @var.
20245
20246 2010-08-01  Bruno Haible  <bruno@clisp.org>
20247
20248         Integrate the regex documentation.
20249         * doc/gnulib.texi: Define 'cn' index.
20250         (Regular expressions): New a chapter that includes regex.texi and
20251         regexprops-generic.texi.
20252         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20253         syntax.
20254
20255         Whitespace cleanup.
20256         * doc/regex.texi: Remove trailing spaces.
20257
20258         Add regex documentation.
20259         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20260         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20261         Written by Kathy A. Hargreaves and Karl Berry.
20262
20263 2010-08-01  Bruno Haible  <bruno@clisp.org>
20264
20265         link: Update documentation.
20266         * doc/posix-functions/link.texi: Update regarding Solaris.
20267
20268 2010-07-31  Bruno Haible  <bruno@clisp.org>
20269
20270         Update modules list.
20271         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20272         (String handling <string.h>): Add memcmp2, memxfrm.
20273         (Container data structures): Add xlist, xsublist, xoset.
20274         (Core language properties): Add alignof, unused-parameter.
20275         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20276         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20277         (Unibyte characters <ctype.h>): New section.
20278         (String handling <string.h>): New section.
20279         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20280         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20281         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20282         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20283         tan, tanh, tanl, y0, y1, yn.
20284         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20285         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20286         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20287         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20288         unlockpt, vdprintf, vdprintf-posix.
20289         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20290         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20291         xconcat-filename.
20292         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20293         getdtablesize, pipe2, pipe2-safer.
20294         (Security): New section.
20295         (Networking functions): Add accept4.
20296         (Signal handling): Add sigpipe.
20297         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20298         mbmemcasecoll.
20299         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20300         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20301         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20302         pipe-filter-ii.
20303         (Misc): Add argp-version-etc, login_tty, parse-duration.
20304
20305 2010-07-31  Bruno Haible  <bruno@clisp.org>
20306
20307         Improve doc in MODULES.html.
20308         * modules/linkat (Description): Add the word "function".
20309         * modules/mkfifo (Description): Likewise.
20310         * modules/mknod (Description): Likewise.
20311         * modules/remove (Description): Likewise.
20312         * modules/renameat (Description): Likewise.
20313         * modules/stat (Description): Likewise.
20314         * modules/symlink (Description): Likewise.
20315         * modules/unlink (Description): Likewise.
20316
20317 2010-07-31  Bruno Haible  <bruno@clisp.org>
20318
20319         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20320         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20321         option --enable/disable-c++ instead of --enable/disable-cxx.
20322         * NEWS: Mention the change.
20323
20324 2010-07-31  Bruno Haible  <bruno@clisp.org>
20325
20326         readlink, areadlink: Relax test a bit.
20327         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20328         alternative to ENOTDIR.
20329         * tests/test-areadlink.h (test_areadlink): Likewise.
20330         Reported by Rainer Tammer.
20331
20332 2010-07-31  Bruno Haible  <bruno@clisp.org>
20333
20334         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20335         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20336         character, perform the search using U_STRCHR.
20337         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20338         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20339         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20340         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20341         Suggested by Paolo Bonzini.
20342
20343 2010-07-31  Bruno Haible  <bruno@clisp.org>
20344
20345         unistr/u*-strstr: Fix dependencies.
20346         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20347         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20348         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20349
20350 2010-07-31  Bruno Haible  <bruno@clisp.org>
20351
20352         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20353         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20354         the beginning of the loop.
20355         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20356         cases in 'switch' statement.
20357
20358         unistr/u8-strchr: Fix several bugs.
20359         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20360         the string. When not found, return NULL, not a pointer near the end.
20361
20362         More tests for unistr/u8-strchr.
20363         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20364         that the function does not read past the first occurrence of the byte
20365         being searched.
20366         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20367         * tests/unistr/test-u16-strchr.c (main): New function.
20368         * tests/unistr/test-u32-strchr.c (main): New function.
20369
20370 2010-07-31  Bruno Haible  <bruno@clisp.org>
20371
20372         posix-modules: Ignore backup files of documentation files.
20373         * posix-modules: grep only through files named *.texi.
20374
20375 2010-07-31  Bruno Haible  <bruno@clisp.org>
20376
20377         symlinkat: Fix documentation.
20378         * doc/posix-functions/readlinkat.texi: Fix module name.
20379
20380 2010-07-31  Bruno Haible  <bruno@clisp.org>
20381
20382         fchownat: Replace also when chown has the trailing slash bug.
20383         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20384         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20385         introduced on 2010-04-10.
20386         Reported by Rainer Tammer.
20387
20388 2010-07-31  Bruno Haible  <bruno@clisp.org>
20389
20390         linkat: Work around AIX 7.1 bug.
20391         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20392         whether linkat handles trailing slash correctly. If not, replace linkat
20393         and define LINKAT_TRAILING_SLASH_BUG.
20394         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20395         check whether (fd1,file1) points to a directory if file1 or file2 ends
20396         in a slash. Code taken from lib/link.c.
20397         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20398         Reported by Rainer Tammer.
20399
20400 2010-07-31  Bruno Haible  <bruno@clisp.org>
20401
20402         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20403         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20404         This disables an xlc optimization that was causing wrong test results.
20405         Reported by Rainer Tammer.
20406
20407 2010-07-31  Bruno Haible  <bruno@clisp.org>
20408
20409         iconv: Work around AIX 6.1..7.1 bug.
20410         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20411         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20412         cross-compiling, guess no on all versions of AIX.
20413         Reported by Rainer Tammer.
20414
20415 2010-07-31  Bruno Haible  <bruno@clisp.org>
20416
20417         readlink: Relax test a bit.
20418         * tests/test-readlink.h (test_readlink): Allow different errno value
20419         when readlink is called with a file name that ends in / and refers to
20420         a file.
20421         Suggested by Eric Blake.
20422         Reported by Rainer Tammer.
20423
20424 2010-07-31  Bruno Haible  <bruno@clisp.org>
20425
20426         copysign: Does not require -lm on glibc systems.
20427         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20428         gl_COMMON_DOUBLE_MATHFUNC.
20429         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20430
20431 2010-07-31  Bruno Haible  <bruno@clisp.org>
20432
20433         duplocale: Work around AIX 7.1 bug.
20434         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20435         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20436         * lib/duplocale.c (rpl_duplocale): Update comment.
20437         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20438         Reported by Rainer Tammer.
20439
20440 2010-07-30  Bruno Haible  <bruno@clisp.org>
20441
20442         dirfd: Avoid link error on AIX 7.1.
20443         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20444         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20445         exist, set REPLACE_DIRFD.
20446         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20447         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20448         * doc/posix-functions/dirfd.texi: Update.
20449         Reported by Rainer Tammer.
20450
20451 2010-07-30  Eric Blake  <eblake@redhat.com>
20452
20453         strtod: next round of AIX fixes
20454         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20455         exponent.
20456         * tests/test-strtod.c (main): Enhance tests.
20457         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20458         Reported by Rainer Tammer.
20459
20460         futimens: fix configure check
20461         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20462         Reported by Bruno Haible.
20463
20464 2010-07-30  Bruno Haible  <bruno@clisp.org>
20465
20466         getline: Update regarding AIX.
20467         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20468         Reported by Rainer Tammer.
20469
20470 2010-07-30  Bruno Haible  <bruno@clisp.org>
20471
20472         wcwidth: Drop replacement on AIX 7.
20473         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
20474         AIX 7.
20475         Reported by Rainer Tammer.
20476
20477 2010-07-30  Bruno Haible  <bruno@clisp.org>
20478
20479         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
20480         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
20481         a 'char *'.
20482         Reported by Rainer Tammer.
20483
20484 2010-07-30  Bruno Haible  <bruno@clisp.org>
20485
20486         unlink: Update regarding AIX.
20487         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
20488         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
20489         Reported by Rainer Tammer.
20490
20491 2010-07-30  Bruno Haible  <bruno@clisp.org>
20492
20493         symlink: Update regarding AIX.
20494         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
20495         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
20496         Reported by Rainer Tammer.
20497
20498 2010-07-30  Bruno Haible  <bruno@clisp.org>
20499
20500         strndup: Update regarding AIX.
20501         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
20502         AIX 7.
20503         Reported by Rainer Tammer.
20504
20505 2010-07-30  Bruno Haible  <bruno@clisp.org>
20506
20507         stat: Update regarding AIX.
20508         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
20509         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
20510         Reported by Rainer Tammer.
20511
20512 2010-07-30  Bruno Haible  <bruno@clisp.org>
20513
20514         truncl: Fix autoconf test.
20515         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
20516         whether truncl works.
20517         Reported by Rainer Tammer.
20518
20519 2010-07-30  Bruno Haible  <bruno@clisp.org>
20520
20521         round: Update regarding AIX.
20522         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
20523         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
20524         Reported by Rainer Tammer.
20525
20526 2010-07-30  Bruno Haible  <bruno@clisp.org>
20527
20528         rename: Update regarding AIX.
20529         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
20530         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20531         Reported by Rainer Tammer.
20532
20533 2010-07-30  Bruno Haible  <bruno@clisp.org>
20534
20535         printf.m4: Update regarding AIX.
20536         * m4/printf.m4: Update comments regarding AIX.
20537         Reported by Rainer Tammer.
20538
20539 2010-07-30  Bruno Haible  <bruno@clisp.org>
20540
20541         iconv: Update regarding AIX.
20542         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
20543         AIX 7.
20544         Reported by Rainer Tammer.
20545
20546 2010-07-30  Bruno Haible  <bruno@clisp.org>
20547
20548         getopt: Update regarding AIX.
20549         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
20550         no on AIX.
20551         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
20552         Reported by Rainer Tammer.
20553
20554 2010-07-30  Bruno Haible  <bruno@clisp.org>
20555
20556         ldexpl; Update regarding AIX.
20557         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
20558         on AIX 7.
20559         Reported by Rainer Tammer.
20560
20561 2010-07-30  Bruno Haible  <bruno@clisp.org>
20562
20563         frexpl: Update regarding AIX.
20564         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
20565         on AIX 7.
20566         Reported by Rainer Tammer.
20567
20568 2010-07-30  Bruno Haible  <bruno@clisp.org>
20569
20570         open, fopen: Update regarding AIX.
20571         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
20572         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20573         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
20574         * doc/posix-functions/fopen.texi: Likewise.
20575         Reported by Rainer Tammer.
20576
20577 2010-07-30  Bruno Haible  <bruno@clisp.org>
20578
20579         chown: Update doc regarding AIX.
20580         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
20581         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
20582         Reported by Rainer Tammer.
20583
20584 2010-07-30  Eric Blake  <eblake@redhat.com>
20585
20586         strtod: fix bug in replacement function on AIX
20587         * lib/strtod.c (strtod): Special case broken "0x" parse in
20588         underlying strtod.
20589         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
20590         * doc/posix-functions/strtod.texi (strtod): Likewise.
20591         Reported by Rainer Tammer.
20592
20593 2010-07-30  Bruno Haible  <bruno@clisp.org>
20594
20595         mbrlen: Fix cross-compilation guess for AIX.
20596         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
20597         guess. Leftover from 2008-12-22.
20598
20599 2010-07-30  Bruno Haible  <bruno@clisp.org>
20600
20601         mbrtowc: Fix cross-compilation guess for AIX.
20602         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
20603         guess. Leftover from 2008-12-21.
20604
20605 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
20606
20607         init.sh: work around trap limitation of some shells
20608         * tests/init.sh (setup_): Move exit trap outside of shell function.
20609
20610 2010-07-29  Eric Blake  <eblake@redhat.com>
20611
20612         strtod: aid debugging
20613         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
20614         understanding why strtod is rejected.
20615
20616 2010-07-28  Bruno Haible  <bruno@clisp.org>
20617
20618         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
20619         * lib/unistr/u8-chr.c: Include <string.h>.
20620         * tests/unistr/test-u8-chr.c: Likewise.
20621         * tests/unistr/test-u16-chr.c: Likewise.
20622         * tests/unistr/test-u32-chr.c: Likewise.
20623         * tests/unistr/test-u8-strchr.c: Likewise.
20624         * tests/unistr/test-u16-strchr.c: Likewise.
20625         * tests/unistr/test-u32-strchr.c: Likewise.
20626         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
20627         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
20628         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
20629         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
20630
20631 2010-07-28  Bruno Haible  <bruno@clisp.org>
20632
20633         Use spaces for indentation, not tabs.
20634         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20635
20636 2010-07-27  Bruno Haible  <bruno@clisp.org>
20637
20638         mbspcasecmp: Fix function specification.
20639         * lib/string.in.h (mbspcasecmp): Fix specification comment.
20640         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
20641         Reported by Eric Blake <eblake@redhat.com>.
20642
20643 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
20644
20645         timespec: use cast and not conditional, as truncation isn't possible
20646         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
20647         instead of a conditional.  Comment about the situation in more detail.
20648         This undoes most of the 2009-10-29 patch.
20649
20650 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
20651
20652         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
20653         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
20654         * lib/unistr/u8-strchr.c: Likewise.
20655         * modules/unistr/u8-chr: Depend on memchr.
20656
20657         unistr/u*-strchr: add tests
20658         * modules/unistr/u8-strchr-tests: New file.
20659         * modules/unistr/u16-strchr-tests: New file.
20660         * modules/unistr/u32-strchr-tests: New file.
20661         * tests/unistr/test-strchr.h: New file.
20662         * tests/unistr/test-u8-strchr.c: New file.
20663         * tests/unistr/test-u16-strchr.c: New file.
20664         * tests/unistr/test-u32-strchr.c: New file.
20665
20666         unistr/u*-chr: test multibyte sequences more
20667         * tests/unistr/test-chr.h: Do complete testing of the characters in the
20668         test vector.
20669         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
20670         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
20671         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
20672
20673         unistr/u*-chr: test multibyte sequences
20674         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
20675
20676         unistr/u*-chr: prepare for multibyte tests
20677         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
20678         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
20679         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
20680         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
20681         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
20682         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
20683
20684 2010-07-18  Bruno Haible  <bruno@clisp.org>
20685
20686         unistr/u8-strchr: Optimize non-ASCII argument case.
20687         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
20688         because the first byte often matches anyway.
20689         Reported by Pádraig Brady <P@draigbrady.com>.
20690
20691 2010-07-15  Karl Berry  <karl@gnu.org>
20692
20693         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
20694
20695 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
20696
20697         getcwd: on Solaris, work better if ancestors are inaccessible
20698         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
20699         buffer and size, try again with a large buffer.  This works better
20700         on Solaris, since its getcwd succeeds even if the path to the root
20701         is inaccessible, and this is helpful in common cases such as .zfs
20702         hidden directories.  Problem reported by J Chapman Flack in
20703         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
20704         Use system getcwd if it's declared, not merely if it's partly
20705         working; use the partly-working test only to avoid needless effort
20706         if the system getcwd fails.
20707         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
20708         comment that was already obsolete and is now even more obsolete.
20709         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
20710         now might call strdup.
20711
20712 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
20713
20714         pthread: Add enough so that coreutils/src/sort.c compiles.
20715         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
20716         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
20717         gnulib. Include <sched.h> and <time.h>, as per POSIX.
20718         Include <sys/types.h>, in case it defines pthread_t.
20719         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
20720         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
20721         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
20722         (pthread_rwlockattr_t, pthread_spinlock_t):
20723         New typedefs, if HAVE_PTHREAD_T is not defined.
20724         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
20725         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
20726         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
20727         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
20728         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
20729         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
20730         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
20731         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
20732         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
20733         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
20734         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
20735         New macros.
20736         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
20737         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
20738         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
20739         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
20740         (pthread_spin_unlock): New dummy functions.
20741         (pthread_create): Return EAGAIN; don't set errno.
20742         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
20743         require AC_C_INLINE.
20744         * modules/pthread (Depends-on): Add sched, time.
20745         (pthread.h): Use AM_V_GEN.
20746
20747 2010-07-13  Bruno Haible  <bruno@clisp.org>
20748
20749         striconveh: Don't malloc memory if the result buffer is sufficient.
20750         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
20751         buffer if its size is sufficient.
20752         Reported by Ludovic Courtès <ludo@gnu.org>.
20753
20754 2010-07-13  Bruno Haible  <bruno@clisp.org>
20755
20756         strtod: Add safety check.
20757         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
20758
20759 2010-07-12  Bruno Haible  <bruno@clisp.org>
20760
20761         Unify tests that set gl_cv_func_ldexpl_no_libm.
20762         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
20763         gl_FUNC_LDEXPL.
20764         (gl_FUNC_LDEXPL): Invoke it.
20765         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
20766
20767 2010-07-12  Bruno Haible  <bruno@clisp.org>
20768
20769         Unify tests that set gl_cv_func_ldexp_no_libm.
20770         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
20771         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
20772         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
20773         (configure.ac): Simply invoke gl_FUNC_LDEXP.
20774         * modules/strtod (Files): Add m4/ldexp.m4.
20775
20776 2010-07-12  Bruno Haible  <bruno@clisp.org>
20777
20778         Unify tests that set gl_cv_func_frexpl_no_libm.
20779         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
20780         gl_FUNC_FREXPL_NO_LIBM.
20781         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
20782         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
20783
20784 2010-07-12  Bruno Haible  <bruno@clisp.org>
20785
20786         Unify tests that set gl_cv_func_frexp_no_libm.
20787         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
20788         gl_FUNC_FREXP_NO_LIBM.
20789         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
20790         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20791
20792 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
20793
20794         memcoll: clarify sizes versus lengths, document better, and tweak perf
20795         * lib/memcoll.c (strcoll_loop, memcoll0):
20796         Improve quality of descriptive comments.  Name variables
20797         consistently as to whether they are lengths (which do not include
20798         terminating null) versus sizes (which do).
20799         * lib/xmemcoll.c (xmemcoll0): Likewise.
20800         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
20801         returned when s1size == 0; this is easier to compile and saves
20802         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
20803
20804 2010-07-12  Bruno Haible  <bruno@clisp.org>
20805
20806         Tests for module '_Exit'.
20807         * modules/_Exit-tests: New file.
20808         * tests/test-_Exit.sh: New file.
20809         * tests/test-_Exit.c: New file.
20810
20811         New module '_Exit'.
20812         * lib/stdlib.in.h (__attribute__): New macro.
20813         (_Exit): New declaration.
20814         * lib/_Exit.c: New file.
20815         * m4/_Exit.m4: New file.
20816         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
20817         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
20818         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
20819         * modules/_Exit: New file.
20820         * tests/test-stdlib-c++.cc (_Exit): Check signature.
20821         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
20822
20823 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
20824
20825         strtod: make it more-accurate typically, and don't require libm
20826         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
20827         Include limits.h.  Don't include string.h.
20828         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
20829         (locale_isspace): New function, so that no casts are needed to
20830         check whether *s is a space.
20831         (ldexp): Provide an unused dummy if not available.
20832         (scale_radix_exp, parse_number, underlying_strtod): New functions.
20833         (strtod): Use them.  This implementation prefers to use the
20834         underlying strtod if available, falling back on our own code
20835         only to fix known bugs.  This is more likely to produce an
20836         accurate result.  Also, it avoids the use of libm functions.
20837         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
20838         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
20839         was absent, but it caused a test failure with coreutils.
20840         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
20841         with libm.
20842         * modules/strtod (Makefile.am, Link): libm is no longer needed.
20843         * modules/strtod-tests (Makefile.am): Likewise.
20844
20845 2010-07-11  Pádraig Brady  <P@draigBrady.com>
20846             Bruno Haible  <bruno@clisp.org>
20847
20848         unistr/u8-strchr: Optimize ASCII argument case.
20849         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
20850
20851 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
20852
20853         (x)memcoll: minor tweaks
20854         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
20855         is after the type that it qualifies.
20856         (memcoll0): Likewise.
20857         * lib/memcoll.h (memcoll0): Likewise.
20858         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
20859         * lib/xmemcoll.h (xmemcoll0): Likewise.
20860         * lib/memcoll.c (memcoll0): Correct the comment.  This function
20861         differs from memcoll in that the NUL byte is part of the argument.
20862         Omit the abort-checks, as performance is a real issue here.  Plus,
20863         the checks were wrong anyway (an off-by-one error).  Omit local
20864         variable 'diff', as it's a bit clearer that way.
20865         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
20866         no longer needed.
20867
20868 2010-07-08  Chen Guo <chenguo4@yahoo.com>
20869
20870         (x)memcoll: speedup when input is known to be NUL delimited
20871         * lib/memcoll.c: Include stdlib.
20872         (memcoll0): New function.
20873         (strcoll_loop): New function, refactored for use in both memcoll
20874         and memcoll0.
20875         * lib/memcoll.h (memcoll0): Add prototype.
20876         * lib/xmemcoll.c (xmemcoll0): New function.
20877         (collate_error): New function, refactored for use in both xmemcoll
20878         and xmemcoll0.
20879         * lib/xmemcoll.h (xmemcoll0): Add prototype.
20880         * m4/memcoll.m4: add inline invocation.
20881
20882 2010-07-06  Pádraig Brady  <P@draigBrady.com>
20883
20884         * build-aux/bootstrap: Remove any local translations
20885         from the translation project synchronization directory,
20886         so that local only translations are not distributed.
20887
20888 2010-07-04  Bruno Haible  <bruno@clisp.org>
20889
20890         fsusage: Clarify which code applies to which platforms.
20891         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
20892         platform.
20893         * lib/fsusage.c (get_fs_usage): Likewise.
20894
20895 2010-07-04  Bruno Haible  <bruno@clisp.org>
20896
20897         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
20898         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
20899         Reported by Martin Lambers <marlam@marlam.de>.
20900
20901 2010-07-04  Jim Meyering  <meyering@redhat.com>
20902
20903         hash: once again explicitly disallow insertion of NULL
20904         * lib/hash.c (hash_insert0): Reinstate just-removed test:
20905         inserting a NULL pointer cannot work with these functions.
20906         Add a comment with details.
20907         This reverts part of the 2010-07-01 commit, 5bef1a35
20908         "hash: extend module to deal with non-pointer keys".
20909
20910 2010-07-01  Bruno Haible  <bruno@clisp.org>
20911
20912         stdbool: Update doc.
20913         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
20914         Info from Christian Weisgerber <naddy@mips.inka.de>.
20915
20916 2010-07-01  Jim Meyering  <meyering@redhat.com>
20917
20918         hash: extend module to deal with non-pointer keys
20919         * lib/hash.c (hash_insert0): New interface, much like hash_insert
20920         but that allows insertion of non-pointer entries.
20921         Do not disallow an ENTRY value of NULL.
20922         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
20923         * lib/hash.h (hash_insert0): Declare.
20924
20925 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
20926
20927         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
20928         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
20929         not present (i.e. with autoconf 2.59 and when using gettextize, not
20930         gnulib), require AC_GNU_SOURCE instead.
20931
20932 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
20933
20934         idpriv-drop: Fix tests.
20935         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
20936         not to the test-idpriv-droptemp program.
20937
20938 2010-06-29  Bruno Haible  <bruno@clisp.org>
20939
20940         string: Fix syntax error with g++ 2.96.
20941         * lib/string.in.h (__pure__): Remove definition.
20942         (_GL_ATTRIBUTE_PURE): New macro.
20943         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
20944         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
20945         Reported by Christian Weisgerber <naddy@mips.inka.de>.
20946
20947 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
20948
20949         unitypes: Fix bug introduced on 2010-05-18.
20950         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
20951
20952 2010-06-22  Eric Blake  <eblake@redhat.com>
20953
20954         memmem: slight optimization
20955         * lib/str-two-way.h (critical_factorization): Update comments.
20956         Reduce work during factorization phase.
20957         Reported by Carlos Bueno <carlos@bueno.org>.
20958
20959 2010-06-21  Bruno Haible  <bruno@clisp.org>
20960
20961         Fix HAVE_CALLOC_POSIX misnomer.
20962         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
20963         !HAVE_CALLOC_POSIX.
20964         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
20965         HAVE_CALLOC_POSIX.
20966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
20967         instead of HAVE_CALLOC_POSIX.
20968         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
20969         HAVE_CALLOC_POSIX.
20970
20971         Use modern idiom for calloc() replacement.
20972         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
20973         AC_FUNC_CALLOC.
20974         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
20975         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
20976         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
20977         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
20978         (gl_REPLACE_CALLOC): New macro.
20979
20980 2010-06-21  Bruno Haible  <bruno@clisp.org>
20981
20982         Fix HAVE_REALLOC_POSIX misnomer.
20983         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
20984         !HAVE_REALLOC_POSIX.
20985         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
20986         HAVE_REALLOC_POSIX.
20987         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
20988         instead of HAVE_REALLOC_POSIX.
20989         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
20990         HAVE_REALLOC_POSIX.
20991
20992         Use modern idiom for realloc() replacement.
20993         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
20994         AC_FUNC_REALLOC.
20995         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
20996         Autoconf's AC_FUNC_REALLOC.
20997         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
20998         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
20999         (gl_REPLACE_REALLOC): New macro.
21000         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21001
21002 2010-06-21  Bruno Haible  <bruno@clisp.org>
21003
21004         Fix HAVE_MALLOC_POSIX misnomer.
21005         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21006         !HAVE_MALLOC_POSIX.
21007         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21008         HAVE_MALLOC_POSIX.
21009         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21010         instead of HAVE_MALLOC_POSIX.
21011         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21012         HAVE_MALLOC_POSIX.
21013
21014         Use modern idiom for malloc() replacement.
21015         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21016         AC_FUNC_MALLOC.
21017         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21018         Autoconf's AC_FUNC_MALLOC.
21019         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21020         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21021         (gl_REPLACE_MALLOC): New macro.
21022         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21023
21024 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21025
21026         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21027         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21028         This macro takes 3 arguments, not 4.
21029
21030 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21031
21032         ipv6: fix detection under mingw
21033         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21034         in6_addr.
21035
21036 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21037
21038         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21039         that strtod() works when cross-compiling to a glibc version known
21040         to work.
21041
21042 2010-06-15  Bruno Haible  <bruno@clisp.org>
21043
21044         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21045
21046 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21047
21048         select: Correct timeout.
21049         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21050
21051 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21052
21053         git-version-gen: init shell var to avoid env var influence
21054         * build-aux/git-version-gen (v): Init shell var to empty.
21055
21056 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21057
21058         priv-set: Don't assume that priv.h exists merely because getppriv does.
21059         See Jan Andersen's bug report about AIX 5L in
21060         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21061         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21062         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21063         * lib/priv-set.h: Likewise.
21064         * tests/test-priv-set.c: Likewise.
21065
21066 2010-06-13  Bruno Haible  <bruno@clisp.org>
21067
21068         relocatable: Make it easier to test whether to install wrappers.
21069         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21070         RELOCATABLE_VIA_WRAPPER.
21071
21072 2010-06-13  Bruno Haible  <bruno@clisp.org>
21073
21074         gnulib-tool: Display specified modules and dependencies differently.
21075         * gnulib-tool (func_show_module_list): New function.
21076         (func_import, func_create_testdir): Invoke it.
21077         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21078
21079 2010-06-13  Bruno Haible  <bruno@clisp.org>
21080
21081         gnulib-tool: Align code of func_import and func_create_testdir.
21082         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21083         specified_modules.
21084
21085 2010-06-12  Jim Meyering  <meyering@redhat.com>
21086
21087         test-inttostr: avoid spurious failure on Solaris 9
21088         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21089         to accept "%ju".  Reported by Bruno Haible.
21090
21091 2010-06-11  Jim Meyering  <meyering@redhat.com>
21092
21093         test-sys_socket: mark variables as used more readably
21094         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21095         as "used" explicitly via (void) statement casts.  This is more
21096         readable than using them in an artificial return expression.
21097         Suggestion from Bruno Haible.
21098
21099 2010-06-11  Bruno Haible  <bruno@clisp.org>
21100
21101         Avoid some more warnings from "gcc -Wwrite-strings".
21102         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21103         to 'const char *'.
21104         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21105         * tests/test-c-strcasestr.c (main): Likewise.
21106         * tests/test-mbscasestr1.c (main): Likewise.
21107         * tests/test-mbscasestr2.c (main): Likewise.
21108         * tests/test-memmem.c (main): Likewise.
21109         * tests/test-strstr.c (main): Likewise.
21110         * tests/test-strcasestr.c (main): Likewise.
21111
21112 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21113
21114         init.sh: change framework_failure_ to fail with status 99, not 1
21115         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21116         automake's parallel-tests rule that this is an unexpected failure,
21117         even if the test is listed in XFAIL_TESTS.
21118
21119 2010-06-11  Jim Meyering  <meyering@redhat.com>
21120
21121         test-inttostr: avoid warnings about 4-6KB literal strings
21122         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21123         Include "macros.h", for its definition of ASSERT.
21124         (CK): s/assert/ASSERT/
21125         * modules/inttostr-tests (Files): Add macros.h.
21126
21127         init.sh: don't use $ME_ or skip_ before they are defined
21128         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21129         their first uses.  Also hoist their companions: warn_, fail_,
21130         framework_failure_, $stderr_fileno.  Prompted by a patch from
21131         Stefano Lattarini.
21132
21133         test-sys_socket: avoid set-but-not-used warnings from gcc
21134         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21135         avoid warning about set-but-not-used variables.
21136
21137         test-xvasprintf: avoid 'const' discard warnings
21138         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21139         "const" when assigning from literal strings.
21140         (test_xasprintf): Add "void" in function argument list to placate
21141         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21142
21143         tests: avoid compilation warnings in argmatch and exclude tests...
21144         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21145         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21146         Since it always exits, declare with the "noreturn" attribute.
21147         * tests/test-argmatch.c: Likewise.
21148
21149         tests: avoid 'const' discard warnings in mbsstr tests
21150         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21151         * tests/test-mbsstr2.c (main): Likewise.
21152
21153         test-verify: avoid warning from gcc's -Wmissing-declarations
21154         * tests/test-verify.c (function): Declare to be static.
21155
21156         test-inttostr.c: include <string.h> for use of strcmp
21157         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21158
21159         test-linkat: avoid failed assertion on "other" architectures
21160         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21161         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21162         sparc: https://bugs.launchpad.net/bugs/591968
21163
21164 2010-06-11  Jim Meyering  <meyering@redhat.com>
21165
21166         printf.m4: avoid autoconf's "Expanded Before Required" warning
21167         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21168         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21169         autoconf warning.
21170
21171 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21172
21173         Replacement header templates are now named with ".in", not "_".
21174         * doc/gnulib-intro.texi: Correct.
21175
21176 2010-06-10  Jim Meyering  <meyering@redhat.com>
21177
21178         inttostr-tests: depend on snprintf, not snprintf-posix
21179         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21180         snprintf-posix, to avoid this aclocal failure:
21181           missing file gnulib-tests/vasnprintf.c
21182           configure.ac:45: error: expected source file, required through \
21183           AC_LIBSOURCES, not found
21184
21185 2010-06-10  Jim Meyering  <meyering@redhat.com>
21186
21187         inttostr: add a new function, inttostr, and tests
21188         The namesake function was not available.  The existence of the
21189         template file, inttostr.c makes its addition nontrivial.
21190         * lib/anytostr.c: Rename from inttostr.c.
21191         (anytostr): Rename from inttostr.
21192         * lib/inttostr.c: New file.
21193         * modules/inttostr (Files): Add anytostr.c.
21194         (Makefile.am): Set lib_SOURCES instead of ...
21195         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21196         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21197         * lib/offtostr.c: Likewise.
21198         * lib/uinttostr.c: Likewise.
21199         * lib/umaxtostr.c: Likewise.
21200         * modules/inttostr-tests: New file.
21201         * tests/test-inttostr.c: New file.  Test these functions.
21202
21203 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21204             Bruno Haible  <bruno@clisp.org>
21205
21206         Add "Extending Gnulib" chapter to manual.
21207         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21208         chapter.
21209         (Extending Gnulib): New chapter.
21210         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21211         chapter.
21212
21213 2010-06-09  Bruno Haible  <bruno@clisp.org>
21214
21215         Avoid relocwrapper link errors due to gnulib replacement functions.
21216         * lib/areadlink.c: Use the system's malloc, realloc functions.
21217         (areadlink): Set errno to ENOMEM explicitly.
21218         * modules/areadlink (Depends-on): Remove malloc-posix.
21219         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21220
21221 2010-06-09  Bruno Haible  <bruno@clisp.org>
21222
21223         Avoid relocwrapper link errors due to gnulib replacement functions.
21224         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21225         * lib/malloca.c: Likewise.
21226         * lib/relocatable.c: Likewise.
21227         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21228         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21229         * lib/setenv.c: Use the system's malloc, realloc functions.
21230         * lib/strerror.c: Use the system's sprintf function.
21231         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21232
21233 2010-06-04  Bruno Haible  <bruno@clisp.org>
21234
21235         Prefer documented low-level autoconf macro names.
21236         * m4/lib-link.m4: Use m4_translit instead of translit.
21237         * m4/environ.m4: Likewise.
21238         * m4/mathfunc.m4: Likewise.
21239         * m4/onceonly.m4: Likewise.
21240         * m4/stdint.m4: Likewise.
21241         Suggested by Eric Blake.
21242
21243 2010-06-04  Martin Lambers  <marlam@marlam.de>
21244             Bruno Haible  <bruno@clisp.org>
21245
21246         havelib: Allow library names with '+' characters.
21247         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21248         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21249
21250 2010-06-09  Bruno Haible  <bruno@clisp.org>
21251
21252         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21253         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21254         realloc failed.
21255
21256 2010-06-08  Peter Simons  <simons@cryp.to>
21257
21258         maint.mk: make the news-check rule more configurable
21259         * top/maint.mk (news-check-lines-spec): New variable.
21260         (news-check): Use "sed -n 1,10p" in place of "head".
21261
21262 2010-06-07  Jim Meyering  <meyering@redhat.com>
21263
21264         do-release-commit-and-tag: fix typo in --help
21265         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21266
21267         regex: avoid new dead-code warning with gcc-4.6.0
21268         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21269         if-block containing a while-loop.  It's been unused for at least
21270         5 years.
21271
21272 2010-06-05  Bruno Haible  <bruno@clisp.org>
21273
21274         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21275         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21276
21277 2010-06-04  Bruno Haible  <bruno@clisp.org>
21278
21279         Update to GNU gettext 0.18.1.
21280         * modules/gettext (configure.ac): Require gettext infrastructure from
21281         version 0.18.1.
21282
21283 2010-06-03  Bruno Haible  <bruno@clisp.org>
21284
21285         Don't use AC_LIBOBJ with file names in subdirectories.
21286         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21287         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21288         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21289         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21290         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21291         gl_LIBUNISTRING_LIBSOURCE.
21292         (Makefile.am): Augment lib_SOURCES here, conditionally.
21293         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21294
21295 2010-06-03  Bruno Haible  <bruno@clisp.org>
21296
21297         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21298         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21299         expansion does not end with a newline.
21300         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21301         unnecessary newline.
21302
21303 2010-06-03  Bruno Haible  <bruno@clisp.org>
21304
21305         Reduce dependencies.
21306         * tests/test-quotearg.h: New file, extracted from
21307         tests/test-quotearg.c.
21308         * tests/test-quotearg-simple.c: New file, extracted from
21309         tests/test-quotearg.c.
21310         * tests/test-quotearg.c: Don't include <ctype.h>.
21311         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21312         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21313         use_quote_double_quotes, use_quotearg_colon): Moved to
21314         tests/test-quotearg.h.
21315         (results_g, flag_results, custom_quotes, custom_results): Moved
21316         to tests/test-quotearg-simple.c.
21317         (main): Moved the part that does not depend on gettext to
21318         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21319         performed.
21320         * modules/quotearg-simple: New file.
21321         * modules/quotearg-simple-tests: New file.
21322         * modules/quotearg (Depends-on): Add quotearg-simple.
21323         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21324         (Files): Add tests/test-quotearg.h.
21325         Reported by Paolo Bonzini.
21326
21327 2010-06-03  Bruno Haible  <bruno@clisp.org>
21328
21329         Reduce dependencies.
21330         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21331
21332 2010-06-03  Bruno Haible  <bruno@clisp.org>
21333
21334         time: Undefine more broken macros.
21335         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21336         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21337         Reported by Eric Blake.
21338
21339 2010-06-03  Bruno Haible  <bruno@clisp.org>
21340
21341         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21342         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21343         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21344         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21345         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21346         Reported by Ludovic Courtès <ludo@gnu.org>.
21347
21348 2010-06-02  Eric Blake  <eblake@redhat.com>
21349
21350         time: work with mingw + pthreads-win32 library
21351         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21352         if timespec is defined only in pthread.h.
21353         * modules/time (Makefile.am): Substitute it.
21354         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21355         <pthread.h>, when needed.
21356         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21357         from the library.
21358
21359 2010-05-31  Bruno Haible  <bruno@clisp.org>
21360
21361         Avoid expanding two macros in the wrong order.
21362         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21363         gl_LIBUNISTRING if it is defined.
21364         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21365         autoconf >= 2.64.
21366         Reported by Ludovic Courtès <ludo@gnu.org>.
21367
21368 2010-05-27  Jim Meyering  <meyering@redhat.com>
21369
21370         maint.mk: also prohibit "#undef" of always-defined symbols
21371         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21372         Allow more than one space before the symbol name.
21373         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21374         the regexp uses alternation.
21375
21376 2010-05-26  Eric Blake  <eblake@redhat.com>
21377
21378         maint.mk: avoid echo -e
21379         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21380         Convert all uses of echo -* to printf.
21381         Reported by Matthias Bolte.
21382
21383 2010-05-25  Bruno Haible  <bruno@clisp.org>
21384
21385         Update to GNU gettext 0.18, part 2.
21386         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21387         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21388
21389 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21390
21391         Add missing include in test-pwrite.c.
21392         * tests/test-pwrite.c: Include string.h, for strcmp.
21393
21394 2010-05-24  Bruno Haible  <bruno@clisp.org>
21395
21396         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21397
21398 2010-05-24  Bruno Haible  <bruno@clisp.org>
21399
21400         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21401         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21402         iconveh_error argument.
21403         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21404         U_STRCONV_TO_LOCALE.
21405         * lib/unistr/u16-strcoll.c: Likewise.
21406         * lib/unistr/u32-strcoll.c: Likewise.
21407         * modules/unistr/u8-strcoll (Depends-on): Add
21408         uniconv/u8-strconv-to-enc, localcharset. Remove
21409         uniconv/u8-strconv-to-locale.
21410         (configure.ac): Bump version number.
21411         * modules/unistr/u16-strcoll (Depends-on): Add
21412         uniconv/u16-strconv-to-enc, localcharset. Remove
21413         uniconv/u16-strconv-to-locale.
21414         (configure.ac): Bump version number.
21415         * modules/unistr/u32-strcoll (Depends-on): Add
21416         uniconv/u32-strconv-to-enc, localcharset. Remove
21417         uniconv/u32-strconv-to-locale.
21418         (configure.ac): Bump version number.
21419
21420 2010-05-24  Bruno Haible  <bruno@clisp.org>
21421
21422         Avoid a test failure on NetBSD 5.0.
21423         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21424         an iconv() bug.
21425
21426 2010-05-24  Bruno Haible  <bruno@clisp.org>
21427
21428         Adjust #include directive style.
21429         * modules/regex (Includes): Recommend to write <regex.h>.
21430
21431 2010-05-24  Bruno Haible  <bruno@clisp.org>
21432
21433         regex: Don't require alloca.
21434         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21435         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21436         only inside if (0).
21437
21438 2010-05-23  Jim Meyering  <meyering@redhat.com>
21439
21440         test-renameat.c: include <sys/stat.h>
21441         * tests/test-renameat.c: Include <sys/stat.h>; required for
21442         definition of S_IS* macros.
21443
21444 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21445
21446         Update maintainer documentation for 'relocatable-prog' module.
21447         * doc/relocatable-maint.texi: Update.
21448         Comments by Bruno Haible.
21449
21450 2010-05-23  Bruno Haible  <bruno@clisp.org>
21451
21452         git-merge-changelog: Enable --split-merged-entry by default.
21453         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21454         (usage): Don't mention this option any more.
21455         Reported by Ralf Wildenhues.
21456
21457 2010-05-23  Jim Meyering  <meyering@redhat.com>
21458
21459         test-pwrite: do not leave behind a test file named "out"
21460         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21461         The trivial-looking use of init.sh is really necessary.
21462         It ensures that the temporary file, "out", is created in
21463         a temporary directory, and removed upon termination.
21464         * tests/test-pwrite.sh: Re-add file.
21465         * modules/pwrite-tests: Reference it.
21466
21467 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21468
21469         Fix output redirection buglet in init.sh.
21470         * tests/init.sh: Fix redirection of stderr.
21471
21472 2010-05-20  Simon Josefsson  <simon@josefsson.org>
21473
21474         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
21475
21476 2010-05-17  Simon Josefsson  <simon@josefsson.org>
21477
21478         * modules/valgrind-tests: New file.
21479         * m4/valgrind-tests.m4: New file.
21480         * doc/valgrind-tests.texi: New file.
21481         * doc/gnulib.texi (Running self-tests under valgrind): New
21482         section.
21483
21484 2010-05-19  Bruno Haible  <bruno@clisp.org>
21485
21486         Clean up dead code in recent commit.
21487         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
21488         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
21489         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
21490         Suggested by Paolo Bonzini.
21491
21492 2010-05-19  Bruno Haible  <bruno@clisp.org>
21493
21494         Avoid valgrind error reports from libunistring.
21495         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
21496         * modules/libunistring (Files): Add it.
21497         * modules/libunistring-optional (Files): Likewise.
21498
21499 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
21500             Bruno Haible  <bruno@clisp.org>
21501
21502         New module 'libunistring-optional'.
21503         * modules/libunistring-optional: New file.
21504         * m4/libunistring-base.m4: New file.
21505         * m4/libunistring-optional.m4: New file.
21506         * lib/unicase.in.h: Renamed from lib/unicase.h.
21507         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
21508         * lib/unictype.in.h: Renamed from lib/unictype.h.
21509         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
21510         * lib/uniname.in.h: Renamed from lib/uniname.h.
21511         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
21512         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
21513         * lib/unistr.in.h: Renamed from lib/unistr.h.
21514         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
21515         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
21516         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
21517         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
21518         gl_LIBUNISTRING. If the library was found, determine the installed
21519         version and set LIBUNISTRING_VERSION.
21520         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
21521         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
21522         handle a configuration option --with-included-libunistring.
21523         * modules/libunistring (Files): Add m4/absolute-header.m4.
21524         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
21525         Add m4/libunistring-base.m4.
21526         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21527         (Makefile.am): Build unicase.h from unicase.in.h.
21528         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
21529         Add m4/libunistring-base.m4.
21530         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21531         (Makefile.am): Build uniconv.h from uniconv.in.h.
21532         * modules/unictype/base (Files): Use unictype.in.h instead of
21533         unictype.h. Add m4/libunistring-base.m4.
21534         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21535         (Makefile.am): Build unictype.h from unictype.in.h.
21536         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
21537         Add m4/libunistring-base.m4.
21538         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21539         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
21540         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
21541         Add m4/libunistring-base.m4.
21542         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21543         (Makefile.am): Build uniname.h from uniname.in.h.
21544         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
21545         Add m4/libunistring-base.m4.
21546         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21547         (Makefile.am): Build uninorm.h from uninorm.in.h.
21548         * modules/unistdio/base (Files): Use unistdio.in.h instead of
21549         unistdio.h. Add m4/libunistring-base.m4.
21550         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21551         (Makefile.am): Build unistdio.h from unistdio.in.h.
21552         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
21553         Add m4/libunistring-base.m4.
21554         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21555         (Makefile.am): Build unistr.h from unistr.in.h.
21556         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
21557         Add m4/libunistring-base.m4.
21558         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21559         (Makefile.am): Build unitypes.h from unitypes.in.h.
21560         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
21561         Add m4/libunistring-base.m4.
21562         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21563         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
21564         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
21565         uniwidth.h. Add m4/libunistring-base.m4.
21566         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21567         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
21568         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
21569         instead of augmenting lib_SOURCES.
21570         * modules/unicase/empty-suffix-context: Likewise.
21571         * modules/unicase/locale-language: Likewise.
21572         * modules/unicase/tolower: Likewise.
21573         * modules/unicase/totitle: Likewise.
21574         * modules/unicase/toupper: Likewise.
21575         * modules/unicase/u8-casecmp: Likewise.
21576         * modules/unicase/u8-casecoll: Likewise.
21577         * modules/unicase/u8-casefold: Likewise.
21578         * modules/unicase/u8-casexfrm: Likewise.
21579         * modules/unicase/u8-ct-casefold: Likewise.
21580         * modules/unicase/u8-ct-tolower: Likewise.
21581         * modules/unicase/u8-ct-totitle: Likewise.
21582         * modules/unicase/u8-ct-toupper: Likewise.
21583         * modules/unicase/u8-is-cased: Likewise.
21584         * modules/unicase/u8-is-casefolded: Likewise.
21585         * modules/unicase/u8-is-lowercase: Likewise.
21586         * modules/unicase/u8-is-titlecase: Likewise.
21587         * modules/unicase/u8-is-uppercase: Likewise.
21588         * modules/unicase/u8-prefix-context: Likewise.
21589         * modules/unicase/u8-suffix-context: Likewise.
21590         * modules/unicase/u8-tolower: Likewise.
21591         * modules/unicase/u8-totitle: Likewise.
21592         * modules/unicase/u8-toupper: Likewise.
21593         * modules/unicase/u16-casecmp: Likewise.
21594         * modules/unicase/u16-casecoll: Likewise.
21595         * modules/unicase/u16-casefold: Likewise.
21596         * modules/unicase/u16-casexfrm: Likewise.
21597         * modules/unicase/u16-ct-casefold: Likewise.
21598         * modules/unicase/u16-ct-tolower: Likewise.
21599         * modules/unicase/u16-ct-totitle: Likewise.
21600         * modules/unicase/u16-ct-toupper: Likewise.
21601         * modules/unicase/u16-is-cased: Likewise.
21602         * modules/unicase/u16-is-casefolded: Likewise.
21603         * modules/unicase/u16-is-lowercase: Likewise.
21604         * modules/unicase/u16-is-titlecase: Likewise.
21605         * modules/unicase/u16-is-uppercase: Likewise.
21606         * modules/unicase/u16-prefix-context: Likewise.
21607         * modules/unicase/u16-suffix-context: Likewise.
21608         * modules/unicase/u16-tolower: Likewise.
21609         * modules/unicase/u16-totitle: Likewise.
21610         * modules/unicase/u16-toupper: Likewise.
21611         * modules/unicase/u32-casecmp: Likewise.
21612         * modules/unicase/u32-casecoll: Likewise.
21613         * modules/unicase/u32-casefold: Likewise.
21614         * modules/unicase/u32-casexfrm: Likewise.
21615         * modules/unicase/u32-ct-casefold: Likewise.
21616         * modules/unicase/u32-ct-tolower: Likewise.
21617         * modules/unicase/u32-ct-totitle: Likewise.
21618         * modules/unicase/u32-ct-toupper: Likewise.
21619         * modules/unicase/u32-is-cased: Likewise.
21620         * modules/unicase/u32-is-casefolded: Likewise.
21621         * modules/unicase/u32-is-lowercase: Likewise.
21622         * modules/unicase/u32-is-titlecase: Likewise.
21623         * modules/unicase/u32-is-uppercase: Likewise.
21624         * modules/unicase/u32-prefix-context: Likewise.
21625         * modules/unicase/u32-suffix-context: Likewise.
21626         * modules/unicase/u32-tolower: Likewise.
21627         * modules/unicase/u32-totitle: Likewise.
21628         * modules/unicase/u32-toupper: Likewise.
21629         * modules/unicase/ulc-casecmp: Likewise.
21630         * modules/unicase/ulc-casecoll: Likewise.
21631         * modules/unicase/ulc-casexfrm: Likewise.
21632         * modules/uniconv/u8-conv-from-enc: Likewise.
21633         * modules/uniconv/u8-conv-to-enc: Likewise.
21634         * modules/uniconv/u8-strconv-from-enc: Likewise.
21635         * modules/uniconv/u8-strconv-from-locale: Likewise.
21636         * modules/uniconv/u8-strconv-to-enc: Likewise.
21637         * modules/uniconv/u8-strconv-to-locale: Likewise.
21638         * modules/uniconv/u16-conv-from-enc: Likewise.
21639         * modules/uniconv/u16-conv-to-enc: Likewise.
21640         * modules/uniconv/u16-strconv-from-enc: Likewise.
21641         * modules/uniconv/u16-strconv-from-locale: Likewise.
21642         * modules/uniconv/u16-strconv-to-enc: Likewise.
21643         * modules/uniconv/u16-strconv-to-locale: Likewise.
21644         * modules/uniconv/u32-conv-from-enc: Likewise.
21645         * modules/uniconv/u32-conv-to-enc: Likewise.
21646         * modules/uniconv/u32-strconv-from-enc: Likewise.
21647         * modules/uniconv/u32-strconv-from-locale: Likewise.
21648         * modules/uniconv/u32-strconv-to-enc: Likewise.
21649         * modules/uniconv/u32-strconv-to-locale: Likewise.
21650         * modules/unictype/bidicategory-byname: Likewise.
21651         * modules/unictype/bidicategory-name: Likewise.
21652         * modules/unictype/bidicategory-of: Likewise.
21653         * modules/unictype/bidicategory-test: Likewise.
21654         * modules/unictype/block-list: Likewise.
21655         * modules/unictype/block-test: Likewise.
21656         * modules/unictype/category-C: Likewise.
21657         * modules/unictype/category-Cc: Likewise.
21658         * modules/unictype/category-Cf: Likewise.
21659         * modules/unictype/category-Cn: Likewise.
21660         * modules/unictype/category-Co: Likewise.
21661         * modules/unictype/category-Cs: Likewise.
21662         * modules/unictype/category-L: Likewise.
21663         * modules/unictype/category-Ll: Likewise.
21664         * modules/unictype/category-Lm: Likewise.
21665         * modules/unictype/category-Lo: Likewise.
21666         * modules/unictype/category-Lt: Likewise.
21667         * modules/unictype/category-Lu: Likewise.
21668         * modules/unictype/category-M: Likewise.
21669         * modules/unictype/category-Mc: Likewise.
21670         * modules/unictype/category-Me: Likewise.
21671         * modules/unictype/category-Mn: Likewise.
21672         * modules/unictype/category-N: Likewise.
21673         * modules/unictype/category-Nd: Likewise.
21674         * modules/unictype/category-Nl: Likewise.
21675         * modules/unictype/category-No: Likewise.
21676         * modules/unictype/category-P: Likewise.
21677         * modules/unictype/category-Pc: Likewise.
21678         * modules/unictype/category-Pd: Likewise.
21679         * modules/unictype/category-Pe: Likewise.
21680         * modules/unictype/category-Pf: Likewise.
21681         * modules/unictype/category-Pi: Likewise.
21682         * modules/unictype/category-Po: Likewise.
21683         * modules/unictype/category-Ps: Likewise.
21684         * modules/unictype/category-S: Likewise.
21685         * modules/unictype/category-Sc: Likewise.
21686         * modules/unictype/category-Sk: Likewise.
21687         * modules/unictype/category-Sm: Likewise.
21688         * modules/unictype/category-So: Likewise.
21689         * modules/unictype/category-Z: Likewise.
21690         * modules/unictype/category-Zl: Likewise.
21691         * modules/unictype/category-Zp: Likewise.
21692         * modules/unictype/category-Zs: Likewise.
21693         * modules/unictype/category-and: Likewise.
21694         * modules/unictype/category-and-not: Likewise.
21695         * modules/unictype/category-byname: Likewise.
21696         * modules/unictype/category-name: Likewise.
21697         * modules/unictype/category-none: Likewise.
21698         * modules/unictype/category-of: Likewise.
21699         * modules/unictype/category-or: Likewise.
21700         * modules/unictype/category-test: Likewise.
21701         * modules/unictype/combining-class: Likewise.
21702         * modules/unictype/ctype-alnum: Likewise.
21703         * modules/unictype/ctype-alpha: Likewise.
21704         * modules/unictype/ctype-blank: Likewise.
21705         * modules/unictype/ctype-cntrl: Likewise.
21706         * modules/unictype/ctype-digit: Likewise.
21707         * modules/unictype/ctype-graph: Likewise.
21708         * modules/unictype/ctype-lower: Likewise.
21709         * modules/unictype/ctype-print: Likewise.
21710         * modules/unictype/ctype-punct: Likewise.
21711         * modules/unictype/ctype-space: Likewise.
21712         * modules/unictype/ctype-upper: Likewise.
21713         * modules/unictype/ctype-xdigit: Likewise.
21714         * modules/unictype/decimal-digit: Likewise.
21715         * modules/unictype/digit: Likewise.
21716         * modules/unictype/mirror: Likewise.
21717         * modules/unictype/numeric: Likewise.
21718         * modules/unictype/property-alphabetic: Likewise.
21719         * modules/unictype/property-ascii-hex-digit: Likewise.
21720         * modules/unictype/property-bidi-arabic-digit: Likewise.
21721         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
21722         * modules/unictype/property-bidi-block-separator: Likewise.
21723         * modules/unictype/property-bidi-boundary-neutral: Likewise.
21724         * modules/unictype/property-bidi-common-separator: Likewise.
21725         * modules/unictype/property-bidi-control: Likewise.
21726         * modules/unictype/property-bidi-embedding-or-override: Likewise.
21727         * modules/unictype/property-bidi-eur-num-separator: Likewise.
21728         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
21729         * modules/unictype/property-bidi-european-digit: Likewise.
21730         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
21731         * modules/unictype/property-bidi-left-to-right: Likewise.
21732         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
21733         * modules/unictype/property-bidi-other-neutral: Likewise.
21734         * modules/unictype/property-bidi-pdf: Likewise.
21735         * modules/unictype/property-bidi-segment-separator: Likewise.
21736         * modules/unictype/property-bidi-whitespace: Likewise.
21737         * modules/unictype/property-byname: Likewise.
21738         * modules/unictype/property-combining: Likewise.
21739         * modules/unictype/property-composite: Likewise.
21740         * modules/unictype/property-currency-symbol: Likewise.
21741         * modules/unictype/property-dash: Likewise.
21742         * modules/unictype/property-decimal-digit: Likewise.
21743         * modules/unictype/property-default-ignorable-code-point: Likewise.
21744         * modules/unictype/property-deprecated: Likewise.
21745         * modules/unictype/property-diacritic: Likewise.
21746         * modules/unictype/property-extender: Likewise.
21747         * modules/unictype/property-format-control: Likewise.
21748         * modules/unictype/property-grapheme-base: Likewise.
21749         * modules/unictype/property-grapheme-extend: Likewise.
21750         * modules/unictype/property-grapheme-link: Likewise.
21751         * modules/unictype/property-hex-digit: Likewise.
21752         * modules/unictype/property-hyphen: Likewise.
21753         * modules/unictype/property-id-continue: Likewise.
21754         * modules/unictype/property-id-start: Likewise.
21755         * modules/unictype/property-ideographic: Likewise.
21756         * modules/unictype/property-ids-binary-operator: Likewise.
21757         * modules/unictype/property-ids-trinary-operator: Likewise.
21758         * modules/unictype/property-ignorable-control: Likewise.
21759         * modules/unictype/property-iso-control: Likewise.
21760         * modules/unictype/property-join-control: Likewise.
21761         * modules/unictype/property-left-of-pair: Likewise.
21762         * modules/unictype/property-line-separator: Likewise.
21763         * modules/unictype/property-logical-order-exception: Likewise.
21764         * modules/unictype/property-lowercase: Likewise.
21765         * modules/unictype/property-math: Likewise.
21766         * modules/unictype/property-non-break: Likewise.
21767         * modules/unictype/property-not-a-character: Likewise.
21768         * modules/unictype/property-numeric: Likewise.
21769         * modules/unictype/property-other-alphabetic: Likewise.
21770         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
21771         * modules/unictype/property-other-grapheme-extend: Likewise.
21772         * modules/unictype/property-other-id-continue: Likewise.
21773         * modules/unictype/property-other-id-start: Likewise.
21774         * modules/unictype/property-other-lowercase: Likewise.
21775         * modules/unictype/property-other-math: Likewise.
21776         * modules/unictype/property-other-uppercase: Likewise.
21777         * modules/unictype/property-paired-punctuation: Likewise.
21778         * modules/unictype/property-paragraph-separator: Likewise.
21779         * modules/unictype/property-pattern-syntax: Likewise.
21780         * modules/unictype/property-pattern-white-space: Likewise.
21781         * modules/unictype/property-private-use: Likewise.
21782         * modules/unictype/property-punctuation: Likewise.
21783         * modules/unictype/property-quotation-mark: Likewise.
21784         * modules/unictype/property-radical: Likewise.
21785         * modules/unictype/property-sentence-terminal: Likewise.
21786         * modules/unictype/property-soft-dotted: Likewise.
21787         * modules/unictype/property-space: Likewise.
21788         * modules/unictype/property-terminal-punctuation: Likewise.
21789         * modules/unictype/property-test: Likewise.
21790         * modules/unictype/property-titlecase: Likewise.
21791         * modules/unictype/property-unassigned-code-value: Likewise.
21792         * modules/unictype/property-unified-ideograph: Likewise.
21793         * modules/unictype/property-uppercase: Likewise.
21794         * modules/unictype/property-variation-selector: Likewise.
21795         * modules/unictype/property-white-space: Likewise.
21796         * modules/unictype/property-xid-continue: Likewise.
21797         * modules/unictype/property-xid-start: Likewise.
21798         * modules/unictype/property-zero-width: Likewise.
21799         * modules/unictype/scripts: Likewise.
21800         * modules/unictype/syntax-c-ident: Likewise.
21801         * modules/unictype/syntax-c-whitespace: Likewise.
21802         * modules/unictype/syntax-java-ident: Likewise.
21803         * modules/unictype/syntax-java-whitespace: Likewise.
21804         * modules/unilbrk/u8-possible-linebreaks: Likewise.
21805         * modules/unilbrk/u8-width-linebreaks: Likewise.
21806         * modules/unilbrk/u16-possible-linebreaks: Likewise.
21807         * modules/unilbrk/u16-width-linebreaks: Likewise.
21808         * modules/unilbrk/u32-possible-linebreaks: Likewise.
21809         * modules/unilbrk/u32-width-linebreaks: Likewise.
21810         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
21811         * modules/unilbrk/ulc-width-linebreaks: Likewise.
21812         * modules/uniname/uniname: Likewise.
21813         * modules/uninorm/canonical-decomposition: Likewise.
21814         * modules/uninorm/composition: Likewise.
21815         * modules/uninorm/decomposing-form: Likewise.
21816         * modules/uninorm/decomposition: Likewise.
21817         * modules/uninorm/filter: Likewise.
21818         * modules/uninorm/nfc: Likewise.
21819         * modules/uninorm/nfd: Likewise.
21820         * modules/uninorm/nfkc: Likewise.
21821         * modules/uninorm/nfkd: Likewise.
21822         * modules/uninorm/u8-normalize: Likewise.
21823         * modules/uninorm/u8-normcmp: Likewise.
21824         * modules/uninorm/u8-normcoll: Likewise.
21825         * modules/uninorm/u8-normxfrm: Likewise.
21826         * modules/uninorm/u16-normalize: Likewise.
21827         * modules/uninorm/u16-normcmp: Likewise.
21828         * modules/uninorm/u16-normcoll: Likewise.
21829         * modules/uninorm/u16-normxfrm: Likewise.
21830         * modules/uninorm/u32-normalize: Likewise.
21831         * modules/uninorm/u32-normcmp: Likewise.
21832         * modules/uninorm/u32-normcoll: Likewise.
21833         * modules/uninorm/u32-normxfrm: Likewise.
21834         * modules/unistdio/u8-asnprintf: Likewise.
21835         * modules/unistdio/u8-asprintf: Likewise.
21836         * modules/unistdio/u8-snprintf: Likewise.
21837         * modules/unistdio/u8-sprintf: Likewise.
21838         * modules/unistdio/u8-u8-asnprintf: Likewise.
21839         * modules/unistdio/u8-u8-asprintf: Likewise.
21840         * modules/unistdio/u8-u8-snprintf: Likewise.
21841         * modules/unistdio/u8-u8-sprintf: Likewise.
21842         * modules/unistdio/u8-u8-vasnprintf: Likewise.
21843         * modules/unistdio/u8-u8-vasprintf: Likewise.
21844         * modules/unistdio/u8-u8-vsnprintf: Likewise.
21845         * modules/unistdio/u8-u8-vsprintf: Likewise.
21846         * modules/unistdio/u8-vasnprintf: Likewise.
21847         * modules/unistdio/u8-vasprintf: Likewise.
21848         * modules/unistdio/u8-vsnprintf: Likewise.
21849         * modules/unistdio/u8-vsprintf: Likewise.
21850         * modules/unistdio/u16-asnprintf: Likewise.
21851         * modules/unistdio/u16-asprintf: Likewise.
21852         * modules/unistdio/u16-snprintf: Likewise.
21853         * modules/unistdio/u16-sprintf: Likewise.
21854         * modules/unistdio/u16-u16-asnprintf: Likewise.
21855         * modules/unistdio/u16-u16-asprintf: Likewise.
21856         * modules/unistdio/u16-u16-snprintf: Likewise.
21857         * modules/unistdio/u16-u16-sprintf: Likewise.
21858         * modules/unistdio/u16-u16-vasnprintf: Likewise.
21859         * modules/unistdio/u16-u16-vasprintf: Likewise.
21860         * modules/unistdio/u16-u16-vsnprintf: Likewise.
21861         * modules/unistdio/u16-u16-vsprintf: Likewise.
21862         * modules/unistdio/u16-vasnprintf: Likewise.
21863         * modules/unistdio/u16-vasprintf: Likewise.
21864         * modules/unistdio/u16-vsnprintf: Likewise.
21865         * modules/unistdio/u16-vsprintf: Likewise.
21866         * modules/unistdio/u32-asnprintf: Likewise.
21867         * modules/unistdio/u32-asprintf: Likewise.
21868         * modules/unistdio/u32-snprintf: Likewise.
21869         * modules/unistdio/u32-sprintf: Likewise.
21870         * modules/unistdio/u32-u32-asnprintf: Likewise.
21871         * modules/unistdio/u32-u32-asprintf: Likewise.
21872         * modules/unistdio/u32-u32-snprintf: Likewise.
21873         * modules/unistdio/u32-u32-sprintf: Likewise.
21874         * modules/unistdio/u32-u32-vasnprintf: Likewise.
21875         * modules/unistdio/u32-u32-vasprintf: Likewise.
21876         * modules/unistdio/u32-u32-vsnprintf: Likewise.
21877         * modules/unistdio/u32-u32-vsprintf: Likewise.
21878         * modules/unistdio/u32-vasnprintf: Likewise.
21879         * modules/unistdio/u32-vasprintf: Likewise.
21880         * modules/unistdio/u32-vsnprintf: Likewise.
21881         * modules/unistdio/u32-vsprintf: Likewise.
21882         * modules/unistdio/ulc-asnprintf: Likewise.
21883         * modules/unistdio/ulc-asprintf: Likewise.
21884         * modules/unistdio/ulc-fprintf: Likewise.
21885         * modules/unistdio/ulc-snprintf: Likewise.
21886         * modules/unistdio/ulc-sprintf: Likewise.
21887         * modules/unistdio/ulc-vasnprintf: Likewise.
21888         * modules/unistdio/ulc-vasprintf: Likewise.
21889         * modules/unistdio/ulc-vfprintf: Likewise.
21890         * modules/unistdio/ulc-vsnprintf: Likewise.
21891         * modules/unistdio/ulc-vsprintf: Likewise.
21892         * modules/unistr/u8-check: Likewise.
21893         * modules/unistr/u8-chr: Likewise.
21894         * modules/unistr/u8-cmp: Likewise.
21895         * modules/unistr/u8-cmp2: Likewise.
21896         * modules/unistr/u8-cpy: Likewise.
21897         * modules/unistr/u8-cpy-alloc: Likewise.
21898         * modules/unistr/u8-endswith: Likewise.
21899         * modules/unistr/u8-mblen: Likewise.
21900         * modules/unistr/u8-mbsnlen: Likewise.
21901         * modules/unistr/u8-mbtouc: Likewise.
21902         * modules/unistr/u8-mbtouc-unsafe: Likewise.
21903         * modules/unistr/u8-mbtoucr: Likewise.
21904         * modules/unistr/u8-move: Likewise.
21905         * modules/unistr/u8-next: Likewise.
21906         * modules/unistr/u8-prev: Likewise.
21907         * modules/unistr/u8-set: Likewise.
21908         * modules/unistr/u8-startswith: Likewise.
21909         * modules/unistr/u8-stpcpy: Likewise.
21910         * modules/unistr/u8-stpncpy: Likewise.
21911         * modules/unistr/u8-strcat: Likewise.
21912         * modules/unistr/u8-strchr: Likewise.
21913         * modules/unistr/u8-strcmp: Likewise.
21914         * modules/unistr/u8-strcoll: Likewise.
21915         * modules/unistr/u8-strcpy: Likewise.
21916         * modules/unistr/u8-strcspn: Likewise.
21917         * modules/unistr/u8-strdup: Likewise.
21918         * modules/unistr/u8-strlen: Likewise.
21919         * modules/unistr/u8-strmblen: Likewise.
21920         * modules/unistr/u8-strmbtouc: Likewise.
21921         * modules/unistr/u8-strncat: Likewise.
21922         * modules/unistr/u8-strncmp: Likewise.
21923         * modules/unistr/u8-strncpy: Likewise.
21924         * modules/unistr/u8-strnlen: Likewise.
21925         * modules/unistr/u8-strpbrk: Likewise.
21926         * modules/unistr/u8-strrchr: Likewise.
21927         * modules/unistr/u8-strspn: Likewise.
21928         * modules/unistr/u8-strstr: Likewise.
21929         * modules/unistr/u8-strtok: Likewise.
21930         * modules/unistr/u8-to-u16: Likewise.
21931         * modules/unistr/u8-to-u32: Likewise.
21932         * modules/unistr/u8-uctomb: Likewise.
21933         * modules/unistr/u16-check: Likewise.
21934         * modules/unistr/u16-chr: Likewise.
21935         * modules/unistr/u16-cmp: Likewise.
21936         * modules/unistr/u16-cmp2: Likewise.
21937         * modules/unistr/u16-cpy: Likewise.
21938         * modules/unistr/u16-cpy-alloc: Likewise.
21939         * modules/unistr/u16-endswith: Likewise.
21940         * modules/unistr/u16-mblen: Likewise.
21941         * modules/unistr/u16-mbsnlen: Likewise.
21942         * modules/unistr/u16-mbtouc: Likewise.
21943         * modules/unistr/u16-mbtouc-unsafe: Likewise.
21944         * modules/unistr/u16-mbtoucr: Likewise.
21945         * modules/unistr/u16-move: Likewise.
21946         * modules/unistr/u16-next: Likewise.
21947         * modules/unistr/u16-prev: Likewise.
21948         * modules/unistr/u16-set: Likewise.
21949         * modules/unistr/u16-startswith: Likewise.
21950         * modules/unistr/u16-stpcpy: Likewise.
21951         * modules/unistr/u16-stpncpy: Likewise.
21952         * modules/unistr/u16-strcat: Likewise.
21953         * modules/unistr/u16-strchr: Likewise.
21954         * modules/unistr/u16-strcmp: Likewise.
21955         * modules/unistr/u16-strcoll: Likewise.
21956         * modules/unistr/u16-strcpy: Likewise.
21957         * modules/unistr/u16-strcspn: Likewise.
21958         * modules/unistr/u16-strdup: Likewise.
21959         * modules/unistr/u16-strlen: Likewise.
21960         * modules/unistr/u16-strmblen: Likewise.
21961         * modules/unistr/u16-strmbtouc: Likewise.
21962         * modules/unistr/u16-strncat: Likewise.
21963         * modules/unistr/u16-strncmp: Likewise.
21964         * modules/unistr/u16-strncpy: Likewise.
21965         * modules/unistr/u16-strnlen: Likewise.
21966         * modules/unistr/u16-strpbrk: Likewise.
21967         * modules/unistr/u16-strrchr: Likewise.
21968         * modules/unistr/u16-strspn: Likewise.
21969         * modules/unistr/u16-strstr: Likewise.
21970         * modules/unistr/u16-strtok: Likewise.
21971         * modules/unistr/u16-to-u32: Likewise.
21972         * modules/unistr/u16-to-u8: Likewise.
21973         * modules/unistr/u16-uctomb: Likewise.
21974         * modules/unistr/u32-check: Likewise.
21975         * modules/unistr/u32-chr: Likewise.
21976         * modules/unistr/u32-cmp: Likewise.
21977         * modules/unistr/u32-cmp2: Likewise.
21978         * modules/unistr/u32-cpy: Likewise.
21979         * modules/unistr/u32-cpy-alloc: Likewise.
21980         * modules/unistr/u32-endswith: Likewise.
21981         * modules/unistr/u32-mblen: Likewise.
21982         * modules/unistr/u32-mbsnlen: Likewise.
21983         * modules/unistr/u32-mbtouc: Likewise.
21984         * modules/unistr/u32-mbtouc-unsafe: Likewise.
21985         * modules/unistr/u32-mbtoucr: Likewise.
21986         * modules/unistr/u32-move: Likewise.
21987         * modules/unistr/u32-next: Likewise.
21988         * modules/unistr/u32-prev: Likewise.
21989         * modules/unistr/u32-set: Likewise.
21990         * modules/unistr/u32-startswith: Likewise.
21991         * modules/unistr/u32-stpcpy: Likewise.
21992         * modules/unistr/u32-stpncpy: Likewise.
21993         * modules/unistr/u32-strcat: Likewise.
21994         * modules/unistr/u32-strchr: Likewise.
21995         * modules/unistr/u32-strcmp: Likewise.
21996         * modules/unistr/u32-strcoll: Likewise.
21997         * modules/unistr/u32-strcpy: Likewise.
21998         * modules/unistr/u32-strcspn: Likewise.
21999         * modules/unistr/u32-strdup: Likewise.
22000         * modules/unistr/u32-strlen: Likewise.
22001         * modules/unistr/u32-strmblen: Likewise.
22002         * modules/unistr/u32-strmbtouc: Likewise.
22003         * modules/unistr/u32-strncat: Likewise.
22004         * modules/unistr/u32-strncmp: Likewise.
22005         * modules/unistr/u32-strncpy: Likewise.
22006         * modules/unistr/u32-strnlen: Likewise.
22007         * modules/unistr/u32-strpbrk: Likewise.
22008         * modules/unistr/u32-strrchr: Likewise.
22009         * modules/unistr/u32-strspn: Likewise.
22010         * modules/unistr/u32-strstr: Likewise.
22011         * modules/unistr/u32-strtok: Likewise.
22012         * modules/unistr/u32-to-u16: Likewise.
22013         * modules/unistr/u32-to-u8: Likewise.
22014         * modules/unistr/u32-uctomb: Likewise.
22015         * modules/uniwbrk/u8-wordbreaks: Likewise.
22016         * modules/uniwbrk/u16-wordbreaks: Likewise.
22017         * modules/uniwbrk/u32-wordbreaks: Likewise.
22018         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22019         * modules/uniwbrk/wordbreak-property: Likewise.
22020         * modules/uniwidth/u8-strwidth: Likewise.
22021         * modules/uniwidth/u8-width: Likewise.
22022         * modules/uniwidth/u16-strwidth: Likewise.
22023         * modules/uniwidth/u16-width: Likewise.
22024         * modules/uniwidth/u32-strwidth: Likewise.
22025         * modules/uniwidth/u32-width: Likewise.
22026         * modules/uniwidth/width: Likewise.
22027         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22028         with $(LIBUNISTRING).
22029         * modules/unicase/ignorable-tests: Likewise.
22030         * modules/unicase/locale-language-tests: Likewise.
22031         * modules/unicase/tolower-tests: Likewise.
22032         * modules/unicase/totitle-tests: Likewise.
22033         * modules/unicase/toupper-tests: Likewise.
22034         * modules/unicase/u8-casecmp-tests: Likewise.
22035         * modules/unicase/u8-casecoll-tests: Likewise.
22036         * modules/unicase/u8-casefold-tests: Likewise.
22037         * modules/unicase/u8-is-cased-tests: Likewise.
22038         * modules/unicase/u8-is-casefolded-tests: Likewise.
22039         * modules/unicase/u8-is-lowercase-tests: Likewise.
22040         * modules/unicase/u8-is-titlecase-tests: Likewise.
22041         * modules/unicase/u8-is-uppercase-tests: Likewise.
22042         * modules/unicase/u8-tolower-tests: Likewise.
22043         * modules/unicase/u8-totitle-tests: Likewise.
22044         * modules/unicase/u8-toupper-tests: Likewise.
22045         * modules/unicase/u16-casecmp-tests: Likewise.
22046         * modules/unicase/u16-casecoll-tests: Likewise.
22047         * modules/unicase/u16-casefold-tests: Likewise.
22048         * modules/unicase/u16-is-cased-tests: Likewise.
22049         * modules/unicase/u16-is-casefolded-tests: Likewise.
22050         * modules/unicase/u16-is-lowercase-tests: Likewise.
22051         * modules/unicase/u16-is-titlecase-tests: Likewise.
22052         * modules/unicase/u16-is-uppercase-tests: Likewise.
22053         * modules/unicase/u16-tolower-tests: Likewise.
22054         * modules/unicase/u16-totitle-tests: Likewise.
22055         * modules/unicase/u16-toupper-tests: Likewise.
22056         * modules/unicase/u32-casecmp-tests: Likewise.
22057         * modules/unicase/u32-casecoll-tests: Likewise.
22058         * modules/unicase/u32-casefold-tests: Likewise.
22059         * modules/unicase/u32-is-cased-tests: Likewise.
22060         * modules/unicase/u32-is-casefolded-tests: Likewise.
22061         * modules/unicase/u32-is-lowercase-tests: Likewise.
22062         * modules/unicase/u32-is-titlecase-tests: Likewise.
22063         * modules/unicase/u32-is-uppercase-tests: Likewise.
22064         * modules/unicase/u32-tolower-tests: Likewise.
22065         * modules/unicase/u32-totitle-tests: Likewise.
22066         * modules/unicase/u32-toupper-tests: Likewise.
22067         * modules/unicase/ulc-casecmp-tests: Likewise.
22068         * modules/unicase/ulc-casecoll-tests: Likewise.
22069         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22070         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22071         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22072         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22073         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22074         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22075         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22076         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22077         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22078         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22079         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22080         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22081         * modules/unictype/bidicategory-byname-tests: Likewise.
22082         * modules/unictype/bidicategory-name-tests: Likewise.
22083         * modules/unictype/bidicategory-of-tests: Likewise.
22084         * modules/unictype/bidicategory-test-tests: Likewise.
22085         * modules/unictype/block-list-tests: Likewise.
22086         * modules/unictype/block-of-tests: Likewise.
22087         * modules/unictype/block-test-tests: Likewise.
22088         * modules/unictype/category-C-tests: Likewise.
22089         * modules/unictype/category-Cc-tests: Likewise.
22090         * modules/unictype/category-Cf-tests: Likewise.
22091         * modules/unictype/category-Cn-tests: Likewise.
22092         * modules/unictype/category-Co-tests: Likewise.
22093         * modules/unictype/category-Cs-tests: Likewise.
22094         * modules/unictype/category-L-tests: Likewise.
22095         * modules/unictype/category-Ll-tests: Likewise.
22096         * modules/unictype/category-Lm-tests: Likewise.
22097         * modules/unictype/category-Lo-tests: Likewise.
22098         * modules/unictype/category-Lt-tests: Likewise.
22099         * modules/unictype/category-Lu-tests: Likewise.
22100         * modules/unictype/category-M-tests: Likewise.
22101         * modules/unictype/category-Mc-tests: Likewise.
22102         * modules/unictype/category-Me-tests: Likewise.
22103         * modules/unictype/category-Mn-tests: Likewise.
22104         * modules/unictype/category-N-tests: Likewise.
22105         * modules/unictype/category-Nd-tests: Likewise.
22106         * modules/unictype/category-Nl-tests: Likewise.
22107         * modules/unictype/category-No-tests: Likewise.
22108         * modules/unictype/category-P-tests: Likewise.
22109         * modules/unictype/category-Pc-tests: Likewise.
22110         * modules/unictype/category-Pd-tests: Likewise.
22111         * modules/unictype/category-Pe-tests: Likewise.
22112         * modules/unictype/category-Pf-tests: Likewise.
22113         * modules/unictype/category-Pi-tests: Likewise.
22114         * modules/unictype/category-Po-tests: Likewise.
22115         * modules/unictype/category-Ps-tests: Likewise.
22116         * modules/unictype/category-S-tests: Likewise.
22117         * modules/unictype/category-Sc-tests: Likewise.
22118         * modules/unictype/category-Sk-tests: Likewise.
22119         * modules/unictype/category-Sm-tests: Likewise.
22120         * modules/unictype/category-So-tests: Likewise.
22121         * modules/unictype/category-Z-tests: Likewise.
22122         * modules/unictype/category-Zl-tests: Likewise.
22123         * modules/unictype/category-Zp-tests: Likewise.
22124         * modules/unictype/category-Zs-tests: Likewise.
22125         * modules/unictype/category-and-not-tests: Likewise.
22126         * modules/unictype/category-and-tests: Likewise.
22127         * modules/unictype/category-byname-tests: Likewise.
22128         * modules/unictype/category-name-tests: Likewise.
22129         * modules/unictype/category-none-tests: Likewise.
22130         * modules/unictype/category-of-tests: Likewise.
22131         * modules/unictype/category-or-tests: Likewise.
22132         * modules/unictype/category-test-withtable-tests: Likewise.
22133         * modules/unictype/combining-class-tests: Likewise.
22134         * modules/unictype/ctype-alnum-tests: Likewise.
22135         * modules/unictype/ctype-alpha-tests: Likewise.
22136         * modules/unictype/ctype-blank-tests: Likewise.
22137         * modules/unictype/ctype-cntrl-tests: Likewise.
22138         * modules/unictype/ctype-digit-tests: Likewise.
22139         * modules/unictype/ctype-graph-tests: Likewise.
22140         * modules/unictype/ctype-lower-tests: Likewise.
22141         * modules/unictype/ctype-print-tests: Likewise.
22142         * modules/unictype/ctype-punct-tests: Likewise.
22143         * modules/unictype/ctype-space-tests: Likewise.
22144         * modules/unictype/ctype-upper-tests: Likewise.
22145         * modules/unictype/ctype-xdigit-tests: Likewise.
22146         * modules/unictype/decimal-digit-tests: Likewise.
22147         * modules/unictype/digit-tests: Likewise.
22148         * modules/unictype/mirror-tests: Likewise.
22149         * modules/unictype/numeric-tests: Likewise.
22150         * modules/unictype/property-alphabetic-tests: Likewise.
22151         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22152         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22153         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22154         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22155         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22156         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22157         * modules/unictype/property-bidi-control-tests: Likewise.
22158         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22159         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22160         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22161         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22162         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22163         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22164         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22165         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22166         * modules/unictype/property-bidi-pdf-tests: Likewise.
22167         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22168         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22169         * modules/unictype/property-byname-tests: Likewise.
22170         * modules/unictype/property-combining-tests: Likewise.
22171         * modules/unictype/property-composite-tests: Likewise.
22172         * modules/unictype/property-currency-symbol-tests: Likewise.
22173         * modules/unictype/property-dash-tests: Likewise.
22174         * modules/unictype/property-decimal-digit-tests: Likewise.
22175         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22176         * modules/unictype/property-deprecated-tests: Likewise.
22177         * modules/unictype/property-diacritic-tests: Likewise.
22178         * modules/unictype/property-extender-tests: Likewise.
22179         * modules/unictype/property-format-control-tests: Likewise.
22180         * modules/unictype/property-grapheme-base-tests: Likewise.
22181         * modules/unictype/property-grapheme-extend-tests: Likewise.
22182         * modules/unictype/property-grapheme-link-tests: Likewise.
22183         * modules/unictype/property-hex-digit-tests: Likewise.
22184         * modules/unictype/property-hyphen-tests: Likewise.
22185         * modules/unictype/property-id-continue-tests: Likewise.
22186         * modules/unictype/property-id-start-tests: Likewise.
22187         * modules/unictype/property-ideographic-tests: Likewise.
22188         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22189         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22190         * modules/unictype/property-ignorable-control-tests: Likewise.
22191         * modules/unictype/property-iso-control-tests: Likewise.
22192         * modules/unictype/property-join-control-tests: Likewise.
22193         * modules/unictype/property-left-of-pair-tests: Likewise.
22194         * modules/unictype/property-line-separator-tests: Likewise.
22195         * modules/unictype/property-logical-order-exception-tests: Likewise.
22196         * modules/unictype/property-lowercase-tests: Likewise.
22197         * modules/unictype/property-math-tests: Likewise.
22198         * modules/unictype/property-non-break-tests: Likewise.
22199         * modules/unictype/property-not-a-character-tests: Likewise.
22200         * modules/unictype/property-numeric-tests: Likewise.
22201         * modules/unictype/property-other-alphabetic-tests: Likewise.
22202         * modules/unictype/property-other-default-ignorable-code-point-tests:
22203         Likewise.
22204         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22205         * modules/unictype/property-other-id-continue-tests: Likewise.
22206         * modules/unictype/property-other-id-start-tests: Likewise.
22207         * modules/unictype/property-other-lowercase-tests: Likewise.
22208         * modules/unictype/property-other-math-tests: Likewise.
22209         * modules/unictype/property-other-uppercase-tests: Likewise.
22210         * modules/unictype/property-paired-punctuation-tests: Likewise.
22211         * modules/unictype/property-paragraph-separator-tests: Likewise.
22212         * modules/unictype/property-pattern-syntax-tests: Likewise.
22213         * modules/unictype/property-pattern-white-space-tests: Likewise.
22214         * modules/unictype/property-private-use-tests: Likewise.
22215         * modules/unictype/property-punctuation-tests: Likewise.
22216         * modules/unictype/property-quotation-mark-tests: Likewise.
22217         * modules/unictype/property-radical-tests: Likewise.
22218         * modules/unictype/property-sentence-terminal-tests: Likewise.
22219         * modules/unictype/property-soft-dotted-tests: Likewise.
22220         * modules/unictype/property-space-tests: Likewise.
22221         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22222         * modules/unictype/property-test-tests: Likewise.
22223         * modules/unictype/property-titlecase-tests: Likewise.
22224         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22225         * modules/unictype/property-unified-ideograph-tests: Likewise.
22226         * modules/unictype/property-uppercase-tests: Likewise.
22227         * modules/unictype/property-variation-selector-tests: Likewise.
22228         * modules/unictype/property-white-space-tests: Likewise.
22229         * modules/unictype/property-xid-continue-tests: Likewise.
22230         * modules/unictype/property-xid-start-tests: Likewise.
22231         * modules/unictype/property-zero-width-tests: Likewise.
22232         * modules/unictype/scripts-tests: Likewise.
22233         * modules/unictype/syntax-c-ident-tests: Likewise.
22234         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22235         * modules/unictype/syntax-java-ident-tests: Likewise.
22236         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22237         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22238         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22239         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22240         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22241         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22242         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22243         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22244         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22245         * modules/uniname/uniname-tests: Likewise.
22246         * modules/uninorm/canonical-decomposition-tests: Likewise.
22247         * modules/uninorm/compat-decomposition-tests: Likewise.
22248         * modules/uninorm/composition-tests: Likewise.
22249         * modules/uninorm/decomposing-form-tests: Likewise.
22250         * modules/uninorm/decomposition-tests: Likewise.
22251         * modules/uninorm/filter-tests: Likewise.
22252         * modules/uninorm/nfc-tests: Likewise.
22253         * modules/uninorm/nfd-tests: Likewise.
22254         * modules/uninorm/nfkc-tests: Likewise.
22255         * modules/uninorm/nfkd-tests: Likewise.
22256         * modules/uninorm/u8-normcmp-tests: Likewise.
22257         * modules/uninorm/u8-normcoll-tests: Likewise.
22258         * modules/uninorm/u16-normcmp-tests: Likewise.
22259         * modules/uninorm/u16-normcoll-tests: Likewise.
22260         * modules/uninorm/u32-normcmp-tests: Likewise.
22261         * modules/uninorm/u32-normcoll-tests: Likewise.
22262         * modules/unistdio/u8-asnprintf-tests: Likewise.
22263         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22264         * modules/unistdio/u8-vasprintf-tests: Likewise.
22265         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22266         * modules/unistdio/u8-vsprintf-tests: Likewise.
22267         * modules/unistdio/u16-asnprintf-tests: Likewise.
22268         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22269         * modules/unistdio/u16-vasprintf-tests: Likewise.
22270         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22271         * modules/unistdio/u16-vsprintf-tests: Likewise.
22272         * modules/unistdio/u32-asnprintf-tests: Likewise.
22273         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22274         * modules/unistdio/u32-vasprintf-tests: Likewise.
22275         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22276         * modules/unistdio/u32-vsprintf-tests: Likewise.
22277         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22278         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22279         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22280         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22281         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22282         * modules/unistr/u8-check-tests: Likewise.
22283         * modules/unistr/u8-chr-tests: Likewise.
22284         * modules/unistr/u8-cmp-tests: Likewise.
22285         * modules/unistr/u8-cmp2-tests: Likewise.
22286         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22287         * modules/unistr/u8-cpy-tests: Likewise.
22288         * modules/unistr/u8-mblen-tests: Likewise.
22289         * modules/unistr/u8-mbsnlen-tests: Likewise.
22290         * modules/unistr/u8-mbtouc-tests: Likewise.
22291         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22292         * modules/unistr/u8-mbtoucr-tests: Likewise.
22293         * modules/unistr/u8-move-tests: Likewise.
22294         * modules/unistr/u8-next-tests: Likewise.
22295         * modules/unistr/u8-prev-tests: Likewise.
22296         * modules/unistr/u8-set-tests: Likewise.
22297         * modules/unistr/u8-stpcpy-tests: Likewise.
22298         * modules/unistr/u8-stpncpy-tests: Likewise.
22299         * modules/unistr/u8-strcat-tests: Likewise.
22300         * modules/unistr/u8-strcmp-tests: Likewise.
22301         * modules/unistr/u8-strcoll-tests: Likewise.
22302         * modules/unistr/u8-strcpy-tests: Likewise.
22303         * modules/unistr/u8-strdup-tests: Likewise.
22304         * modules/unistr/u8-strlen-tests: Likewise.
22305         * modules/unistr/u8-strmblen-tests: Likewise.
22306         * modules/unistr/u8-strmbtouc-tests: Likewise.
22307         * modules/unistr/u8-strncat-tests: Likewise.
22308         * modules/unistr/u8-strncmp-tests: Likewise.
22309         * modules/unistr/u8-strncpy-tests: Likewise.
22310         * modules/unistr/u8-strnlen-tests: Likewise.
22311         * modules/unistr/u8-to-u16-tests: Likewise.
22312         * modules/unistr/u8-to-u32-tests: Likewise.
22313         * modules/unistr/u8-uctomb-tests: Likewise.
22314         * modules/unistr/u16-check-tests: Likewise.
22315         * modules/unistr/u16-chr-tests: Likewise.
22316         * modules/unistr/u16-cmp-tests: Likewise.
22317         * modules/unistr/u16-cmp2-tests: Likewise.
22318         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22319         * modules/unistr/u16-cpy-tests: Likewise.
22320         * modules/unistr/u16-mblen-tests: Likewise.
22321         * modules/unistr/u16-mbsnlen-tests: Likewise.
22322         * modules/unistr/u16-mbtouc-tests: Likewise.
22323         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22324         * modules/unistr/u16-mbtoucr-tests: Likewise.
22325         * modules/unistr/u16-move-tests: Likewise.
22326         * modules/unistr/u16-next-tests: Likewise.
22327         * modules/unistr/u16-prev-tests: Likewise.
22328         * modules/unistr/u16-set-tests: Likewise.
22329         * modules/unistr/u16-stpcpy-tests: Likewise.
22330         * modules/unistr/u16-stpncpy-tests: Likewise.
22331         * modules/unistr/u16-strcat-tests: Likewise.
22332         * modules/unistr/u16-strcmp-tests: Likewise.
22333         * modules/unistr/u16-strcoll-tests: Likewise.
22334         * modules/unistr/u16-strcpy-tests: Likewise.
22335         * modules/unistr/u16-strdup-tests: Likewise.
22336         * modules/unistr/u16-strlen-tests: Likewise.
22337         * modules/unistr/u16-strmblen-tests: Likewise.
22338         * modules/unistr/u16-strmbtouc-tests: Likewise.
22339         * modules/unistr/u16-strncat-tests: Likewise.
22340         * modules/unistr/u16-strncmp-tests: Likewise.
22341         * modules/unistr/u16-strncpy-tests: Likewise.
22342         * modules/unistr/u16-strnlen-tests: Likewise.
22343         * modules/unistr/u16-to-u32-tests: Likewise.
22344         * modules/unistr/u16-to-u8-tests: Likewise.
22345         * modules/unistr/u16-uctomb-tests: Likewise.
22346         * modules/unistr/u32-check-tests: Likewise.
22347         * modules/unistr/u32-chr-tests: Likewise.
22348         * modules/unistr/u32-cmp-tests: Likewise.
22349         * modules/unistr/u32-cmp2-tests: Likewise.
22350         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22351         * modules/unistr/u32-cpy-tests: Likewise.
22352         * modules/unistr/u32-mblen-tests: Likewise.
22353         * modules/unistr/u32-mbsnlen-tests: Likewise.
22354         * modules/unistr/u32-mbtouc-tests: Likewise.
22355         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22356         * modules/unistr/u32-mbtoucr-tests: Likewise.
22357         * modules/unistr/u32-move-tests: Likewise.
22358         * modules/unistr/u32-next-tests: Likewise.
22359         * modules/unistr/u32-prev-tests: Likewise.
22360         * modules/unistr/u32-set-tests: Likewise.
22361         * modules/unistr/u32-stpcpy-tests: Likewise.
22362         * modules/unistr/u32-stpncpy-tests: Likewise.
22363         * modules/unistr/u32-strcat-tests: Likewise.
22364         * modules/unistr/u32-strcmp-tests: Likewise.
22365         * modules/unistr/u32-strcoll-tests: Likewise.
22366         * modules/unistr/u32-strcpy-tests: Likewise.
22367         * modules/unistr/u32-strdup-tests: Likewise.
22368         * modules/unistr/u32-strlen-tests: Likewise.
22369         * modules/unistr/u32-strmblen-tests: Likewise.
22370         * modules/unistr/u32-strmbtouc-tests: Likewise.
22371         * modules/unistr/u32-strncat-tests: Likewise.
22372         * modules/unistr/u32-strncmp-tests: Likewise.
22373         * modules/unistr/u32-strncpy-tests: Likewise.
22374         * modules/unistr/u32-strnlen-tests: Likewise.
22375         * modules/unistr/u32-to-u16-tests: Likewise.
22376         * modules/unistr/u32-to-u8-tests: Likewise.
22377         * modules/unistr/u32-uctomb-tests: Likewise.
22378         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22379         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22380         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22381         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22382         * modules/uniwidth/u8-strwidth-tests: Likewise.
22383         * modules/uniwidth/u8-width-tests: Likewise.
22384         * modules/uniwidth/u16-strwidth-tests: Likewise.
22385         * modules/uniwidth/u16-width-tests: Likewise.
22386         * modules/uniwidth/u32-strwidth-tests: Likewise.
22387         * modules/uniwidth/u32-width-tests: Likewise.
22388         * modules/uniwidth/width-tests: Likewise.
22389
22390 2010-05-18  Richard Jones  <rjones@redhat.com>
22391
22392         doc: users.txt: list hivex
22393         * users.txt: Add hivex.
22394
22395 2010-05-18  Richard Jones  <rjones@redhat.com>
22396
22397         doc: users.txt: list febootstrap
22398         * users.txt: Add febootstrap.
22399
22400 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22401
22402         bootstrap: fix an error when gnulib is not used as a git submodule
22403         * build-aux/bootstrap (gnulib_path): If its length is zero then
22404         assign "gnulib" to it.
22405         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22406
22407 2010-05-16  Bruno Haible  <bruno@clisp.org>
22408
22409         Avoid autoconf warnings about AM_ICONV.
22410         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22411         2.64.
22412
22413 2010-05-16  Bruno Haible  <bruno@clisp.org>
22414
22415         absolute-header: Make the macro usable in more situations.
22416         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22417         from gl_ABSOLUTE_HEADER.
22418         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22419
22420 2010-05-16  James Youngman  <jay@gnu.org>
22421
22422         doc: update users.txt
22423         * users.txt: Add CSSC.
22424
22425 2010-05-16  Jim Meyering  <meyering@redhat.com>
22426
22427         init.sh: fix an error in the previous change; add more comments
22428         * tests/init.sh: Compare exit code in loop against 9, not 2.
22429         Patch by Bruno Haible.
22430         Make the two tests more similar by adding an empty "then" clause.
22431         Add comments.
22432
22433         init.sh: avoid unnecessary shell re-exec
22434         * tests/init.sh: Improve the re-exec-required check to first test the
22435         current shell.  If it passes the test, do not search for a shell that
22436         does pass, and do not re-exec.  This test is particularly contorted to
22437         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22438         of $(...) evokes a syntax error and causes immediate shell exit with
22439         status 2.  Bruno Haible reported that the re-exec made it impossible
22440         to single-step through any init.sh-using script.
22441
22442 2010-05-16  Bruno Haible  <bruno@clisp.org>
22443
22444         Fix collision between gnulib's and libintl's printf replacements.
22445         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22446         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22447         (printf): When using GNU C, map the __printf__ function to rpl_printf
22448         via __asm__. When not using GNU C, define rpl_printf instead of
22449         __printf__.
22450         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22451         commit.
22452         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22453         commit.
22454         * m4/asm-underscore.m4: New file.
22455         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22456         * modules/stdio (Files): Add m4/asm-underscore.m4.
22457         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22458         Reported by Ben Pfaff.
22459
22460 2010-05-16  Bruno Haible  <bruno@clisp.org>
22461
22462         verify: Avoid skipping the test on openSUSE 11.0.
22463         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22464
22465 2010-05-13  Bruno Haible  <bruno@clisp.org>
22466
22467         Avoid useless warnings from G++.
22468         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
22469         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
22470         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22471
22472 2010-05-11  Jim Meyering  <meyering@redhat.com>
22473
22474         maint.mk: tweak preceding change
22475         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
22476         regexps tighter by anchoring at EOL, and make the new group "shy"
22477         for slightly decreased overhead.
22478
22479 2010-05-11  Eric Blake  <eblake@redhat.com>
22480
22481         maint.mk: gnulib doesn't guarantee NSIG
22482         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
22483
22484 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22485
22486         test-pwrite.c: Remove unused variable declaration.
22487         * tests/test-pwrite.c (main): Remove read_buf declaration.
22488
22489         Remove useless test-pwrite.sh file.
22490         * tests/test-pwrite.sh: Delete file.
22491         * modules/pwrite-tests: Remove references.
22492         Reported by Bruno Haible.
22493
22494 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22495
22496         init.sh: fix a typo
22497         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
22498
22499 2010-05-10  Jim Meyering  <meyering@redhat.com>
22500
22501         maint.mk: avoid using a temporary file in the always-defined-macros check
22502         * top/maint.mk (.re-defmac): Remove rule.
22503         (gl_trap_): Remove definition.
22504         (sc_prohibit_always-defined_macros): Rewrite not to create and
22505         depend on a temporary file.  Instead, depend on GNU grep's ability
22506         to read a list of regular expressions from stdin when given "-f -".
22507
22508 2010-05-09  Bruno Haible  <bruno@clisp.org>
22509
22510         Update to GNU gettext 0.18, part 1.
22511         * m4/gettext.m4: Update to GNU gettext 0.18.
22512         * m4/intl.m4: Likewise.
22513         * m4/po.m4: Likewise.
22514         * modules/gettext (Files): Add m4/fcntl-o.m4.
22515         (configure.ac): Require gettext infrastructure from version 0.18.
22516
22517 2010-05-09  Jim Meyering  <meyering@redhat.com>
22518
22519         init.sh: enable MALLOC_PERTURB_
22520         * tests/init.sh: Enable glibc's malloc-perturbing option.
22521
22522         maint.mk: improve sc_cross_check_PATH_usage_in_tests
22523         With my recent change in init.sh from the two-line form:
22524             -#   : ${srcdir=.}
22525             -#   . "$srcdir/init.sh"; path_prepend_ .
22526             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
22527         I noticed that using the one-line form would cause this test
22528         to fail with a false-positive, or to stop working altogether,
22529         depending on whether help-version changed or all the tests did.
22530         * top/maint.mk (_hv_regex): Remove this definition.
22531         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
22532         (_hv_regex_strong): Use a stronger regex to check for conformance.
22533         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
22534         Give a separate diagnostic for lack of conforming use.
22535
22536         maint.mk: prohibit definition of symbols defined by gnulib
22537         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
22538         definition of symbols defined by gnulib.
22539
22540 2010-05-09  Bruno Haible  <bruno@clisp.org>
22541
22542         acl: Avoid test failure on Cygwin-hosted mingw.
22543         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
22544
22545 2010-05-09  Bruno Haible  <bruno@clisp.org>
22546
22547         error: Use system's fcntl function.
22548         * lib/error.c (fcntl): Undefine.
22549
22550 2010-05-09  Jim Meyering  <meyering@redhat.com>
22551
22552         verify: adjust formatting to be more consistent
22553         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
22554         argument-list '('s, and after one comma.
22555
22556 2010-05-09  Bruno Haible  <bruno@clisp.org>
22557
22558         error: More reliable output on mingw.
22559         * lib/error.c: Include <windows.h>.
22560         (is_open): New function.
22561         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
22562         defined.
22563
22564 2010-05-09  Bruno Haible  <bruno@clisp.org>
22565
22566         vasnprintf: Fix syntax errors in libintl build on mingw.
22567         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
22568         pad_ourselves and prec_ourselves after use.
22569
22570 2010-05-08  Bruno Haible  <bruno@clisp.org>
22571
22572         * lib/config.charset: Update comments for Cygwin 1.7.
22573         * lib/localcharset.c: Likewise.
22574
22575 2010-05-07  Jim Meyering  <meyering@redhat.com>
22576
22577         init.sh: improve comments
22578         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
22579         . "${srcdir=.}/init.sh"; path_prepend_ .
22580         Add a note about path_prepend_ and the alternative of using
22581         TESTS_ENVIRONMENT.
22582
22583 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
22584
22585         exclude: Unescape hashed patterns in wildcard mode.
22586         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
22587         to the hash list.
22588         * tests/test-exclude8.sh: New test case.
22589         * modules/exclude-tests: Add new test.
22590
22591 2010-05-05  Eric Blake  <eblake@redhat.com>
22592
22593         verify: automate tests
22594         * modules/verify-tests: New module.
22595         * tests/test-verify.sh: New file.
22596         * tests/test-verify.c: Guard each negative test with a unique id.
22597         Also avoid warning about unused left hand of comma expressions.
22598
22599 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22600
22601         Further improvements to verify.h, suggested by Eric Blake.
22602         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
22603         the GL_* versions, to avoid collision with OpenGL.
22604         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
22605         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
22606         than testing merely whether it's defined.
22607
22608         Modify verify.h to pacify gcc -Wredundant_decls.
22609         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
22610         These use the prefix "GL_" since they're likely to be useful elsewhere.
22611         We may need to break them out into a different .h file.
22612         (__COUNTER__): Define to 0 if the compiler doesn't support it.
22613         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
22614         of verify_function__.
22615
22616 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22617
22618         Tests for module pwrite.
22619         * modules/pwrite-tests: New file.
22620         * tests/test-pwrite.sh: New file.
22621         * tests/test-pwrite.c: New file.
22622
22623         New module pwrite.
22624         * lib/unistd.in.h (pwrite): New declaration.
22625         * lib/pwrite.c: New file, from glibc with modifications.
22626         * m4/pwrite.m4: New file.
22627         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
22628         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
22629         REPLACE_PWRITE.
22630         * modules/pwrite: New file.
22631         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
22632         REPLACE_PWRITE.
22633         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
22634         * doc/posix-functions/pwrite.texi: Mention the new module.
22635
22636 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22637
22638         pread: Update documentation.
22639         * doc/posix-functions/pread.texi: Mention the 'pread' module.
22640
22641 2010-05-04  Eric Blake  <eblake@redhat.com>
22642
22643         docs: update cygwin progress
22644         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
22645         this bug.
22646         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
22647         Added in cygwin 1.7.2.
22648         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
22649         Likewise.
22650         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
22651         Likewise.
22652         * doc/glibc-functions/dup3.texi (dup3): Likewise.
22653         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
22654         * doc/glibc-functions/accept4.texi (accept4): Likewise.
22655         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
22656         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
22657         Mention nproc module.
22658         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
22659         bug in cygwin 1.7.5 addition.
22660         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
22661         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
22662         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
22663         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
22664         1.7.5.
22665         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
22666         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
22667         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
22668         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
22669         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
22670         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
22671         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
22672         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
22673         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
22674         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
22675         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
22676         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
22677         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
22678         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
22679         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
22680         Likewise.
22681         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
22682         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
22683         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
22684         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
22685         Likewise.
22686         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
22687         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
22688         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
22689         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
22690         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
22691         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
22692         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
22693         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
22694         Likewise.
22695         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
22696         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
22697         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
22698         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
22699         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
22700         Likewise.
22701         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
22702         Likewise.
22703         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
22704         Likewise.
22705         * doc/glibc-functions/xdrrec_endofrecord.texi
22706         (xdrrec_endofrecord): Likewise.
22707         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
22708         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
22709         Likewise.
22710         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
22711         Likewise.
22712
22713 2010-05-04  Jim Meyering  <meyering@redhat.com>
22714
22715         gendocs.sh: make its "-s FILE" option more useful
22716         * build-aux/gendocs.sh: When honoring the -s FILE option, update
22717         $PACKAGE to reflect the probably-different basename of "FILE".
22718
22719 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
22720
22721         bootstrap: don't ignore download_po_files failure
22722         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
22723         failure.
22724
22725 2010-05-03  Jim Meyering  <meyering@redhat.com>
22726
22727         maint.mk: allow to pass options to gendocs.sh
22728         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
22729         (gendocs_options_): New overridable variable.
22730
22731         gnu-web-doc-update: don't ignore configure or build failure
22732         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
22733
22734         announce-gen: backslash-escape '@'s in --help output
22735         * build-aux/announce-gen: Fix syntax errors.
22736
22737         maint.mk, announce-gen: allow project-specific announcement mail headers
22738         * top/maint.mk (translation_project_): Define default.
22739         (announcement_Cc_, announcement_mail_headers_): Likewise.
22740         (announcement): Invoke announce-gen with new --mail-headers option.
22741         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
22742
22743         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
22744         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
22745         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
22746         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
22747         line in the "err2" output file when running "make check" in verbose
22748         mode (i.e., with set -x enabled).
22749
22750 2010-05-03  Bruno Haible  <bruno@clisp.org>
22751
22752         wctob: Fix for weird platforms.
22753         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
22754         argument value.
22755
22756 2010-05-03  Jim Meyering  <meyering@redhat.com>
22757
22758         maint.mk: prohibit unwarranted use of <strings.h>
22759         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
22760         strings.h in a file that does not also use strcasecmp, strncasecmp,
22761         ffs or ffsll.
22762
22763         maint.mk: remove obsolete comments
22764         * top/maint.mk: Remove stale, commented-out rules.
22765
22766 2010-05-02  Bruno Haible  <bruno@clisp.org>
22767
22768         wcwidth: Declare also when it's aliased.
22769         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
22770         macro.
22771
22772 2010-05-02  Bruno Haible  <bruno@clisp.org>
22773
22774         Fix regression from 2010-04-25.
22775         * gnulib-tool (func_modules_transitive_closure): Check the status of
22776         all modules, not only of the tests that are of the form foo-tests where
22777         foo is a module.
22778
22779 2010-05-02  Bruno Haible  <bruno@clisp.org>
22780
22781         wctob: Work around nasty Cygwin 1.7.2 bug.
22782         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
22783         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
22784
22785 2010-05-01  Bruno Haible  <bruno@clisp.org>
22786
22787         fpurge: Sharper test.
22788         * tests/test-fpurge.c (main): Add one more ftell check.
22789         * modules/fpurge-tests (Depends-on): Add ftell.
22790         Suggested by Eric Blake.
22791
22792 2010-05-01  Bruno Haible  <bruno@clisp.org>
22793
22794         ftello: Another test.
22795         * tests/test-ftello3.c: New file.
22796         * modules/ftello-tests (Files): Add it.
22797         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
22798         MOSTLYCLEANFILES.
22799
22800         ftell: Another test.
22801         * tests/test-ftell3.c: New file.
22802         * modules/ftell-tests (Files): Add it.
22803         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
22804         MOSTLYCLEANFILES.
22805
22806 2010-05-01  Bruno Haible  <bruno@clisp.org>
22807
22808         ftell, ftello: Work around Solaris bug.
22809         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
22810         * lib/ftello.c: Include stdio-impl.h.
22811         (ftello): On Solaris, when _IOWRT is set, compute the result without
22812         looking at _IOREAD.
22813         * modules/ftello (Files): Add lib/stdio-impl.h.
22814         * doc/posix-functions/ftell.texi: Mention Solaris bug.
22815         * doc/posix-functions/ftello.texi: Likewise.
22816         Reported by Eric Blake.
22817
22818 2010-05-01  Bruno Haible  <bruno@clisp.org>
22819
22820         freading: Adapt to special meaning of _IOREAD flag on Solaris.
22821         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
22822         the _IOWRT flag is also set.
22823
22824 2010-05-01  Bruno Haible  <bruno@clisp.org>
22825
22826         Fix doc about a HP-UX stdio bug.
22827         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
22828         * doc/posix-functions/ftello.texi: Likewise.
22829
22830 2010-05-01  Bruno Haible  <bruno@clisp.org>
22831
22832         lseek test: Fix failure on Solaris.
22833         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
22834         output.
22835
22836 2010-04-30  Jim Meyering  <meyering@redhat.com>
22837
22838         bootstrap: don't ignore failure to generate po*/Makevars
22839         * build-aux/bootstrap (with_gettext): Don't ignore failure
22840         to create po/Makevars or runtime-po/Makevars.
22841
22842 2010-04-29  Eric Blake  <eblake@redhat.com>
22843
22844         headers: relax license to LGPLv2+
22845         * modules/fcntl-h (License): Relax license.
22846         * modules/getopt-posix (License): Likewise.
22847         * modules/locale (License): Likewise.
22848         * modules/math (License): Likewise.
22849         * modules/pty (License): Likewise.
22850         * modules/sched (License): Likewise.
22851         * modules/search (License): Likewise.
22852         * modules/spawn (License): Likewise.
22853         * modules/stdarg (License): Likewise.
22854         * modules/sysexits (License): Likewise.
22855
22856 2010-04-29  Jim Meyering  <meyering@redhat.com>
22857
22858         inttypes: relax license to LGPLv2+
22859         * modules/inttypes (License): Relax license.
22860
22861 2010-04-29  Simon Josefsson  <simon@josefsson.org>
22862
22863         * top/maint.mk (indent): Run twice to produce idempotent results.
22864
22865 2010-04-28  Bruno Haible  <bruno@clisp.org>
22866
22867         getdate: Generate getdate.c in the source directory.
22868         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
22869         MOSTLYCLEANFILES.
22870         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
22871
22872 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
22873
22874         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
22875         is not declared as a const *; avoid warnings in that case.
22876
22877 2010-04-28  Eric Blake  <eblake@redhat.com>
22878
22879         canonicalize-lgpl: avoid compiler warning
22880         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
22881         declaration' / 'extraneous semicolon' warning with some compilers.
22882         Reported by Andreas Gruenbacher.
22883
22884 2010-04-28  Jim Meyering  <meyering@redhat.com>
22885
22886         init.sh: ensure a more reliable exit status when exiting via trap
22887         * tests/init.sh (setup_): Don't rely on $? in signal handler.
22888         Inspired by patches from Dmitry V. Levin.
22889         Also trap on signal 3 (SIGQUIT).
22890
22891 2010-04-27  Bruno Haible  <bruno@clisp.org>
22892
22893         Update doc about utimes().
22894         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
22895         'utimens' module.
22896         Reported by Andreas Gruenbacher <agruen@suse.de>.
22897
22898 2010-04-27  Eric Blake  <eblake@redhat.com>
22899
22900         full-read, full-write: relax license
22901         * modules/full-read (License): Drop to LGPLv2+.
22902         * modules/full-write (License): Likewise.
22903         * modules/safe-read (License): Likewise.
22904         * modules/safe-write (License): Likewise.
22905
22906         pthread: mention library for linking
22907         * modules/pthread (Link): Mention $(LIB_PTHREAD).
22908
22909 2010-04-27  Jim Meyering  <meyering@redhat.com>
22910
22911         maint.mk: fix a bug introduced in last change
22912         * top/maint.mk (gl_assured_headers_): Now that all names are on
22913         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
22914         is not anchored to end of word, it should be adequate.
22915
22916         maint.mk: avoid side-effect in latest syntax-check
22917         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
22918         to run commands via $(shell...), and hence to incur cost only when
22919         the new rule is actually run.
22920
22921         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
22922         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
22923         and use that to create a regexp used to detect all #if HAVE_..._H uses.
22924         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
22925         (gl_assured_headers_, az_, AZ_): Define.
22926         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
22927
22928 2010-04-26  Jim Meyering  <jim@meyering.net>
22929             Bruno Haible  <bruno@clisp.org>
22930
22931         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
22932         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
22933         Prompted by an exchange with Gilles Espinasse.
22934
22935 2010-04-26  Jim Meyering  <meyering@redhat.com>
22936
22937         git-version-gen: aesthetic tweak
22938         * build-aux/git-version-gen: Use "$nl" rather than a literal,
22939         so that the command remains on a single line.
22940
22941 2010-04-26  Eric Blake  <eblake@redhat.com>
22942
22943         git-version-gen: allow use on EBCDIC hosts
22944         * build-aux/git-version-gen (dirty): Use literal rather than tying
22945         ourselves to ascii.
22946         Reported by Steve Goetze.
22947
22948 2010-04-25  Bruno Haible  <bruno@clisp.org>
22949
22950         netdb: Add support for GNULIB_POSIXCHECK.
22951         * lib/netdb.in.h: Include warn-on-use.h.
22952         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
22953         functions are used when GNULIB_POSIXCHECK is defined and the
22954         getaddrinfo module is not in use.
22955         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
22956         freeaddrinfo, gai_strerror, getnameinfo are declared.
22957         * modules/netdb (Depends-on): Add warn-on-use.
22958         (Makefile.am): Include warn-on-use.h in netdb.h.
22959
22960 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
22961
22962         build: avoid "make check" failure without .git/ directory
22963         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
22964         there is no .git/ directory.
22965
22966 2010-04-25  Bruno Haible  <bruno@clisp.org>
22967
22968         ptsname: Fix misuse of ttyname_r.
22969         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
22970         of errno.
22971
22972 2010-04-25  Bruno Haible  <bruno@clisp.org>
22973
22974         ttyname_r: Make it work on Solaris 10.
22975         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
22976         if the system function has the POSIX declaration. Test whether the
22977         function fails if the buffer is less than 128 bytes large.
22978         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
22979         system's ttyname_r function. Provide a reasonably large buffer.
22980         * modules/ttyname_r (Depends-on): Add extensions.
22981         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
22982
22983 2010-04-25  Bruno Haible  <bruno@clisp.org>
22984
22985         Use the 'extensions' module for some more functions on Solaris.
22986         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
22987         module.
22988         * doc/posix-functions/ctime_r.texi: Likewise.
22989         * doc/posix-functions/getgrgid_r.texi: Likewise.
22990         * doc/posix-functions/getgrnam_r.texi: Likewise.
22991         * doc/posix-functions/getpwnam_r.texi: Likewise.
22992         * doc/posix-functions/getpwuid_r.texi: Likewise.
22993         * doc/posix-functions/readdir_r.texi: Likewise.
22994         * doc/posix-functions/sigwait.texi: Likewise.
22995         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
22996         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
22997
22998 2010-04-25  Bruno Haible  <bruno@clisp.org>
22999
23000         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23001         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23002         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23003         * lib/ttyname_r.c: Include <limits.h>.
23004         (ttyname_r): Define using the system's ttyname_r function, if it exists
23005         and not on Solaris.
23006         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23007         set.
23008         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23009         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23010         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23011         Reported by Simon Josefsson.
23012
23013 2010-04-25  Bruno Haible  <bruno@clisp.org>
23014
23015         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23016         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23017         * doc/posix-functions/ctime_r.texi: Likewise.
23018         * doc/posix-functions/getgrgid_r.texi: Likewise.
23019         * doc/posix-functions/getgrnam_r.texi: Likewise.
23020         * doc/posix-functions/getlogin_r.texi: Likewise.
23021         * doc/posix-functions/getpwnam_r.texi: Likewise.
23022         * doc/posix-functions/getpwuid_r.texi: Likewise.
23023         * doc/posix-functions/readdir_r.texi: Likewise.
23024         * doc/posix-functions/sigwait.texi: Likewise.
23025         * doc/posix-functions/ttyname_r.texi: Likewise.
23026         Reported by Simon Josefsson.
23027
23028 2010-04-25  Bruno Haible  <bruno@clisp.org>
23029
23030         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23031         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23032         also to --create-testdir.
23033         (func_acceptable): Don't consider the status of *-tests modules here.
23034         (func_modules_transitive_closure): Consider it here, before including a
23035         test module.
23036         (func_import, func_create_testdir): Set inc_all_direct_tests,
23037         inc_all_indirect_tests.
23038         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23039         --create-testdir and --create-megatestdir.
23040
23041 2010-04-25  Bruno Haible  <bruno@clisp.org>
23042
23043         gnulib-tool: Add --without-*-tests options.
23044         * gnulib-tool (func_usage): Document the --without-*-tests options.
23045         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23046         excl_unportable_tests): New variables.
23047         Fail if they are specified with --import or --update.
23048         (func_acceptable): Respect the excl_*_tests variables.
23049         (func_import): Set the excl_*_tests variables to empty.
23050
23051 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23052             Bruno Haible  <bruno@clisp.org>
23053
23054         Work around a MacOS X 10.4 bug with openpty.
23055         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23056         * tests/test-openpty.c (main): Close the master side explicitly.
23057
23058 2010-04-25  Bruno Haible  <bruno@clisp.org>
23059
23060         strnlen: Fix a C++ test error on MacOS X and Solaris.
23061         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23062         the function is not declared.
23063         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23064         Simon Josefsson.
23065
23066 2010-04-24  Bruno Haible  <bruno@clisp.org>
23067
23068         Avoid a gcc warning.
23069         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23070         of correct type for %08lx directive.
23071         Reported by Eric Blake.
23072
23073 2010-04-24  Bruno Haible  <bruno@clisp.org>
23074
23075         vasnprintf: Correct errno value in case of out-of-memory.
23076         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23077         or sprintf. Use the errno value from SNPRINTF or sprintf.
23078         Reported by Ian Beckwith <ianb@erislabs.net>.
23079
23080 2010-04-24  Bruno Haible  <bruno@clisp.org>
23081
23082         ansi-c++-opt: Find correct compiler when cross-compiling.
23083         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23084         AC_CHECK_PROGS.
23085         Reported by Simon Josefsson.
23086
23087 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23088
23089         vc-list-files: Add support for subversion
23090         * build-aux/vc-list-files: Use "svn list" to generate the list of
23091         files controlled by subversion.
23092
23093 2010-04-23  Jim Meyering  <meyering@redhat.com>
23094
23095         vc-list-files tests: convert to use init.sh
23096         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23097         path_prepend_.
23098         Use Exit, not exit.
23099         Use skip_ rather than open coding it.
23100         Remove trap set-up and compare definitions.
23101         * tests/test-vc-list-files-git.sh: Likewise.
23102         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23103
23104 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23105
23106         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23107         backup files.
23108
23109 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23110
23111         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23112
23113 2010-04-20  Eric Blake  <eblake@redhat.com>
23114
23115         tests: be robust to ignored SIGPIPE
23116         * tests/test-select-in.sh: Consume all output.
23117         * tests/test-lseek.sh: Check correct exit status, while avoiding
23118         EPIPE.
23119
23120 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23121             Bruno Haible  <bruno@clisp.org>
23122
23123         visibility: Don't use -fvisibility if it leads to a warning.
23124         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23125         yes, don't pretend that visibility works if it leads to a warning.
23126         Reported by Mike Gran <spk121@yahoo.com>.
23127
23128 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23129
23130         * build-aux/bootstrap: Use "git -h" for testing for supported options
23131         instead of "git --help".  The short-form option only shows a summary,
23132         and doesn't layout the full man page.  Grep for the full option name
23133         in the summary, too.
23134
23135 2010-04-19  Bruno Haible  <bruno@clisp.org>
23136
23137         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23138         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23139         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23140         mention of RELOCATABLE_STRIP.
23141         Reported by Sylvain Beucler <beuc@beuc.net>.
23142
23143 2010-04-19  Bruno Haible  <bruno@clisp.org>
23144
23145         * lib/diffseq.h: Fix typo in comment.
23146         Reported by Eric Blake.
23147
23148 2010-04-19  Bruno Haible  <bruno@clisp.org>
23149
23150         ioctl: Move autoconf macro to a .m4 file.
23151         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23152         * modules/ioctl (Files): Add it.
23153         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23154         Reported by Ian Beckwith <ianb@erislabs.net>.
23155
23156 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23157             Bruno Haible  <bruno@clisp.org>
23158
23159         diffseq: Accommodate use-case with abstract arrays.
23160         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23161         is not defined.
23162         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23163         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23164
23165 2010-04-18  Bruno Haible  <bruno@clisp.org>
23166
23167         * doc/posix-headers/stdbool.texi: More precise wording.
23168
23169 2010-04-17  Jim Meyering  <meyering@redhat.com>
23170
23171         maint.mk: use gnu-style indentation in an embedded perl script
23172         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23173         Rename variable: s/two/last_two_bytes/
23174
23175 2010-04-16  Eric Blake  <eblake@redhat.com>
23176
23177         test-stdbool: skip test that fails with Solaris CC
23178         * tests/test-stdbool.c (f): Skip test that causes compilation
23179         error under buggy C++ compiler.
23180         * lib/stdbool.in.h: Document the limitation.
23181         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23182
23183         setenv: allow compilation with C++
23184         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23185         register keyword.
23186
23187         stdint: allow test to pass with C++
23188         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23189
23190         getopt: allow compilation with C++
23191         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23192         struct.
23193         * lib/getopt.c (_getopt_internal_r): Use correct type.
23194         Reported by Dagobert Michelson, via Joel E. Denny.
23195
23196 2010-04-16  Bruno Haible  <bruno@clisp.org>
23197
23198         Override netdb.h always.
23199         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23200         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23201         Reported by Ludovic Courtès <ludo@gnu.org>.
23202
23203 2010-04-15  Bruno Haible  <bruno@clisp.org>
23204
23205         openpty: Fix mistake from 2010-03-21.
23206         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23207         Reported by Simon Josefsson.
23208
23209 2010-04-15  Eric Blake  <eblake@redhat.com>
23210
23211         test-forkpty: fix expected signature
23212         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23213         Reported by Simon Josefsson.
23214
23215 2010-04-15  Jim Meyering  <meyering@redhat.com>
23216
23217         maint.mk: texinfo_suffix_re_: correct the default regexp
23218         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23219
23220         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23221         make it configurable via texinfo_suffix_re_.
23222
23223 2010-04-14  Eric Blake  <eblake@redhat.com>
23224
23225         strtok_r: relax license to LGPLv2+
23226         * modules/strtok_r (License): Relax license.
23227         Reported by Matthias Bolte.
23228
23229 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23230
23231         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23232         version 1.4.4 by default instead of requiring the libgcrypt
23233         version used during build.  This makes it possible to use the
23234         application with older but still binary compatible libgcrypt
23235         versions.
23236
23237 2010-04-13  Eric Blake  <eblake@redhat.com>
23238
23239         getopt-gnu: match recent glibc fixes and posix ruling
23240         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23241         '+' handling, when requesting extensions.
23242         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23243         'W;' handling.
23244         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23245         * doc/posix-functions/getopt.texi (getopt): Document this.
23246         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23247         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23248         Likewise.
23249
23250         getopt: merge bug fixes from glibc
23251         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23252         diagnostics.  Honor '+:' correctly.  Reject ';'.
23253
23254         getopt-posix: detect MacOS bug
23255         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23256         optind when missing a required argument.
23257         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23258         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23259         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23260         Likewise.
23261
23262         getopt-posix: avoid spurious failure on Solaris
23263         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23264         an indicator that setting optind=1 is sufficient for reset.
23265
23266         getopt-posix: avoid spurious failure on FreeBSD
23267         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23268         in POSIX mode, since the m4 test uses it.
23269
23270         gnulib-tool: silence warning on BSD sh
23271         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23272
23273 2010-04-13  Jim Meyering  <meyering@redhat.com>
23274
23275         doc: users.txt: GNU patch now uses gnulib
23276         * users.txt: Add patch.
23277
23278 2010-04-12  Jim Meyering  <meyering@redhat.com>
23279
23280         maint.mk: generate more concise timing data for syntax-check rules
23281         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23282         " done" from each line that reports a syntax-check test duration.
23283
23284 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23285
23286         git-version-gen: use "git update-index..." rather than "git status"
23287         * build-aux/git-version-gen: Use git update-index --refresh, not
23288         "git status".  With some versions of git, "git status" would fail
23289         to update the index and result in an unwarranted "-dirty" suffix.
23290
23291 2010-04-11  Jim Meyering  <meyering@redhat.com>
23292
23293         openat: correct formatting (no semantic change)
23294         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23295         Suggested by Bruno Haible.
23296
23297 2010-04-11  Bruno Haible  <bruno@clisp.org>
23298
23299         Stricter declaration checking in testdirs.
23300         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23301         If for_tests is true, augment AM_CPPFLAGS to define
23302         GNULIB_STRICT_CHECKING.
23303         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23304         GNULIB_STRICT_CHECKING is defined, verify that the function is
23305         declared.
23306
23307 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23308             Bruno Haible  <bruno@clisp.org>
23309
23310         libunistring: Improve configure output.
23311         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23312         Don't say "consider installing GNU libunistring" when checking again
23313         with libiconv.
23314
23315 2010-04-11  Bruno Haible  <bruno@clisp.org>
23316
23317         libunistring: Correct value of $LTLIBUNISTRING.
23318         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23319         correct the value of $LTLIBUNISTRING.
23320
23321 2010-04-11  Bruno Haible  <bruno@clisp.org>
23322
23323         havelib: Add static libraries to LIBS in the right order.
23324         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23325         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23326
23327 2010-04-11  Bruno Haible  <bruno@clisp.org>
23328
23329         libunistring: Detect libunistring also when it depends on libiconv.
23330         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23331         the second AC_LIB_HAVE_LINKFLAGS invocation.
23332
23333 2010-04-11  James Youngman  <jay@gnu.org>
23334
23335         close-stream: declare local scalars to be "const"
23336         * lib/close-stream.c (close_stream): Make boolean variables const
23337         to document the fact that we set but do not change them.
23338
23339 2010-04-11  Bruno Haible  <bruno@clisp.org>
23340
23341         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23342
23343 2010-04-11  Jim Meyering  <meyering@redhat.com>
23344
23345         maint.mk: don't include dist-check.mk
23346         * top/maint.mk: Remove bogus include directive.
23347
23348         maint.mk: improve empty-line-at-EOF check
23349         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23350         solution, rather than tail+Perl-based one.  The latter would read
23351         a few kilobytes from the end of each file, and did not handle empty
23352         files properly.
23353
23354         maint.mk: print the elapsed time for each syntax-check rule
23355         * top/maint.mk (sc_m_rules_): Save start time in a file.
23356         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23357         (local-check): Interpose the .z rules
23358
23359 2010-04-11  Jim Meyering  <meyering@redhat.com>
23360
23361         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23362         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23363         empty file with one that ends in an empty line.
23364
23365 2010-04-10  Bruno Haible  <bruno@clisp.org>
23366
23367         mkdir: Make it work on mingw64.
23368         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23369         * lib/mkdir.c: Update comment.
23370         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
23371
23372 2010-04-10  Bruno Haible  <bruno@clisp.org>
23373
23374         Don't override improved macro from newer autoconf.
23375         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23376         autoconf >= 2.62.
23377         Reported by Joel E. Denny <jdenny@clemson.edu>.
23378
23379 2010-04-10  Jim Meyering  <meyering@redhat.com>
23380
23381         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23382         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23383
23384         maint.mk: correct a diagnostic
23385         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23386         in diagnostic; now use $prohibit.
23387
23388 2010-04-10  Bruno Haible  <address@hidden>
23389
23390         fchownat: Fix a C++ test error on Solaris 8.
23391         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23392         the function does not exist.
23393
23394 2010-04-10  Bruno Haible  <bruno@clisp.org>
23395
23396         vasnprintf: Add more tests.
23397         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23398         (test_function): Test converting an invalid wide string.
23399
23400         vasnprintf: Correct handling of unconvertible wide string arguments.
23401         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23402         VASNPRINTF.
23403         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23404         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23405         smaller than the expected maximum need for the directive. Set errno to
23406         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23407         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23408         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23409         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23410         * modules/vasnprintf (Files): Add m4/printf.m4.
23411         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23412
23413 2010-04-10  Bruno Haible  <bruno@clisp.org>
23414
23415         vasnprintf: Fix crash in %ls directive.
23416         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23417         string is passed as argument to %ls, with no precision and no width.
23418         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23419
23420 2010-04-10  Bruno Haible  <bruno@clisp.org>
23421
23422         vasnprintf: Fix multiple test failures on mingw.
23423         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23424         _snprintf, or snwprintf, not _snwprintf.
23425
23426 2010-04-10  Bruno Haible  <bruno@clisp.org>
23427
23428         write: Fix a C++ test error on mingw.
23429         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23430
23431 2010-04-10  Bruno Haible  <bruno@clisp.org>
23432
23433         vasnprintf test: Reduce code duplication.
23434         * tests/test-vasnprintf.c (test_function): New function, extracted from
23435         test_vasnprintf.
23436         (test_vasnprintf, test_asnprintf): Invoke it.
23437
23438 2010-04-10  Bruno Haible  <bruno@clisp.org>
23439
23440         strnlen: Fix warning in C++ mode on MacOS X.
23441         * lib/string.in.h (strnlen): Use the modern idiom.
23442         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23443         defining strnlen as a macro already in <config.h>.
23444         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23445         REPLACE_STRNLEN.
23446         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23447         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23448
23449 2010-04-08  James Youngman  <jay@gnu.org>
23450
23451         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23452         the example.
23453
23454 2010-04-09  Jim Meyering  <meyering@redhat.com>
23455
23456         maint.mk: print better diagnostic when there is no $(_hv_file)
23457         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23458         announce that when $(_hv_file) (aka help-version) does not exist.
23459
23460         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23461         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23462         not try to interpret its random input bytes.  Jarno Rajahalme reported
23463         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23464         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23465         (mktempd_): Likewise, just in case.
23466
23467         ftruncate: add two years to projected module removal date: 2012
23468         * m4/ftruncate.m4: Adjust comments.
23469
23470         ftruncate: mark module as obsolete; even MinGW provides it, now
23471         * modules/ftruncate (Status): Obsolete.
23472         (Notice): Say that.
23473         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
23474         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
23475
23476 2010-04-08  Bruno Haible  <bruno@clisp.org>
23477
23478         Fix side effects from tests-related modules.
23479         * modules/dprintf-posix (Comment): New section.
23480         * modules/fprintf-posix (Comment): Likewise.
23481         * modules/obstack-printf-posix (Comment): Likewise.
23482         * modules/printf-posix (Comment): Likewise.
23483         * modules/snprintf-posix (Comment): Likewise.
23484         * modules/sprintf-posix (Comment): Likewise.
23485         * modules/vasnprintf-posix (Comment): Likewise.
23486         * modules/vasprintf-posix (Comment): Likewise.
23487         * modules/vdprintf-posix (Comment): Likewise.
23488         * modules/vfprintf-posix (Comment): Likewise.
23489         * modules/vprintf-posix (Comment): Likewise.
23490         * modules/vsnprintf-posix (Comment): Likewise.
23491         * modules/vsprintf-posix (Comment): Likewise.
23492         * modules/xprintf-posix (Comment): Likewise.
23493         * modules/xvasprintf-posix (Comment): Likewise.
23494         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
23495         * modules/floorf-tests (Depends-on): Likewise.
23496         * modules/round-tests (Depends-on): Likewise.
23497         * modules/roundf-tests (Depends-on): Likewise.
23498         * modules/trunc-tests (Depends-on): Likewise.
23499         * modules/truncf-tests (Depends-on): Likewise.
23500         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
23501         'fprintf-posix' module is not present.
23502         * tests/test-floorf2.c (check): Likewise.
23503         * tests/test-trunc2.c (check): Likewise.
23504         * tests/test-truncf2.c (check): Likewise.
23505         * tests/test-round2.c (equal): Likewise.
23506         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23507
23508 2010-04-07  Karl Berry  <karl@gnu.org>
23509
23510         * config/srclist.txt,
23511         * config/srclistvars.sh,
23512         * config/srclist-update: doc fixes.
23513
23514 2010-04-07  Jim Meyering  <meyering@redhat.com>
23515
23516         maint.mk: add a PATH crosschecking syntax-check rule
23517         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
23518         Useful if you use a test like the one in help-version (coreutils,
23519         diffutils, grep, gzip) that ensures $(VERSION) matches what is
23520         printed by prog --version.
23521
23522 2010-04-06  Bruno Haible  <bruno@clisp.org>
23523
23524         Fix link error on mingw.
23525         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
23526         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
23527
23528 2010-04-06  Bruno Haible  <bruno@clisp.org>
23529
23530         Assume rmdir exists.
23531         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
23532
23533 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
23534
23535         doc: update users.txt
23536         * users.txt: Add gcal.
23537
23538 2010-04-06  Jim Meyering  <meyering@redhat.com>
23539
23540         init.sh: simply unset TMPDIR rather than risking env -i
23541         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
23542         although it probably works fine on all Unix-based systems, some
23543         systems (Cygwin?) cannot tolerate a totally cleared environment.
23544         Suggestion from Eric Blake.
23545
23546 2010-04-06  Jim Meyering  <meyering@redhat.com>
23547
23548         init.sh: portability fix: use env's POSIX-specified -i option not -u
23549         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
23550         than unportable env -u.  Solaris 5.11's env lacks support for -u.
23551
23552 2010-04-05  Bruno Haible  <bruno@clisp.org>
23553
23554         btowc: Work around Cygwin 1.7.2 bug.
23555         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
23556         does not map NUL to 0.
23557         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
23558
23559 2010-04-05  Bruno Haible  <bruno@clisp.org>
23560
23561         Make the multithread modules work on Cygwin 1.7.2.
23562         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
23563         imported symbols can be declared weak, so that it returns "no" on
23564         Cygwin 1.7.2.
23565
23566 2010-04-05  Bruno Haible  <bruno@clisp.org>
23567
23568         Use the module 'strncat'.
23569         * modules/unistr/u8-strncat (Depends-on): Add strncat.
23570
23571         Tests for module 'strncat'.
23572         * modules/strncat-tests: New file.
23573         * tests/test-strncat.c: New file.
23574
23575         New module 'strncat'.
23576         * lib/string.in.h (strncat): New declaration.
23577         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
23578         * m4/strncat.m4: New file, based on m4/memchr.m4.
23579         * modules/strncat: New file.
23580         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
23581         is declared.
23582         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
23583         REPLACE_STRNCAT.
23584         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
23585         REPLACE_STRNCAT.
23586         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
23587         module.
23588         * tests/test-string-c++.cc: Check signature of strncat.
23589
23590 2010-04-05  Jim Meyering  <meyering@redhat.com>
23591
23592         xstrtoumax-tests: convert to use init.sh
23593         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
23594         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23595         Use Exit, not exit.
23596         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23597
23598         xstrtoimax-tests: convert to use init.sh
23599         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
23600         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23601         Use Exit, not exit.
23602         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23603
23604 2010-04-05  Bruno Haible  <bruno@clisp.org>
23605
23606         sys_socket: Avoid #define replacements in C++ mode.
23607         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
23608         warning to the function if possible, rather than #defining the symbol
23609         to a dysfunctional alias.
23610
23611 2010-04-05  Bruno Haible  <bruno@clisp.org>
23612
23613         fseeko: Fix C++ test error on mingw.
23614         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
23615         gl_FUNC_FSEEKO.
23616         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
23617         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
23618         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
23619         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
23620
23621 2010-04-05  Bruno Haible  <bruno@clisp.org>
23622
23623         duplocale: Improve test output.
23624         * tests/test-duplocale.c (main): Print reason for skipped test.
23625
23626 2010-04-05  Bruno Haible  <bruno@clisp.org>
23627
23628         Assume rmdir exists.
23629         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
23630         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
23631
23632 2010-04-05  Bruno Haible  <bruno@clisp.org>
23633
23634         Fix link error on Solaris 8 with cc.
23635         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
23636
23637 2010-04-05  Bruno Haible  <bruno@clisp.org>
23638
23639         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
23640         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
23641
23642 2010-04-05  Bruno Haible  <bruno@clisp.org>
23643
23644         vasprintf: Update documentation.
23645         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
23646
23647 2010-04-05  Bruno Haible  <bruno@clisp.org>
23648
23649         ptsname: Improve test.
23650         * tests/test-ptsname.c (main): Also try the various master names of BSD
23651         systems.
23652
23653 2010-04-05  Bruno Haible  <bruno@clisp.org>
23654
23655         memchr: Avoid a possible C++ test error.
23656         * lib/string.in.h (memchr): Provide declaration if function is missing.
23657         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
23658         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
23659         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
23660         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
23661
23662 2010-04-05  Bruno Haible  <bruno@clisp.org>
23663
23664         strtok_r: Improve idiom.
23665         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
23666         AC_LIBOBJ is used.
23667
23668 2010-04-05  Bruno Haible  <bruno@clisp.org>
23669
23670         strdup: Improve idiom.
23671         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
23672         AC_LIBOBJ is used.
23673         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
23674         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
23675         when AC_LIBOBJ is used.
23676
23677 2010-04-05  Bruno Haible  <bruno@clisp.org>
23678
23679         mbsinit, mbrtowc, wcrtomb: Improve idioms.
23680         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
23681         don't set REPLACE_MBSINIT to 1.
23682         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
23683         don't set REPLACE_MBRTOWC to 1.
23684         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
23685         exist, don't set REPLACE_MBSRTOWCS to 1.
23686         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
23687         exist, don't set REPLACE_MBSNRTOWCS to 1.
23688         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
23689         don't set REPLACE_WCRTOMB to 1.
23690         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
23691         exist, don't set REPLACE_WCSRTOMBS to 1.
23692         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
23693         exist, don't set REPLACE_WCSNRTOMBS to 1.
23694
23695 2010-04-05  Bruno Haible  <bruno@clisp.org>
23696
23697         ldexpl: Improve idiom.
23698         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
23699         make sure to set HAVE_DECL_LDEXPL to 0.
23700
23701 2010-04-05  Jim Meyering  <meyering@redhat.com>
23702
23703         xstrtol-tests: convert to use init.sh
23704         * modules/xstrtol-tests (Files): Add tests/init.sh.
23705         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23706         Use Exit, not exit.
23707         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23708
23709         atexit-tests: convert to use init.sh
23710         * modules/atexit-tests (Files): Add tests/init.sh.
23711         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23712         Use Exit, not exit.
23713         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23714
23715         init.sh: fix typo
23716         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
23717
23718         init.sh: make it easier for a test script to write to the tty, ...
23719         when using automake's parallel-tests mode.
23720         * tests/init.sh (stderr_fileno_): Define overridable variable.
23721         (warn_): New function, to use it.
23722         (fail_, skip_, framework_failure_): Use warn_.
23723
23724 2010-04-04  Bruno Haible  <bruno@clisp.org>
23725
23726         btowc: Avoid warning.
23727         * lib/btowc.c: Include <stdlib.h>.
23728         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
23729
23730 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
23731             Bruno Haible  <bruno@clisp.org>
23732
23733         wchar: Port to NetBSD 1.5.
23734         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
23735         * lib/wctype.in.h (WEOF): Likewise.
23736
23737 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
23738             Bruno Haible  <bruno@clisp.org>
23739
23740         Port extended stdio to NetBSD 1.5.
23741         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
23742         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
23743         older.
23744
23745 2010-04-04  Bruno Haible  <bruno@clisp.org>
23746
23747         string: Remove unused substitution.
23748         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
23749         HAVE_DECL_STRERROR.
23750         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
23751
23752 2010-04-04  Bruno Haible  <bruno@clisp.org>
23753
23754         strtod: Avoid a possible C++ test error.
23755         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
23756         set REPLACE_STRTOD.
23757
23758 2010-04-04  Bruno Haible  <bruno@clisp.org>
23759
23760         strerror: Update documentation.
23761         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
23762
23763 2010-04-04  Bruno Haible  <bruno@clisp.org>
23764
23765         stdio: Fix some C++ test errors on Solaris 8 with GCC.
23766         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
23767         _GL_CXXALIAS_SYS_CAST.
23768
23769 2010-04-04  Bruno Haible  <bruno@clisp.org>
23770
23771         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
23772         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
23773         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
23774         REPLACE_FREXPL to 1.
23775         * doc/posix-functions/frexpl.texi: Update documentation.
23776
23777 2010-04-04  Bruno Haible  <bruno@clisp.org>
23778
23779         math: Fix some C++ test errors on Solaris 8 and Cygwin.
23780         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
23781
23782 2010-04-04  Bruno Haible  <bruno@clisp.org>
23783
23784         Implement nanosleep for native Windows.
23785         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
23786
23787 2010-04-04  Bruno Haible  <bruno@clisp.org>
23788
23789         math: Fix some C++ test errors on Solaris 8.
23790         * lib/math.in.h (truncf, trunc): Use simpler idiom.
23791
23792 2010-04-04  Bruno Haible  <bruno@clisp.org>
23793
23794         math: Fix some C++ test errors on Cygwin.
23795         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
23796         truncl): Provide declaration if the system does not have it.
23797         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
23798         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
23799         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
23800         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
23801         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
23802         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
23803         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
23804         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
23805         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
23806         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
23807         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
23808         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
23809         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
23810         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
23811         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
23812         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
23813         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
23814         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
23815         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
23816         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
23817         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
23818         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
23819
23820 2010-04-04  Bruno Haible  <bruno@clisp.org>
23821
23822         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
23823         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
23824         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
23825         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
23826         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
23827         * m4/isinf.m4 (gl_ISINF): Likewise.
23828         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23829
23830 2010-04-04  Bruno Haible  <bruno@clisp.org>
23831
23832         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
23833         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23834
23835 2010-04-04  Bruno Haible  <bruno@clisp.org>
23836
23837         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
23838         * modules/tmpfile (configure.ac): Update.
23839
23840         tmpfile: Fix C++ test error on mingw.
23841         * lib/stdio.in.h (tmpfile): New declaration.
23842         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
23843         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
23844         * modules/tmpfile (Depends-on): Add stdio.
23845         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
23846         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
23847         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
23848         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
23849         REPLACE_TMPFILE.
23850         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
23851
23852 2010-04-04  Bruno Haible  <bruno@clisp.org>
23853
23854         ioctl: Fix C++ test error on mingw.
23855         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
23856         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
23857         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
23858
23859 2010-04-03  Bruno Haible  <bruno@clisp.org>
23860
23861         wcwidth: Fix C++ test error on mingw.
23862         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
23863         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
23864         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
23865
23866 2010-04-03  Bruno Haible  <bruno@clisp.org>
23867
23868         nanosleep: Fix C++ test error on mingw.
23869         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
23870         * lib/time.in.h (nanosleep): Use modern idiom.
23871         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
23872         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
23873         REPLACE_NANOSLEEP to 1.
23874         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
23875         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
23876
23877 2010-04-03  Bruno Haible  <bruno@clisp.org>
23878
23879         strptime: Fix C++ test error on mingw.
23880         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
23881         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
23882         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
23883         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
23884         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
23885         not REPLACE_STRPTIME.
23886         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
23887         REPLACE_STRPTIME.
23888
23889 2010-04-03  Bruno Haible  <bruno@clisp.org>
23890
23891         timegm: Fix C++ test error on mingw.
23892         * lib/time.in.h (timegm): Use modern idiom.
23893         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
23894         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
23895         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
23896         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
23897
23898 2010-04-03  Bruno Haible  <bruno@clisp.org>
23899
23900         timegm: Assume declaration if function exists.
23901         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
23902         if it exists. Don't clobber ac_cv_func_timegm.
23903
23904 2010-04-03  Bruno Haible  <bruno@clisp.org>
23905
23906         time_r: Fix C++ test error on mingw.
23907         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
23908         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
23909         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
23910         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
23911         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
23912
23913 2010-04-03  Bruno Haible  <bruno@clisp.org>
23914
23915         time_r: Minor updates.
23916         * modules/time_r (Description): Mention the provided functions.
23917         * lib/time_r.c: Don't include <string.h>.
23918         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
23919         * doc/posix-functions/localtime_r.texi: Likewise.
23920
23921 2010-04-03  Bruno Haible  <bruno@clisp.org>
23922
23923         time: Fix regression introduced on 2010-03-08.
23924         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
23925         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
23926
23927 2010-04-03  Jim Meyering  <meyering@redhat.com>
23928
23929         maint.mk: don't silently disable project-specific syntax-check rules
23930         * top/maint.mk (_prohibit_regexp): Define, to help people realize
23931         that they need to convert their project-specific syntax-check rules
23932         to use the new _sc_search_regexp.
23933
23934 2010-04-03  Bruno Haible  <bruno@clisp.org>
23935
23936         fchdir: Fix regression introduced on 2010-03-08.
23937         * lib/unistd.in.h (fchdir): Fix declaration.
23938         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
23939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
23940         REPLACE_FCHDIR.
23941         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
23942         REPLACE_FCHDIR.
23943
23944 2010-04-03  Bruno Haible  <bruno@clisp.org>
23945
23946         getpagesize: Fix C++ test error on mingw.
23947         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
23948         system does not declare the function.
23949         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
23950         declared.
23951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23952         HAVE_DECL_GETPAGESIZE.
23953         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
23954
23955 2010-04-03  Bruno Haible  <bruno@clisp.org>
23956
23957         stdio: Make C++ tests work on mingw.
23958         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
23959         does not declare the function.
23960
23961 2010-04-03  Bruno Haible  <bruno@clisp.org>
23962
23963         ftello: Fix C++ test error on mingw.
23964         * lib/stdio.in.h (ftello): Use modern idiom.
23965         * lib/ftello.c (ftello): Renamed from rpl_ftello.
23966         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
23967         is missing and that it needs to be replaced.
23968         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
23969         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
23970         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
23971
23972 2010-04-03  Bruno Haible  <bruno@clisp.org>
23973
23974         fseeko: Fix C++ test error on mingw.
23975         * lib/stdio.in.h (fseeko): Use modern idiom.
23976         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
23977         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
23978         is missing and that it needs to be replaced.
23979         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
23980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
23981         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
23982
23983 2010-04-03  Bruno Haible  <bruno@clisp.org>
23984
23985         mkstemp: Fix C++ test error on mingw.
23986         * lib/stdlib.in.h (mkstemp): Use modern idiom.
23987         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
23988         function is missing and that it needs to be replaced.
23989         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
23990         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
23991
23992 2010-04-03  Bruno Haible  <bruno@clisp.org>
23993
23994         stpncpy: Fix C++ test error on mingw.
23995         * lib/string.in.h (stpncpy): Use modern idiom.
23996         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
23997         function is missing and that it needs to be replaced.
23998         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23999         REPLACE_STPNCPY.
24000         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24001
24002 2010-04-03  Bruno Haible  <bruno@clisp.org>
24003
24004         sys_stat: Fix C++ test error on mingw.
24005         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24006         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24007
24008 2010-04-03  Bruno Haible  <bruno@clisp.org>
24009
24010         pty: Update doc.
24011         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24012
24013 2010-04-03  Bruno Haible  <bruno@clisp.org>
24014
24015         unistd: Fix C++ test error on mingw.
24016         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24017
24018 2010-04-03  Bruno Haible  <bruno@clisp.org>
24019
24020         Update doc regarding mingw.
24021         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24022         * doc/glibc-functions/login_tty.texi: Likewise.
24023         * doc/glibc-functions/forkpty.texi: Likewise.
24024
24025 2010-04-03  Bruno Haible  <bruno@clisp.org>
24026
24027         stdlib: Avoid compilation failure of c-strtold on mingw.
24028         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24029
24030 2010-04-03  Bruno Haible  <bruno@clisp.org>
24031
24032         locale: Make C++ tests work on Cygwin and mingw.
24033         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24034         cannot provide the function.
24035         Reported by Simon Josefsson.
24036
24037 2010-04-03  Bruno Haible  <bruno@clisp.org>
24038
24039         localename: Port to MacOS X 10.6.
24040         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24041         memory layout of the locales in MacOS X 10.6 as well.
24042         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24043
24044 2010-04-02  Bruno Haible  <bruno@clisp.org>
24045
24046         gnulib-tool: Ensure that long-running tests are executed last.
24047         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24048         running tests after the one for the other tests.
24049
24050 2010-04-02  Bruno Haible  <bruno@clisp.org>
24051
24052         gnulib-tool: Ensure the tests in the main directory are executed first.
24053         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24054         start with the current directory.
24055
24056 2010-04-02  Bruno Haible  <bruno@clisp.org>
24057
24058         Tests for module 'havelib', moved here from GNU gettext.
24059         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24060         modifications.
24061         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24062         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24063         with modifications.
24064         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24065         modifications.
24066         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24067         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24068         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24069         with modifications.
24070         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24071         with modifications.
24072         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24073         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24074         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24075         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24076         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24077         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24078         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24079         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24080         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24081         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24082         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24083         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24084         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24085         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24086         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24087         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24088         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24089         with modifications.
24090         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24091         with modifications.
24092         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24093         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24094         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24095         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24096         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24097         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24098         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24099         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24100         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24101         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24102         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24103         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24104         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24105         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24106         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24107         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24108         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24109         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24110         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24111         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24112         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24113         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24114         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24115         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24116         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24117         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24118         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24119         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24120         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24121         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24122         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24123         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24124         * tests/havelib/rpathx/rpathx.c: New file, from
24125         gettext/autoconf-lib-link.
24126         * tests/havelib/rpathx/Makefile.am: New file, from
24127         gettext/autoconf-lib-link.
24128         * tests/havelib/rpathx/configure.ac: New file, from
24129         gettext/autoconf-lib-link with modifications.
24130         * tests/havelib/rpathy/rpathy.c: New file, from
24131         gettext/autoconf-lib-link.
24132         * tests/havelib/rpathy/Makefile.am: New file, from
24133         gettext/autoconf-lib-link.
24134         * tests/havelib/rpathy/configure.ac: New file, from
24135         gettext/autoconf-lib-link with modifications.
24136         * tests/havelib/rpathz/rpathz.c: New file, from
24137         gettext/autoconf-lib-link.
24138         * tests/havelib/rpathz/Makefile.am: New file, from
24139         gettext/autoconf-lib-link.
24140         * tests/havelib/rpathz/configure.ac: New file, from
24141         gettext/autoconf-lib-link with modifications.
24142         * tests/havelib/rpathlx/usex.c: New file, from
24143         gettext/autoconf-lib-link.
24144         * tests/havelib/rpathlx/Makefile.am: New file, from
24145         gettext/autoconf-lib-link.
24146         * tests/havelib/rpathlx/configure.ac: New file, from
24147         gettext/autoconf-lib-link with modifications.
24148         * tests/havelib/rpathly/usey.c: New file, from
24149         gettext/autoconf-lib-link.
24150         * tests/havelib/rpathly/Makefile.am: New file, from
24151         gettext/autoconf-lib-link.
24152         * tests/havelib/rpathly/configure.ac: New file, from
24153         gettext/autoconf-lib-link with modifications.
24154         * tests/havelib/rpathlz/usez.c: New file, from
24155         gettext/autoconf-lib-link.
24156         * tests/havelib/rpathlz/Makefile.am: New file, from
24157         gettext/autoconf-lib-link.
24158         * tests/havelib/rpathlz/configure.ac: New file, from
24159         gettext/autoconf-lib-link with modifications.
24160         * tests/havelib/rpathlyx/usey.c: New file, from
24161         gettext/autoconf-lib-link.
24162         * tests/havelib/rpathlyx/Makefile.am: New file, from
24163         gettext/autoconf-lib-link.
24164         * tests/havelib/rpathlyx/configure.ac: New file, from
24165         gettext/autoconf-lib-link with modifications.
24166         * tests/havelib/rpathlzyx/usez.c: New file, from
24167         gettext/autoconf-lib-link.
24168         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24169         gettext/autoconf-lib-link.
24170         * tests/havelib/rpathlzyx/configure.ac: New file, from
24171         gettext/autoconf-lib-link with modifications.
24172         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24173         with modifications.
24174
24175 2010-04-02  Bruno Haible  <bruno@clisp.org>
24176
24177         gnulib-tool: Create distributed built sources also for the tests.
24178         * gnulib-tool (func_create_testdir): Also generate distributed built
24179         sources in the tests directory.
24180
24181 2010-04-02  Bruno Haible  <bruno@clisp.org>
24182
24183         gnulib-tool: Obey user's environment variables.
24184         * gnulib-tool (func_create_testdir): When creating built sources,
24185         respect the environment variables for autoconf, automake, etc. given by
24186         the user.
24187
24188 2010-04-02  Bruno Haible  <bruno@clisp.org>
24189
24190         gnulib-tool: Provide the value of --m4-base to modules.
24191         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24192         of gl_m4_base.
24193
24194 2010-04-02  Eric Blake  <eblake@redhat.com>
24195
24196         maint.mk: fix some fallout
24197         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24198         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24199
24200 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24201
24202         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24203         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24204         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24205         (sc_cast_of_x_alloc_return_value): Likewise.
24206         (sc_cast_of_alloca_return_value): Likewise.
24207         (sc_space_tab): Likewise.
24208         (sc_prohibit_atoi_atof): Likewise.
24209         (sc_prohibit_magic_number_exit): Likewise.
24210         (sc_error_exit_success): Likewise.
24211         (sc_file_system): Likewise.
24212         (sc_prohibit_have_config_h): Likewise.
24213         (sc_require_config_h): Likewise.
24214         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24215         (sc_obsolete_symbols): Likewise.
24216         (sc_changelog): Likewise.
24217         (sc_program_name): Likewise.
24218         (sc_the_the): Likewise.
24219         (sc_trailing_blank): Likewise.
24220         (sc_two_space_separator_in_usage): Likewise.
24221         (sc_useless_cpp_parens): Likewise.
24222         (sc_GPL_version): Likewise.
24223         (sc_GFDL_version): Likewise.
24224         (sc_texinfo_acronym): Likewise.
24225         (sc_prohibit_cvs_keyword): Likewise.
24226         (sc_prohibit_stat_st_blocks): Likewise.
24227         (sc_prohibit_S_IS_definition): Likewise.
24228         (sc_redundant_const): Likewise.
24229         (sc_makefile_TAB_only_indentation): Likewise.
24230         (sc_m4_quote_check): Likewise.
24231         (sc_makefile_path_separator_check): Likewise.
24232         (sc_copyright_check): Likewise.
24233         (sc_Wundef_boolean): Likewise.
24234         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24235
24236         maint.mk: match 0 or more whitespace-before-function-call '('
24237         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24238         that have zero or two-and-more spaces between the function name
24239         and the open parenthesis.
24240         (sc_error_message_warn_fatal): Likewise.
24241         (sc_error_message_uppercase): Likewise.
24242         (sc_error_message_period): Likewise.
24243
24244 2010-03-31  Eric Blake  <eblake@redhat.com>
24245
24246         maint.mk: check for [ as well as test
24247         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24248         Based on a libvirt report by Matthias Bolte.
24249
24250         gnumakefile: don't squelch _version output
24251         * top/GNUmakefile (_version): Create one-shot dependency rather
24252         than using $(shell) when version must be regenerated.
24253         (_autoreconf): Run verbosely, by default.
24254
24255         sys_time: avoid compiler warnings
24256         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24257         unconditional, fixing regression from 2010-03-29.
24258         Reported by Simon Josefsson.
24259
24260 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24261
24262         maint.mk: s/_header_without_use/_sc_header_without_use/
24263         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24264         (sc_prohibit_assert_without_use): Use the new name.
24265         (sc_prohibit_close_stream_without_use): Likewise.
24266         (sc_prohibit_getopt_without_use): Likewise.
24267         (sc_prohibit_quotearg_without_use): Likewise.
24268         (sc_prohibit_quote_without_use): Likewise.
24269         (sc_prohibit_long_options_without_use): Likewise.
24270         (sc_prohibit_inttostr_without_use): Likewise.
24271         (sc_prohibit_ignore_value_without_use): Likewise.
24272         (sc_prohibit_error_without_use): Likewise.
24273         (sc_prohibit_xalloc_without_use): Likewise.
24274         (sc_prohibit_hash_without_use): Likewise.
24275         (sc_prohibit_hash_pjw_without_use): Likewise.
24276         (sc_prohibit_safe_read_without_use): Likewise.
24277         (sc_prohibit_argmatch_without_use): Likewise.
24278         (sc_prohibit_canonicalize_without_use): Likewise.
24279         (sc_prohibit_root_dev_ino_without_use): Likewise.
24280         (sc_prohibit_openat_without_use): Likewise.
24281         (sc_prohibit_c_ctype_without_use): Likewise.
24282         (sc_prohibit_signal_without_use): Likewise.
24283         (sc_prohibit_intprops_without_use): Likewise.
24284
24285 2010-03-30  Eric Blake  <eblake@redhat.com>
24286
24287         maint: improve module indicators
24288         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24289         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24290         columns, and avoid extra macro expansion.
24291
24292         fdopendir: work around FreeBSD bug
24293         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24294         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24295         * modules/dirent (Makefile.am): Substitute it.
24296         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24297         declaration.
24298         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24299         fix.
24300         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24301
24302 2010-03-29  Bruno Haible  <bruno@clisp.org>
24303
24304         Emit #pragma system_header after the inclusion guard, not before.
24305         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24306         guard that spans the entire file, not before. This enables an
24307         optimization in GCC's preprocessor.
24308         * lib/ctype.in.h: Likewise.
24309         * lib/dirent.in.h: Likewise.
24310         * lib/errno.in.h: Likewise.
24311         * lib/float.in.h: Likewise.
24312         * lib/getopt.in.h: Likewise.
24313         * lib/iconv.in.h: Likewise.
24314         * lib/langinfo.in.h: Likewise.
24315         * lib/locale.in.h: Likewise.
24316         * lib/math.in.h: Likewise.
24317         * lib/netdb.in.h: Likewise.
24318         * lib/netinet_in.in.h: Likewise.
24319         * lib/pty.in.h: Likewise.
24320         * lib/sched.in.h: Likewise.
24321         * lib/se-selinux.in.h: Likewise.
24322         * lib/search.in.h: Likewise.
24323         * lib/spawn.in.h: Likewise.
24324         * lib/stdarg.in.h: Likewise.
24325         * lib/stdint.in.h: Likewise.
24326         * lib/string.in.h: Likewise.
24327         * lib/strings.in.h: Likewise.
24328         * lib/sys_file.in.h: Likewise.
24329         * lib/sys_ioctl.in.h: Likewise.
24330         * lib/sys_time.in.h: Likewise.
24331         * lib/sys_times.in.h: Likewise.
24332         * lib/sys_utsname.in.h: Likewise.
24333         * lib/sys_wait.in.h: Likewise.
24334         * lib/sysexits.in.h: Likewise.
24335         * lib/wctype.in.h: Likewise.
24336
24337 2010-03-28  James Youngman  <jay@gnu.org>
24338
24339         save-cwd: don't leak a file descriptor when the caller execs.
24340         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24341         saved file descriptor.
24342         * modules/save-cwd (Depends-on): Depend on cloexec.
24343
24344 2010-03-29  Bruno Haible  <bruno@clisp.org>
24345
24346         Remove vestiges of fts-lgpl module.
24347         * lib/fts_.h: Assume GNULIB_FTS is 1.
24348         * lib/fts.c: Likewise.
24349         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24350
24351 2010-03-28  Bruno Haible  <bruno@clisp.org>
24352
24353         Fix definition of tests witness macro.
24354         * gnulib-tool (func_import): Fix definition of witness macro.
24355
24356 2010-03-28  Bruno Haible  <bruno@clisp.org>
24357
24358         Fix ioctl's protoype on glibc systems.
24359         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24360         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24361         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24362         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24363         signature. If not, arrange to replace the ioctl function.
24364         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24365         REPLACE_IOCTL.
24366         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24367         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24368         Reported by Ludovic Courtès <ludo@gnu.org>.
24369
24370 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24371
24372         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24373         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24374         made it so grep -r --include=GLOB* ... did not work.
24375
24376 2010-03-26  Jim Meyering  <meyering@redhat.com>
24377             Eric Blake  <eblake@redhat.com>
24378
24379         maint.mk: prohibit use of test's -o and -a operators
24380         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24381
24382 2010-03-28  Bruno Haible  <bruno@clisp.org>
24383
24384         Remove unused GNULIB_XYZ macro definitions.
24385         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24386         invocation.
24387
24388 2010-03-28  Bruno Haible  <bruno@clisp.org>
24389
24390         Mark privileged tests modules.
24391         * modules/idpriv-drop-tests (Status): New section.
24392         * modules/idpriv-droptemp-tests (Status): New section.
24393
24394 2010-03-28  Bruno Haible  <bruno@clisp.org>
24395
24396         Split C++ tests into separate tests modules.
24397         * modules/dirent-c++-tests: New file, extracted from
24398         modules/dirent-tests.
24399         * modules/dirent-tests: Depend on it.
24400         * modules/fcntl-h-c++-tests: New file, extracted from
24401         modules/fcntl-h-tests.
24402         * modules/fcntl-h-tests: Depend on it.
24403         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24404         * modules/glob-tests: Depend on it.
24405         * modules/iconv-h-c++-tests: New file, extracted from
24406         modules/iconv-h-tests.
24407         * modules/iconv-h-tests: Depend on it.
24408         * modules/langinfo-c++-tests: New file, extracted from
24409         modules/langinfo-tests.
24410         * modules/langinfo-tests: Depend on it.
24411         * modules/locale-c++-tests: New file, extracted from
24412         modules/locale-tests.
24413         * modules/locale-tests: Depend on it.
24414         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24415         * modules/math-tests: Depend on it.
24416         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24417         * modules/pty-tests: Depend on it.
24418         * modules/search-c++-tests: New file, extracted from
24419         modules/search-tests.
24420         * modules/search-tests: Depend on it.
24421         * modules/signal-c++-tests: New file, extracted from
24422         modules/signal-tests.
24423         * modules/signal-tests: Depend on it.
24424         * modules/spawn-c++-tests: New file, extracted from
24425         modules/spawn-tests.
24426         * modules/spawn-tests: Depend on it.
24427         * modules/stdio-c++-tests: New file, extracted from
24428         modules/stdio-tests.
24429         * modules/stdio-tests: Depend on it.
24430         * modules/stdlib-c++-tests: New file, extracted from
24431         modules/stdlib-tests.
24432         * modules/stdlib-tests: Depend on it.
24433         * modules/string-c++-tests: New file, extracted from
24434         modules/string-tests.
24435         * modules/string-tests: Depend on it.
24436         * modules/sys_ioctl-c++-tests: New file, extracted from
24437         modules/sys_ioctl-tests.
24438         * modules/sys_ioctl-tests: Depend on it.
24439         * modules/sys_select-c++-tests: New file, extracted from
24440         modules/sys_select-tests.
24441         * modules/sys_select-tests: Depend on it.
24442         * modules/sys_socket-c++-tests: New file, extracted from
24443         modules/sys_socket-tests.
24444         * modules/sys_socket-tests: Depend on it.
24445         * modules/sys_stat-c++-tests: New file, extracted from
24446         modules/sys_stat-tests.
24447         * modules/sys_stat-tests: Depend on it.
24448         * modules/sys_time-c++-tests: New file, extracted from
24449         modules/sys_time-tests.
24450         * modules/sys_time-tests: Depend on it.
24451         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24452         * modules/time-tests: Depend on it.
24453         * modules/unistd-c++-tests: New file, extracted from
24454         modules/unistd-tests.
24455         * modules/unistd-tests: Depend on it.
24456         * modules/wchar-c++-tests: New file, extracted from
24457         modules/wchar-tests.
24458         * modules/wchar-tests: Depend on it.
24459         * modules/wctype-c++-tests: New file, extracted from
24460         modules/wctype-tests.
24461         * modules/wctype-tests: Depend on it.
24462         Reported by Simon Josefsson.
24463
24464 2010-03-28  Bruno Haible  <bruno@clisp.org>
24465
24466         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24467         * gnulib-tool (func_exists_module): New function, extracted from
24468         func_verify_module.
24469         (func_verify_module): Use it.
24470         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
24471         'foo' only if 'foo' exists.
24472         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
24473         module.
24474
24475 2010-03-28  Bruno Haible  <bruno@clisp.org>
24476
24477         gnulib-tool: Add support for special categories of tests.
24478         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
24479         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
24480         (func_usage): Document them.
24481         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
24482         inc_unportable_tests, inc_all_tests): New variables.
24483         (func_acceptable): Consider these variables.
24484         (func_modules_transitive_closure): Make it work when the 'Status' field
24485         consists of multiple words.
24486         (func_import): Store and restore the values of inc_cxx_tests,
24487         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
24488         inc_all_tests in gnulib-comp.m4.
24489         (func_create_testdir): Set inc_all_tests to true.
24490         * doc/gnulib.texi (Extra tests modules): New section.
24491         Suggested by Jim Meyering.
24492
24493 2010-03-28  Bruno Haible  <bruno@clisp.org>
24494
24495         ansi-c++-opt: Allow turning off the C++ build by default.
24496         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
24497         gl_CXX_CHOICE_DEFAULT_NO is defined.
24498         Requested by Eric Blake.
24499
24500 2010-03-28  Bruno Haible  <bruno@clisp.org>
24501
24502         unistd: Avoid #define replacements in C++ mode.
24503         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
24504         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
24505         setsockopt, shutdown, select): In C++, attach a warning to the function
24506         if possible, rather than #defining the symbol to a dysfunctional alias.
24507         Reported by John W. Eaton <jwe@gnu.org>.
24508
24509 2010-03-28  Bruno Haible  <bruno@clisp.org>
24510
24511         Fix link errors on mingw.
24512         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
24513         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
24514         $(LIBSOCKET).
24515         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
24516         $(LIBSOCKET).
24517
24518 2010-03-28  Bruno Haible  <bruno@clisp.org>
24519             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24520
24521         lib-ignore: Determine different options for different compilers.
24522         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
24523         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
24524         Add comments.
24525         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
24526         * NEWS: Mention the change.
24527
24528 2010-03-27  Bruno Haible  <bruno@clisp.org>
24529
24530         Remove unused GNULIB_XYZ macro definitions.
24531         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24532         * modules/fseek (configure.ac): Likewise.
24533         * modules/ioctl (configure.ac): Likewise.
24534         * modules/open (configure.ac): Likewise.
24535         * modules/stdlib-safer (configure.ac): Likewise.
24536
24537 2010-03-27  Bruno Haible  <bruno@clisp.org>
24538
24539         Add a remark about certain modules.
24540         * modules/malloc (Comment): New section.
24541         * modules/realloc (Comment): Likewise.
24542         * modules/sigpipe (Comment): Likewise.
24543
24544 2010-03-27  Bruno Haible  <bruno@clisp.org>
24545
24546         Resolve conflict between the two kinds of module indicators.
24547         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
24548         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
24549         * modules/canonicalize (configure.ac): Invoke
24550         gl_MODULE_INDICATOR_FOR_TESTS.
24551         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
24552         GNULIB_XYZ.
24553         * tests/test-dirent-c++.cc: Likewise.
24554         * tests/test-dirent-safer.c: Likewise.
24555         * tests/test-dup2.c: Likewise.
24556         * tests/test-fchdir.c: Likewise.
24557         * tests/test-fcntl-h-c++.cc: Likewise.
24558         * tests/test-getopt.c: Likewise.
24559         * tests/test-getopt.h: Likewise.
24560         * tests/test-langinfo-c++.cc: Likewise.
24561         * tests/test-locale-c++.cc: Likewise.
24562         * tests/test-math-c++.cc: Likewise.
24563         * tests/test-pty-c++.cc: Likewise.
24564         * tests/test-search-c++.cc: Likewise.
24565         * tests/test-signal-c++.cc: Likewise.
24566         * tests/test-spawn-c++.cc: Likewise.
24567         * tests/test-stdio-c++.cc: Likewise.
24568         * tests/test-stdlib-c++.cc: Likewise.
24569         * tests/test-string-c++.cc: Likewise.
24570         * tests/test-sys_ioctl-c++.cc: Likewise.
24571         * tests/test-sys_select-c++.cc: Likewise.
24572         * tests/test-sys_socket-c++.cc: Likewise.
24573         * tests/test-sys_stat-c++.cc: Likewise.
24574         * tests/test-sys_time-c++.cc: Likewise.
24575         * tests/test-time-c++.cc: Likewise.
24576         * tests/test-unistd-c++.cc: Likewise.
24577         * tests/test-wchar-c++.cc: Likewise.
24578         * tests/uninorm/test-u8-nfc.c: Likewise.
24579         * tests/uninorm/test-u8-nfd.c: Likewise.
24580         * tests/uninorm/test-u8-nfkc.c: Likewise.
24581         * tests/uninorm/test-u8-nfkd.c: Likewise.
24582         * tests/uninorm/test-u16-nfc.c: Likewise.
24583         * tests/uninorm/test-u16-nfd.c: Likewise.
24584         * tests/uninorm/test-u16-nfkc.c: Likewise.
24585         * tests/uninorm/test-u16-nfkd.c: Likewise.
24586         * tests/uninorm/test-u32-nfc.c: Likewise.
24587         * tests/uninorm/test-u32-nfc-big.c: Likewise.
24588         * tests/uninorm/test-u32-nfd.c: Likewise.
24589         * tests/uninorm/test-u32-nfd-big.c: Likewise.
24590         * tests/uninorm/test-u32-nfkc.c: Likewise.
24591         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
24592         * tests/uninorm/test-u32-nfkd.c: Likewise.
24593         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
24594         * tests/uninorm/test-u32-normalize-big.c: Likewise.
24595
24596 2010-03-27  Bruno Haible  <bruno@clisp.org>
24597
24598         Distinguish two kinds of module indicators.
24599         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
24600         gl_MODULE_INDICATOR.
24601         (gl_MODULE_INDICATOR): New macro.
24602         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
24603         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
24604         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24605         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24606         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24607         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24608         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24609         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24610         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24611         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24612         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24613         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24614         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24615         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24616         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24617         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24618         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24619         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24620         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24621         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24622         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24623         * modules/cloexec (configure.ac): Likewise.
24624         * modules/getopt-gnu (configure.ac): Likewise.
24625         * modules/uninorm/u8-normalize (configure.ac): Likewise.
24626         * modules/uninorm/u16-normalize (configure.ac): Likewise.
24627         * modules/uninorm/u32-normalize (configure.ac): Likewise.
24628         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
24629
24630 2010-03-27  Bruno Haible  <bruno@clisp.org>
24631
24632         New module description field 'Comment'.
24633         * gnulib-tool: New option --extract-comment.
24634         (func_usage): Document it.
24635         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
24636         (func_get_comment): New function.
24637         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
24638
24639 2010-03-27  Bruno Haible  <bruno@clisp.org>
24640
24641         Addendum to 2010-02-07 commit.
24642         * gnulib-tool (func_usage): Document --extract-applicability option.
24643
24644 2010-03-27  Bruno Haible  <bruno@clisp.org>
24645
24646         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
24647         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
24648         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
24649         rather than link errors.
24650
24651 2010-03-27  Bruno Haible  <bruno@clisp.org>
24652
24653         Avoid side effects from tests-related modules on the compilation of lib.
24654         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
24655         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
24656         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
24657         parameter. Emit into AM_CPPFLAGS a definition of the designated C
24658         macro.
24659         (func_import): Define a witness macro. Assign it a value that depends
24660         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
24661         tests-related modules.
24662         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
24663         Reported by Jim Meyering.
24664
24665 2010-03-27  Bruno Haible  <bruno@clisp.org>
24666
24667         Factorize common .m4 code.
24668         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
24669         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
24670         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
24671         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
24672         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24673         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
24674         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
24675         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24676         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24677         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24678         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
24679         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24680         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24681         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24682         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24683         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
24684         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24685         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24686         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24687         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
24688         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
24689         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24690         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24691         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24692         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24693         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24694         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
24695         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
24696         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
24697         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24698         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24699         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24700
24701 2010-03-27  Bruno Haible  <bruno@clisp.org>
24702
24703         Fix a compilation error on Cygwin with g++ >= 4.3.
24704         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
24705         if it is undefined or if we alias it to chmod.
24706         (lstat): Don't warn about the use of this function if it is undefined
24707         or if we alias it to stat.
24708         Reported by Simon Josefsson.
24709
24710 2010-03-27  Bruno Haible  <bruno@clisp.org>
24711
24712         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
24713         * modules/getlogin (configure.ac): Update.
24714
24715         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
24716         * modules/getlogin_r (configure.ac): Update.
24717
24718         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
24719         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
24720         * modules/inet_ntop (configure.ac): Update.
24721
24722         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
24723         * modules/inet_pton (configure.ac): Update.
24724
24725         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
24726         * modules/mbslen (configure.ac): Update.
24727
24728         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
24729         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
24730         * modules/forkpty (configure.ac): Update.
24731         * modules/openpty (configure.ac): Update.
24732
24733 2010-03-26  Simon Josefsson  <simon@josefsson.org>
24734
24735         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
24736         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
24737
24738 2010-03-25  Eric Blake  <eblake@redhat.com>
24739
24740         maint: use pragma consistently across replacement headers
24741         * lib/ctype.in.h (system_header): Hoist for consistent placement.
24742         * lib/dirent.in.h (system_header): Likewise.
24743         * lib/errno.in.h (system_header): Likewise.
24744         * lib/float.in.h (system_header): Likewise.
24745         * lib/getopt.in.h (system_header): Likewise.
24746         * lib/iconv.in.h (system_header): Likewise.
24747         * lib/inttypes.in.h (system_header): Likewise.
24748         * lib/langinfo.in.h (system_header): Likewise.
24749         * lib/locale.in.h (system_header): Likewise.
24750         * lib/math.in.h (system_header): Likewise.
24751         * lib/netdb.in.h (system_header): Likewise.
24752         * lib/netinet_in.in.h (system_header): Likewise.
24753         * lib/pty.in.h (system_header): Likewise.
24754         * lib/sched.in.h (system_header): Likewise.
24755         * lib/se-selinux.in.h (system_header): Likewise.
24756         * lib/search.in.h (system_header): Likewise.
24757         * lib/spawn.in.h (system_header): Likewise.
24758         * lib/stdarg.in.h (system_header): Likewise.
24759         * lib/stdint.in.h (system_header): Likewise.
24760         * lib/string.in.h (system_header): Likewise.
24761         * lib/strings.in.h (system_header): Likewise.
24762         * lib/sys_file.in.h (system_header): Likewise.
24763         * lib/sys_ioctl.in.h (system_header): Likewise.
24764         * lib/sys_socket.in.h (system_header): Likewise.
24765         * lib/sys_times.in.h (system_header): Likewise.
24766         * lib/sys_utsname.in.h (system_header): Likewise.
24767         * lib/sys_wait.in.h (system_header): Likewise.
24768         * lib/sysexits.in.h (system_header): Likewise.
24769         * lib/unistd.in.h (system_header): Likewise.
24770         * lib/wctype.in.h (system_header): Likewise.
24771
24772         arpa/inet: fix mingw compilation warning
24773         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
24774         Reported by Matthew Bolte.
24775
24776 2010-03-25  Bruno Haible  <bruno@clisp.org>
24777
24778         Avoid collision between gnulib wrapper and libintl wrapper.
24779         * lib/printf.c (printf): Don't define if a printf wrapper is already
24780         defined in intl/printf.c.
24781         Reported by Michel Boaventura <michel@michelboaventura.com>.
24782
24783 2010-03-25  Bruno Haible  <bruno@clisp.org>
24784
24785         Use ANSI C.
24786         * lib/readutmp.h (getutent): Provide ANSI C prototype.
24787
24788 2010-03-25  Bruno Haible  <bruno@clisp.org>
24789
24790         Minor formatting changes.
24791         * lib/acosl.c: Insert space before function argument list.
24792         * lib/argz.c: Likewise.
24793         * lib/asinl.c: Likewise.
24794         * lib/expl.c: Likewise.
24795         * lib/gen-uni-tables.c: Likewise.
24796         * lib/gettext.h: Likewise.
24797         * lib/glthread/lock.h: Likewise.
24798         * lib/tanl.c: Likewise.
24799         * lib/uniname/uniname.c: Likewise.
24800         * tests/test-idpriv-drop.c: Likewise.
24801         * tests/test-idpriv-droptemp.c: Likewise.
24802         * tests/test-lock.c: Likewise.
24803         * tests/test-tls.c: Likewise.
24804         * lib/argp-help.c: Insert space before function-like macro argument
24805         list.
24806         * lib/memcmp.c: Likewise.
24807         * tests/test-base64.c: Likewise.
24808         * lib/localename.c: Insert space before sizeof's argument list.
24809         * lib/safe-alloc.h: Likewise.
24810         * lib/file-set.h: Insert space before macro argument list.
24811         * tests/test-argp.c: Likewise.
24812         * lib/argp-namefrob.h: Insert space before function parameter list.
24813         * lib/getaddrinfo.c: Likewise.
24814         * lib/netdb.in.h: Likewise.
24815         * lib/parse-duration.h: Likewise.
24816         * lib/parse-duration.c: Likewise.
24817         * lib/poll.c: Likewise.
24818         * lib/select.c: Likewise.
24819         * lib/trim.h: Likewise.
24820         * tests/test-usleep.c: Likewise.
24821         * lib/ldexpl.c: Insert space before function parameter list and before
24822         function argument list.
24823         * lib/logl.c: Likewise.
24824         * lib/sqrtl.c: Likewise.
24825         * lib/trim.c: Likewise.
24826         * lib/cosl.c: Use GNU style indentation. Insert space before function
24827         argument list.
24828         * lib/sinl.c: Likewise.
24829         * lib/tsearch.c: Insert space after 'for'.
24830         Reported by Jim Meyering.
24831
24832 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
24833
24834         * maint.mk (sc_Wundef_boolean): Check for the presence of the
24835         config header before grepping, as it's not present before
24836         autoreconf/configure are run.  Reported by Simon Josefsson.
24837
24838 2010-03-23  Bruno Haible  <bruno@clisp.org>
24839
24840         pt_chown: Make it work with automake < 1.11.
24841         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
24842         Reported by Simon Josefsson.
24843
24844 2010-03-23  Bruno Haible  <bruno@clisp.org>
24845
24846         pt_chown: Don't depend on GPLed modules.
24847         * lib/pt_chown.c: Don't include idpriv.h.
24848         (main): Don't drop privileges.
24849         * modules/pt_chown (Depends-on): Remove idpriv-drop.
24850         Reported by Simon Josefsson.
24851
24852 2010-03-24  Simon Josefsson  <simon@josefsson.org>
24853
24854         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
24855         suggestions from karl@freefriends.org (Karl Berry).
24856
24857 2010-03-22  Eric Blake  <eblake@redhat.com>
24858
24859         gethostname: further tweaks
24860         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
24861         are overriding gethostname.
24862         Suggested by Bruno Haible.
24863
24864 2010-03-21  Bruno Haible  <bruno@clisp.org>
24865
24866         Fix comments.
24867         * lib/forkpty.c (rpl_forkpty): Fix comment.
24868         * lib/openpty.c (rpl_openpty): Likewise.
24869         Reported by Eric Blake.
24870
24871 2010-03-22  Eric Blake  <eblake@redhat.com>
24872
24873         gethostname: fix build on mingw
24874         * lib/unistd.in.h (includes): Work around fact that mingw
24875         <winsock2.h> re-includes <unistd.h>, by avoiding any
24876         redeclarations if we are being included by <winsock2.h>.
24877         Reported by Matthias Bolte.
24878
24879 2010-03-21  Bruno Haible  <bruno@clisp.org>
24880
24881         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
24882         * lib/forkpty.c (forkpty): New replacement function, from glibc with
24883         modifications.
24884         * lib/pty.in.h (forkpty): Update declaration. Add comments.
24885         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
24886         provide the replacement.
24887         * modules/forkpty (Depends-on): Add openpty, login_tty.
24888         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
24889         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
24890         * doc/glibc-functions/forkpty.texi: More supported platforms.
24891         * config/srclist.txt: Add forkpty.c (commented).
24892
24893 2010-03-21  Bruno Haible  <bruno@clisp.org>
24894
24895         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
24896         (Makefile.am): Verify that PTY_LIB is defined.
24897
24898         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
24899
24900 2010-03-21  Bruno Haible  <bruno@clisp.org>
24901
24902         Tests for module 'login_tty'.
24903         * modules/login_tty-tests: New file.
24904         * tests/test-login_tty.c: New file.
24905
24906         New module 'login_tty'.
24907         * lib/login_tty.c: New file.
24908         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
24909         * modules/login_tty: New file.
24910         * doc/glibc-functions/login_tty.texi: Mention the new module.
24911
24912 2010-03-21  Bruno Haible  <bruno@clisp.org>
24913
24914         login_tty: Documentation.
24915         * doc/glibc-functions/login_tty.texi: New file.
24916         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
24917
24918 2010-03-21  Bruno Haible  <bruno@clisp.org>
24919
24920         pty: Consistent macro naming.
24921         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
24922         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
24923         * modules/pty (configure.ac): Update.
24924
24925 2010-03-21  Bruno Haible  <bruno@clisp.org>
24926
24927         Tests for openpty: Make stricter.
24928         * tests/test-openpty.c (main): Add test of canonical processing and
24929         erase.
24930         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
24931
24932         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
24933         * lib/openpty.c (openpty): New replacement function.
24934         * lib/pty.in.h: Include <termios.h>.
24935         (openpty): Update declaration. Add comments.
24936         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
24937         is not declared, arrange to provide the replacement. Check for _getpty
24938         and posix_openpt.
24939         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
24940         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
24941         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
24942         * modules/pty-tests (test_pty_c___LDADD): New variable.
24943         * doc/glibc-functions/openpty.texi: More supported platforms.
24944
24945 2010-03-21  Bruno Haible  <bruno@clisp.org>
24946
24947         setenv: Tweaks.
24948         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
24949         the test program.
24950         * doc/posix-functions/setenv.texi: Update platforms list.
24951
24952 2010-03-21  Bruno Haible  <bruno@clisp.org>
24953
24954         New module 'unlockpt'.
24955         * lib/unlockpt.c: New file, from glibc with modifications.
24956         * m4/unlockpt.m4: New file.
24957         * modules/unlockpt: New file.
24958         * lib/stdlib.in.h (unlockpt): New declaration.
24959         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
24960         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
24961         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
24962         HAVE_UNLOCKPT.
24963         * doc/posix-functions/unlockpt.texi: Mention the new module.
24964         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
24965         * config/srclist.txt: Add unlockpt.c (commented).
24966
24967 2010-03-21  Jim Meyering  <meyering@redhat.com>
24968
24969         maint.mk: prohibit inclusion of "intprops.h" without use
24970         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
24971
24972 2010-03-21  Bruno Haible  <bruno@clisp.org>
24973
24974         New module 'grantpt'.
24975         * lib/grantpt.c: New file, from glibc with modifications.
24976         * m4/grantpt.m4: New file.
24977         * modules/grantpt: New file.
24978         * lib/stdlib.in.h (grantpt): New declaration.
24979         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
24980         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
24981         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
24982         HAVE_GRANTPT.
24983         * doc/posix-functions/grantpt.texi: Mention the new module.
24984         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
24985         * config/srclist.txt: Add grantpt.c (commented).
24986
24987 2010-03-21  Bruno Haible  <bruno@clisp.org>
24988
24989         New module 'pt_chown'.
24990         * lib/pt_chown.c: New file, from glibc with modifications.
24991         * lib/pty-private.h: New file, from glibc with modifications.
24992         * modules/pt_chown: New file.
24993         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
24994
24995 2010-03-21  Bruno Haible  <bruno@clisp.org>
24996
24997         Tests for module 'ptsname'.
24998         * modules/ptsname-tests: New file.
24999         * tests/test-ptsname.c: New file.
25000
25001         New module 'ptsname'.
25002         * lib/ptsname.c: New file, from glibc with modifications.
25003         * m4/ptsname.m4: New file.
25004         * modules/ptsname: New file.
25005         * lib/stdlib.in.h (ptsname): New declaration.
25006         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25007         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25008         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25009         HAVE_PTSNAME.
25010         * doc/posix-functions/ptsname.texi: Mention the new module.
25011         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25012         * config/srclist.txt: Add ptsname.c (commented).
25013
25014 2010-03-21  Bruno Haible  <bruno@clisp.org>
25015
25016         Tests for module 'ttyname_r'.
25017         * modules/ttyname_r-tests: New file.
25018         * tests/test-ttyname_r.c: New file.
25019
25020         New module 'ttyname_r'.
25021         * lib/ttyname_r.c: New file.
25022         * m4/ttyname_r.m4: New file.
25023         * modules/ttyname_r: New file.
25024         * lib/unistd.in.h (ttyname_r): New declaration.
25025         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25026         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25027         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25028         HAVE_TTYNAME_R.
25029         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25030         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25031
25032 2010-03-20  Bruno Haible  <bruno@clisp.org>
25033
25034         signal: Undefine macro definitions in C++ mode.
25035         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25036         sigfillset): Undefine macro definitions from the system header in C++
25037         mode.
25038         Reported by John W. Eaton <jwe@gnu.org>.
25039
25040 2010-03-20  Bruno Haible  <bruno@clisp.org>
25041
25042         Ensure no #include statements inside extern "C" { ... }.
25043         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25044         contain #include statements.
25045         * lib/time.in.h: Likewise.
25046
25047 2010-03-20  Bruno Haible  <bruno@clisp.org>
25048
25049         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25050         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25051         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25052         Reported by John W. Eaton <jwe@gnu.org>.
25053
25054 2010-03-20  Bruno Haible  <bruno@clisp.org>
25055
25056         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25057         Reported by Jim Meyering.
25058
25059 2010-03-20  Bruno Haible  <bruno@clisp.org>
25060
25061         pipe: Set errno upon failure.
25062         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25063         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25064         errno value in error message.
25065
25066 2010-03-20  Bruno Haible  <bruno@clisp.org>
25067             Jim Meyering  <meyering@redhat.com>
25068
25069         lchown: Avoid "unused variable" warning.
25070         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25071
25072 2010-03-20  Bruno Haible  <bruno@clisp.org>
25073
25074         Work around unlink() bug on MacOS X 10.5.6.
25075         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25076         attempting to unlink a parent directory.
25077         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25078         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25079         activate for the replacement function.
25080         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25081
25082 2010-03-20  Bruno Haible  <bruno@clisp.org>
25083
25084         Fix link errors on Solaris 8.
25085         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25086         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25087
25088 2010-03-19  Jim Meyering  <meyering@redhat.com>
25089
25090         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25091         The _LIBC implementation of build_range_exp correctly honors the
25092         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25093         However, the non-_LIBC implementation would ignore that syntax-bit
25094         flag and return REG_ERANGE unconditionally.
25095         This change makes it honor that flag.
25096         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25097         Make two pointer parameters "const".
25098         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25099         (parse_bracket_exp): Update caller.
25100
25101         regex.m4: correct the reversed range endpoint ([b-a]) test
25102         * m4/regex.m4: When requiring that [b-a] evoke failure,
25103         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25104         test pass once again for x86-based systems.
25105
25106 2010-03-19  Bruno Haible  <bruno@clisp.org>
25107
25108         scandir: Fix link error on Solaris 8.
25109         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25110         macros.
25111
25112 2010-03-19  Bruno Haible  <bruno@clisp.org>
25113
25114         getusershell: Fix documentation.
25115         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25116         module.
25117         * doc/glibc-functions/setusershell.texi: Likewise.
25118
25119         getusershell: Provide declaration, missing on Solaris 9.
25120         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25121         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25122         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25123         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25124         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25125         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25126         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25127         HAVE_GETUSERSHELL.
25128         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25129
25130 2010-03-19  Bruno Haible  <bruno@clisp.org>
25131
25132         wctype: Provide iswblank function.
25133         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25134         exists and is fine.
25135         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25136         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25137         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25138         * doc/posix-functions/iswblank.texi: Update.
25139
25140 2010-03-19  Bruno Haible  <bruno@clisp.org>
25141
25142         Tests of module 'pty' in C++ mode.
25143         * modules/pty-tests: New file.
25144         * tests/test-pty-c++.cc: New file.
25145         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25146
25147 2010-03-19  Eric Blake  <eblake@redhat.com>
25148
25149         logb: fix documentation
25150         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25151         1.5 declaration bug.
25152
25153         forkpty, openpty: prefer glibc's const-safe prototype
25154         * lib/forkpty.c (rpl_forkpty): New file.
25155         * lib/openpty.c (rpl_openpty): Likewise.
25156         * modules/forkpty (Files): Distribute it.
25157         * modules/openpty (Files): Likewise.
25158         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25159         check...
25160         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25161         replacement for for non-const BSD signature.
25162         * modules/pty (Makefile.am): Substitute witnesses.
25163         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25164         * tests/test-forkpty.c: Update signature check.
25165         * tests/test-openpty.c: Likewise.
25166         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25167         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25168
25169         forkpty, openpty: split functions into new modules
25170         * modules/pty (Makefile.am): Substitute new witnesses.
25171         (Libraries): Move library detection...
25172         * modules/forkpty: ...into new module.
25173         * modules/openpty: Another new module.
25174         * modules/pty-tests: Rename and split...
25175         * modules/forkpty-tests: ...to this...
25176         * modules/openpty-tests: ...and this.
25177         * tests/test-pty.c: Rename and split...
25178         * tests/test-forkpty.c: ...to this...
25179         * tests/test-openpty.c: ...and this.
25180         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25181         (gl_PTY): Split library searching...
25182         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25183         (gl_FORKPTY, gl_OPENPTY): New macros.
25184         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25185         * NEWS: Mention the split.
25186         * MODULES.html.sh (Misc): Document the modules.
25187         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25188         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25189
25190         pty: improve replacement header
25191         * lib/pty.in.h: New file.
25192         * modules/pty (Files): Ship it.
25193         (Makefile.am): Always build replacement.
25194         * m4/pty.m4: Rename...
25195         * m4/pty_h.m4: ...to this.
25196         (gl_PTY): Modernize setting of witness macros; update check of
25197         forkpty to take proper advantage of cache.
25198         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25199
25200         getopt: avoid compiler warning
25201         * lib/getopt.c (attribute_hidden): Remove unused macro.
25202
25203 2010-03-18  Bruno Haible  <bruno@clisp.org>
25204
25205         Fix link errors on Solaris 8.
25206         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25207         * modules/search-tests (test_search_c___LDADD): Likewise.
25208         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25209         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25210         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25211         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25212         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25213         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25214         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25215
25216 2010-03-18  Bruno Haible  <bruno@clisp.org>
25217
25218         Fix bug introduced on 2010-03-14.
25219         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25220         (gl_SPAWN_H): Require it.
25221         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25222         Reported by Simon Josefsson.
25223
25224 2010-03-18  Bruno Haible  <bruno@clisp.org>
25225
25226         Fix typo introduced on 2009-12-31.
25227         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25228         posix_spawn_file_actions_adddup2.
25229
25230 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25231         and Eric Blake  <eblake@redhat.com>
25232
25233         test-vc-list-files-git: make more robust
25234         * tests/test-vc-list-files-git.sh: Unset problematic environment
25235         variables.  Chain commands together.
25236
25237 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25238
25239         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25240         `AC_CHECK_DECL' invocation.
25241
25242 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25243
25244         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25245         appears before executable statements. Suggested by Petr Sumbera
25246         <Petr.Sumbera@Sun.COM>.
25247
25248 2010-03-14  Bruno Haible  <bruno@clisp.org>
25249
25250         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25251         portability problems. Instead use a simpler test.
25252         (main): Check that invalid arguments are rejected only on Linux.
25253
25254 2010-03-14  Bruno Haible  <bruno@clisp.org>
25255
25256         Fix bug introduced on 2009-12-31.
25257         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25258         gl_PREREQ_SYS_H_WINSOCK2 always.
25259         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25260         SYS_SOCKET_H variable.
25261         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25262         Update comments.
25263         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25264         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25265         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25266         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25267         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25268
25269 2010-03-14  Bruno Haible  <bruno@clisp.org>
25270
25271         Fix values returned by sinl, cosl.
25272         * lib/trigl.h: Add specification comments.
25273         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25274         that combines the values from the precomputed table with the values of
25275         the Chebyshev polynomials.
25276
25277 2010-03-14  Bruno Haible  <bruno@clisp.org>
25278
25279         Fix compilation error when modules 'posix_spawn[p]' are not used.
25280         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25281         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25282
25283 2010-03-14  Bruno Haible  <bruno@clisp.org>
25284
25285         Fix compilation error on mingw when module 'time_r' is not used.
25286         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25287         is 1.
25288         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25289         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25290         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25291         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25292
25293 2010-03-14  Bruno Haible  <bruno@clisp.org>
25294
25295         Fix compilation error with Sun C.
25296         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25297         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25298         instead of GCC specific ULONG_LONG_MAX.
25299         * lib/xstrtoll.c: Likewise.
25300         * lib/xstrtoull.c: Likewise.
25301
25302 2010-03-13  Bruno Haible  <bruno@clisp.org>
25303
25304         Allow the user to disable C++ code and tests.
25305         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25306         (gl_PROG_ANSI_CXX): Require it.
25307
25308 2010-03-13  Bruno Haible  <bruno@clisp.org>
25309
25310         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25311         cases.
25312
25313 2010-03-13  Bruno Haible  <bruno@clisp.org>
25314
25315         Test that gnulib does not break the standard C++ headers.
25316         * tests/test-locale-c++2.cc: New file.
25317         * modules/locale-tests (Files): Add it.
25318         (Makefile.am): Compile it for test-locale-c++.
25319         * tests/test-math-c++2.cc: New file.
25320         * modules/math-tests (Files): Add it.
25321         (Makefile.am): Compile it for test-math-c++.
25322         * tests/test-signal-c++2.cc: New file.
25323         * modules/signal-tests (Files): Add it.
25324         (Makefile.am): Compile it for test-signal-c++.
25325         * tests/test-stdio-c++2.cc: New file.
25326         * modules/stdio-tests (Files): Add it.
25327         (Makefile.am): Compile it for test-stdio-c++.
25328         * tests/test-stdlib-c++2.cc: New file.
25329         * modules/stdlib-tests (Files): Add it.
25330         (Makefile.am): Compile it for test-stdlib-c++.
25331         * tests/test-string-c++2.cc: New file.
25332         * modules/string-tests (Files): Add it.
25333         (Makefile.am): Compile it for test-string-c++.
25334         * tests/test-time-c++2.cc: New file.
25335         * modules/time-tests (Files): Add it.
25336         (Makefile.am): Compile it for test-time-c++.
25337         Reported by John W. Eaton <jwe@gnu.org>.
25338
25339 2010-03-13  Bruno Haible  <bruno@clisp.org>
25340
25341         * gnulib-tool (func_usage): Clarify which options are available for
25342         --create-testdir and --create-megatestdir.
25343
25344 2010-03-13  Bruno Haible  <bruno@clisp.org>
25345
25346         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25347         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25348         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25349         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25350         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25351         when appropriate.
25352         Reported by Jim Meyering.
25353
25354 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25355
25356         * gnulib-tool (func_import): Explain origin of code.
25357
25358 2010-03-12  Bruno Haible  <bruno@clisp.org>
25359
25360         Fix problem with automake's definition of CXXLINK.
25361         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25362         Reported by Simon Josefsson and Ludovic Courtès.
25363
25364 2010-03-12  Bruno Haible  <bruno@clisp.org>
25365
25366         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25367         stable releases.
25368
25369 2010-03-11  Bruno Haible  <bruno@clisp.org>
25370
25371         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25372         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25373         whether the system provides one variant or multiple variants of the
25374         function.
25375         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25376         C++ compilers.
25377         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25378         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25379         Reported by Jim Meyering.
25380
25381 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25382
25383         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25384
25385 2010-03-08  Bruno Haible  <bruno@clisp.org>
25386
25387         gnulib-tool: Add support for --libtool in --create-testdir.
25388         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25389         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25390
25391 2010-03-08  Eric Blake  <eblake@redhat.com>
25392
25393         gnulib-tool.texi: mention possibility of git submodule
25394         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25395         submodules.
25396         * doc/.gitignore: Ignore another generated file.
25397
25398 2010-03-08  Karl Berry  <karl@gnu.org>
25399
25400         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25401         of committing gnulib files while skipping others.
25402
25403 2010-03-07  Bruno Haible  <bruno@clisp.org>
25404
25405         Tests of module 'wctype' in C++ mode.
25406         * tests/test-wctype-c++.cc: New file.
25407         * modules/wctype-tests (Files): Add it and tests/signature.h.
25408         (Depends-on): Add ansi-c++-opt.
25409         (Makefile.am): Arrange to compile and run test-wctype-c++.
25410
25411         Tests of module 'wchar' in C++ mode.
25412         * tests/test-wchar-c++.cc: New file.
25413         * modules/wchar-tests (Files): Add it and tests/signature.h.
25414         (Depends-on): Add ansi-c++-opt.
25415         (Makefile.am): Arrange to compile and run test-wchar-c++.
25416         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25417         gl_MODULE_INDICATOR.
25418
25419         Tests of module 'unistd' in C++ mode.
25420         * tests/test-unistd-c++.cc: New file.
25421         * modules/unistd-tests (Files): Add it and tests/signature.h.
25422         (Depends-on): Add ansi-c++-opt.
25423         (Makefile.am): Arrange to compile and run test-unistd-c++.
25424         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25425         gl_MODULE_INDICATOR.
25426
25427         Tests of module 'time' in C++ mode.
25428         * tests/test-time-c++.cc: New file.
25429         * modules/time-tests (Files): Add it and tests/signature.h.
25430         (Depends-on): Add ansi-c++-opt.
25431         (Makefile.am): Arrange to compile and run test-time-c++.
25432         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25433
25434         Tests of module 'sys_time' in C++ mode.
25435         * tests/test-sys_time-c++.cc: New file.
25436         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25437         (Depends-on): Add ansi-c++-opt.
25438         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25439         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25440         gl_MODULE_INDICATOR.
25441
25442         Tests of module 'sys_stat' in C++ mode.
25443         * tests/test-sys_stat-c++.cc: New file.
25444         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25445         (Depends-on): Add ansi-c++-opt.
25446         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25447         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25448         gl_MODULE_INDICATOR.
25449
25450         Tests of module 'sys_socket' in C++ mode.
25451         * tests/test-sys_socket-c++.cc: New file.
25452         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25453         (Depends-on): Add ansi-c++-opt.
25454         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25455         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25456         gl_MODULE_INDICATOR.
25457
25458         Tests of module 'sys_select' in C++ mode.
25459         * tests/test-sys_select-c++.cc: New file.
25460         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25461         (Depends-on): Add ansi-c++-opt.
25462         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25463         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25464         gl_MODULE_INDICATOR.
25465
25466         Tests of module 'sys_ioctl' in C++ mode.
25467         * tests/test-sys_ioctl-c++.cc: New file.
25468         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
25469         (Depends-on): Add ansi-c++-opt.
25470         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
25471         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
25472         gl_MODULE_INDICATOR.
25473
25474         Tests of module 'string' in C++ mode.
25475         * tests/test-string-c++.cc: New file.
25476         * modules/string-tests (Files): Add it and tests/signature.h.
25477         (Depends-on): Add ansi-c++-opt.
25478         (Makefile.am): Arrange to compile and run test-string-c++.
25479         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
25480         gl_MODULE_INDICATOR.
25481
25482         Tests of module 'stdlib' in C++ mode.
25483         * tests/test-stdlib-c++.cc: New file.
25484         * modules/stdlib-tests (Files): Add it and tests/signature.h.
25485         (Depends-on): Add ansi-c++-opt.
25486         (Makefile.am): Arrange to compile and run test-stdlib-c++.
25487         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
25488         gl_MODULE_INDICATOR.
25489
25490         Tests of module 'stdio' in C++ mode.
25491         * tests/test-stdio-c++.cc: New file.
25492         * modules/stdio-tests (Files): Add it and tests/signature.h.
25493         (Depends-on): Add ansi-c++-opt.
25494         (Makefile.am): Arrange to compile and run test-stdio-c++.
25495         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
25496         gl_MODULE_INDICATOR.
25497
25498         Tests of module 'spawn' in C++ mode.
25499         * tests/test-spawn-c++.cc: New file.
25500         * modules/spawn-tests (Files): Add it and tests/signature.h.
25501         (Depends-on): Add ansi-c++-opt.
25502         (Makefile.am): Arrange to compile and run test-spawn-c++.
25503         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
25504         gl_MODULE_INDICATOR.
25505
25506         Tests of module 'signal' in C++ mode.
25507         * tests/test-signal-c++.cc: New file.
25508         * modules/signal-tests (Files): Add it and tests/signature.h.
25509         (Depends-on): Add ansi-c++-opt.
25510         (Makefile.am): Arrange to compile and run test-signal-c++.
25511         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
25512         gl_MODULE_INDICATOR.
25513
25514         Tests of module 'search' in C++ mode.
25515         * tests/test-search-c++.cc: New file.
25516         * modules/search-tests (Files): Add it and tests/signature.h.
25517         (Depends-on): Add ansi-c++-opt.
25518         (Makefile.am): Arrange to compile and run test-search-c++.
25519         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
25520         gl_MODULE_INDICATOR.
25521
25522         Tests of module 'math' in C++ mode.
25523         * tests/test-math-c++.cc: New file.
25524         * modules/math-tests (Files): Add it and tests/signature.h.
25525         (Depends-on): Add ansi-c++-opt.
25526         (Makefile.am): Arrange to compile and run test-math-c++.
25527         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25528
25529         Tests of module 'locale' in C++ mode.
25530         * tests/test-locale-c++.cc: New file.
25531         * modules/locale-tests (Files): Add it and tests/signature.h.
25532         (Depends-on): Add ansi-c++-opt.
25533         (Makefile.am): Arrange to compile and run test-locale-c++.
25534         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
25535         gl_MODULE_INDICATOR.
25536
25537         Tests of module 'langinfo' in C++ mode.
25538         * tests/test-langinfo-c++.cc: New file.
25539         * modules/langinfo-tests (Files): Add it and tests/signature.h.
25540         (Depends-on): Add ansi-c++-opt.
25541         (Makefile.am): Arrange to compile and run test-langinfo-c++.
25542         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
25543         gl_MODULE_INDICATOR.
25544
25545         Tests of module 'iconv-h' in C++ mode.
25546         * tests/test-iconv-h-c++.cc: New file.
25547         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
25548         (Depends-on): Add ansi-c++-opt.
25549         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
25550
25551         Tests of module 'glob' in C++ mode.
25552         * tests/test-glob-c++.cc: New file.
25553         * modules/glob-tests (Files): Add it.
25554         (Depends-on): Add ansi-c++-opt.
25555         (Makefile.am): Arrange to compile and run test-glob-c++.
25556
25557         Tests of module 'fcntl-h' in C++ mode.
25558         * tests/test-fcntl-h-c++.cc: New file.
25559         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
25560         (Depends-on): Add ansi-c++-opt.
25561         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
25562         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
25563         gl_MODULE_INDICATOR.
25564
25565         Tests of module 'dirent' in C++ mode.
25566         * tests/test-dirent-c++.cc: New file.
25567         * modules/dirent-tests (Files): Add it and tests/signature.h.
25568         (Depends-on): Add ansi-c++-opt.
25569         (Makefile.am): Arrange to compile and run test-dirent-c++.
25570         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25571         gl_MODULE_INDICATOR.
25572
25573         New module 'ansi-c++-opt'.
25574         * modules/ansi-c++-opt: New file.
25575         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
25576
25577         Document C++ namespace mode.
25578         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
25579
25580         wctype: Avoid #define replacements in C++ mode.
25581         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
25582         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
25583         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
25584         In C++, define a namespaced alias symbol.
25585         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
25586         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
25587         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
25588         rule.
25589
25590         wchar: Avoid #define replacements in C++ mode.
25591         * lib/wchar.in.h: Include c++defs.h.
25592         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
25593         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
25594         symbol.
25595         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
25596         * modules/wchar (Depends-on): Add c++defs.
25597         (Makefile.am): Update wchar.h rule.
25598
25599         unistd: Avoid #define replacements in C++ mode.
25600         * lib/unistd.in.h: Include c++defs.h.
25601         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
25602         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
25603         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
25604         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
25605         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
25606         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
25607         symbol.
25608         (environ): Update.
25609         * modules/unistd (Depends-on): Add c++defs.
25610         (Makefile.am): Update unistd.h rule.
25611
25612         time: Avoid #define replacements in C++ mode.
25613         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
25614         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
25615         define a namespaced alias symbol.
25616         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
25617         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
25618         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
25619         * modules/time (Depends-on): Add c++defs, warn-on-use.
25620         (Makefile.am): Update time.h rule.
25621         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25622         * modules/nanosleep (configure.ac): Likewise.
25623         * modules/strptime (configure.ac): Likewise.
25624         * modules/timegm (configure.ac): Likewise.
25625
25626         sys_time: Avoid #define replacements in C++ mode.
25627         * lib/sys_time.in.h: Include c++defs.h.
25628         (gettimeofday): In C++, define a namespaced alias symbol.
25629         * modules/sys_time (Depends-on): Add c++defs.
25630         (Makefile.am): Update sys/time.h rule.
25631
25632         sys_stat: Avoid #define replacements in C++ mode.
25633         * lib/sys_stat.in.h: Include c++defs.h.
25634         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
25635         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
25636         namespaced alias symbol.
25637         In C++, define a namespaced alias symbol.
25638         * modules/sys_stat (Depends-on): Add c++defs.
25639         (Makefile.am): Update sys/stat.h rule.
25640
25641         sys_socket: Avoid #define replacements in C++ mode.
25642         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
25643         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
25644         definitions also when the system has a <sys/socket.h>.
25645         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
25646         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
25647         In C++, define a namespaced alias symbol.
25648         * modules/sys_socket (Depends-on): Add c++defs.
25649         (Makefile.am): Update sys/socket.h rule.
25650
25651         sys_select: Avoid #define replacements in C++ mode.
25652         * lib/sys_select.in.h: Include c++defs.h. Enable the function
25653         definitions also when the system has a <sys/select.h>.
25654         (select): In C++, define a namespaced alias symbol.
25655         * modules/sys_select (Depends-on): Add c++defs.
25656         (Makefile.am): Update sys/select.h rule.
25657
25658         sys_ioctl: Avoid #define replacements in C++ mode.
25659         * lib/sys_ioctl.in.h: Include c++defs.h.
25660         (ioctl): In C++, define a namespaced alias symbol.
25661         * modules/sys_ioctl (Depends-on): Add c++defs.
25662         (Makefile.am): Update sys/ioctl.h rule.
25663
25664         string: Avoid #define replacements in C++ mode.
25665         * lib/string.in.h: Include c++defs.h.
25666         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
25667         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
25668         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
25669         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
25670         strsignal, strverscmp): In C++, define a namespaced alias symbol.
25671         * modules/string (Depends-on): Add c++defs.
25672         (Makefile.am): Update string.h rule.
25673
25674         stdlib: Avoid #define replacements in C++ mode.
25675         * lib/stdlib.in.h: Include c++defs.h.
25676         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
25677         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
25678         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
25679         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
25680         symbol.
25681         * modules/stdlib (Depends-on): Add c++defs.
25682         (Makefile.am): Update stdlib.h rule.
25683
25684         stdio: Avoid #define replacements in C++ mode.
25685         * lib/stdio.in.h: Include c++defs.h.
25686         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
25687         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
25688         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
25689         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
25690         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
25691         namespaced alias symbol.
25692         * modules/stdio (Depends-on): Add c++defs.
25693         (Makefile.am): Update stdio.h rule.
25694
25695         spawn: Avoid #define replacements in C++ mode.
25696         * lib/spawn.in.h: Include c++defs.h.
25697         (posix_spawn, posix_spawnp, posix_spawnattr_init,
25698         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
25699         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
25700         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
25701         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
25702         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
25703         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
25704         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
25705         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
25706         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
25707         In C++, define a namespaced alias symbol.
25708         * modules/spawn (Depends-on): Add c++defs.
25709         (Makefile.am): Update spawn.h rule.
25710
25711         signal: Avoid #define replacements in C++ mode.
25712         * lib/signal.in.h: Include c++defs.h.
25713         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
25714         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
25715         namespaced alias symbol.
25716         * modules/signal (Depends-on): Add c++defs.
25717         (Makefile.am): Update signal.h rule.
25718
25719         search: Avoid #define replacements in C++ mode.
25720         * lib/search.in.h: Include c++defs.h.
25721         (_gl_search_compar_fn, _gl_search_action_fn): New types.
25722         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
25723         symbol.
25724         * modules/search (Depends-on): Add c++defs.
25725         (Makefile.am): Update search.h rule.
25726
25727         math: Avoid #define replacements in C++ mode.
25728         * lib/math.in.h: Include c++defs.h.
25729         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
25730         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
25731         trunc, truncl): In C++, define a namespaced alias symbol.
25732         * modules/math (Depends-on): Add c++defs.
25733         (Makefile.am): Update math.h rule.
25734
25735         locale: Avoid #define replacements in C++ mode.
25736         * lib/locale.in.h: Include c++defs.h.
25737         (duplocale): In C++, define a namespaced alias symbol.
25738         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
25739         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
25740         * modules/locale (Depends-on): Add c++defs.
25741         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
25742
25743         langinfo: Avoid #define replacements in C++ mode.
25744         * lib/langinfo.in.h: Include c++defs.h.
25745         (nl_langinfo): In C++, define a namespaced alias symbol.
25746         * modules/langinfo (Depends-on): Add c++defs.
25747         (Makefile.am): Update langinfo.h rule.
25748
25749         iconv-h: Avoid #define replacements in C++ mode.
25750         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
25751         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
25752         symbol.
25753         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
25754         whenever iconv is present.
25755         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
25756         (Makefile.am): Update iconv.h rule.
25757
25758         glob: Avoid #define replacements in C++ mode.
25759         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
25760         (_gl_glob_errfunc_fn): New type.
25761         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
25762         symbol.
25763         * modules/glob (Depends-on): Add c++defs, warn-on-use.
25764         (Makefile.am): Update glob.h rule.
25765
25766         fcntl-h: Avoid #define replacements in C++ mode.
25767         * lib/fcntl.in.h: Include c++defs.h.
25768         (fcntl, open, openat): In C++, define a namespaced alias symbol.
25769         * modules/fcntl-h (Depends-on): Add c++defs.
25770         (Makefile.am): Update fcntl.h rule.
25771
25772         dirent: Avoid #define replacements in C++ mode.
25773         * lib/dirent.in.h: Include c++defs.h.
25774         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
25775         namespaced alias symbol.
25776         (dirfd): Update declaration.
25777         * modules/dirent (Depends-on): Add c++defs.
25778         (Makefile.am): Update dirent.h rule.
25779
25780         ctype: Make it usable in C++ code.
25781         * lib/ctype.in.h: Include c++defs.h.
25782         (isblank): Declare as extern "C".
25783         * modules/ctype (Depends-on): Add c++defs.
25784         (Makefile.am): Update ctype.h rule.
25785
25786         New module 'c++defs'.
25787         * modules/c++defs: New file.
25788         * build-aux/c++defs.h: New file.
25789         Reported by John W. Eaton <jwe@gnu.org>.
25790
25791 2010-03-07  Bruno Haible  <bruno@clisp.org>
25792
25793         logb: Provide missing declaration for Cygwin.
25794         * lib/math.in.h (logb): New declaration.
25795         * m4/logb.m4: New file.
25796         * modules/logb (Files): Add m4/logb.m4.
25797         (Depends-on): Add math.
25798         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
25799         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
25800         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
25801         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
25802         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
25803
25804 2010-03-07  Bruno Haible  <bruno@clisp.org>
25805
25806         Fix test-cond link error.
25807         * tests/test-cond.c: Include <stdio.h>.
25808
25809 2010-03-07  Bruno Haible  <bruno@clisp.org>
25810
25811         Fix test-dirent-safer link error.
25812         * modules/dirent-safer-tests (Makefile.am): Define
25813         test_dirent_safer_LDADD.
25814
25815 2010-03-07  Bruno Haible  <bruno@clisp.org>
25816
25817         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
25818         among default module list.
25819
25820 2010-03-07  Bruno Haible  <bruno@clisp.org>
25821
25822         Fix link error on platforms with GNU libiconv.
25823         * modules/unistr/u8-strcoll-tests (Makefile): Define
25824         test_u8_strcoll_LDADD.
25825         * modules/unistr/u16-strcoll-tests (Makefile): Define
25826         test_u16_strcoll_LDADD.
25827         * modules/unistr/u32-strcoll-tests (Makefile): Define
25828         test_u32_strcoll_LDADD.
25829
25830 2010-03-07  Bruno Haible  <bruno@clisp.org>
25831
25832         Use POSIX declarations for socket functions.
25833         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
25834         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
25835         rpl_sendto): Change declaration to match POSIX.
25836         * lib/connect.c (rpl_connect): Likewise.
25837         * lib/accept.c (rpl_accept): Likewise.
25838         * lib/bind.c (rpl_bind): Likewise.
25839         * lib/getpeername.c (rpl_getpeername): Likewise.
25840         * lib/getsockname.c (rpl_getsockname): Likewise.
25841         * lib/recv.c (rpl_recv): Likewise.
25842         * lib/send.c (rpl_send): Likewise.
25843         * lib/recvfrom.c (rpl_recvfrom): Likewise.
25844         * lib/sendto.c (rpl_sendto): Likewise.
25845
25846 2010-03-06  Bruno Haible  <bruno@clisp.org>
25847
25848         Clarify access, euidaccess, faccessat.
25849         * doc/posix-functions/faccessat.texi: Mention security problem under
25850         "Other problems", not "Portability problems".
25851         * doc/posix-functions/access.texi: Likewise. Mention a related security
25852         problem.
25853         * doc/glibc-functions/euidaccess.texi: Mention security problems.
25854         * lib/euidaccess.c: Add comments about platforms.
25855         * lib/unistd.in.h (access, euidaccess): Add warnings.
25856
25857 2010-03-07  Bruno Haible  <bruno@clisp.org>
25858
25859         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
25860         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
25861         (POSIX_SPAWN_SETSCHEDULER): Likewise.
25862         (POSIX_SPAWN_USEVFORK): Define in a way that works when
25863         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
25864         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
25865         declare when POSIX_SPAWN_SETSCHEDULER is zero.
25866         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
25867         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
25868         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
25869         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
25870         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
25871         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
25872         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
25873         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
25874         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
25875         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
25876         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
25877         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
25878         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
25879         Likewise.
25880         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
25881         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
25882         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
25883         Likewise.
25884         * tests/test-spawn.c (main): Make it work when
25885         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
25886
25887 2010-03-07  Bruno Haible  <bruno@clisp.org>
25888
25889         Fix incorrect Makefile.am generation in German locale.
25890         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25891         Execute sed command with character range in C locale.
25892
25893 2010-03-06  Bruno Haible  <bruno@clisp.org>
25894
25895         Tests for module 'iconv-h'.
25896         * modules/iconv-h-tests: New file.
25897         * tests/test-iconv-h.c: New file.
25898
25899         New module 'iconv-h'.
25900         * modules/iconv-h: New file.
25901         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
25902         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
25903         (configure.ac): Remove gl_ICONV_H.
25904         (Makefile.am): Remove rule for iconv.h.
25905
25906 2010-03-06  Bruno Haible  <bruno@clisp.org>
25907
25908         More consistent naming of *.m4 files.
25909         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
25910         * modules/wctype (Files): Update.
25911
25912         More consistent naming of *.m4 files.
25913         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
25914         * modules/wchar (Files): Update.
25915
25916 2010-03-06  Jim Meyering  <meyering@redhat.com>
25917
25918         euidaccess: relax license to LGPLv2+
25919         * modules/euidaccess (License): Relax to LGPLv2+.
25920
25921 2010-03-06  Bruno Haible  <bruno@clisp.org>
25922
25923         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
25924         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
25925         (Makefile.am): Augment lib_SOURCES instead.
25926
25927 2010-03-04  Jim Meyering  <meyering@redhat.com>
25928
25929         utime: remove obsolete module
25930         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
25931         unnecessary for years, and has been marked as obsolete for 10 months.
25932         * modules/utime: Remove file.
25933         * lib/utime.c: Remove file.
25934         * m4/utime.m4: Remove file.
25935         * m4/utimes-null.m4: Remove file.
25936         * doc/posix-functions/utime.texi (utime): Remove reference to
25937         the module.  Move the sole "fixed by gnulib" item into the
25938         "problems not fixed by Gnulib" list.
25939         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
25940
25941 2010-03-05  Simon Josefsson  <simon@josefsson.org>
25942
25943         * modules/exit (License): Relax license to LGPLv2+.
25944         (Status): Mark as obsolete.
25945         * NEWS: Mention deprecated 'exit' module.
25946         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
25947         of now obsolete 'exit'.
25948
25949 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25950
25951         fts-lgpl: remove unused module
25952         * modules/fts-lgpl: Remove.
25953         * MODULES.html.sh (func_all_modules): Adjust.
25954         * check-module (find_included_lib_files): Adjust.
25955         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
25956
25957 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
25958
25959         copy-acl: enhance Solaris ACL error handling
25960         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
25961         * lib/set-mode-acl.c (qset_acl): Likewise.
25962
25963 2010-03-02  Bruno Haible  <bruno@clisp.org>
25964
25965         spawn: Don't override the system defined values on FreeBSD 8.
25966         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
25967         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
25968         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
25969         if HAVE_POSIX_SPAWN is 1.
25970         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
25971
25972 2010-03-01  Bruno Haible  <bruno@clisp.org>
25973
25974         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
25975         regarding Automake.
25976
25977 2010-02-25  Bruno Haible  <bruno@clisp.org>
25978
25979         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
25980         * gnulib-tool: Define 'echo' as a function only before the ksh alias
25981         setting, not afterwards.
25982         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
25983
25984 2010-02-24  Eric Blake  <eblake@redhat.com>
25985
25986         bootstrap, git-version-gen: use timestamp
25987         * build-aux/git-version-gen (scriptversion): Force UTC.
25988         * build-aux/bootstrap (scriptversion): New variable.
25989
25990         bootstrap: allow older git
25991         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
25992         older than 1.6.4.  Requested by the libvirt project.
25993
25994 2010-02-23  Eric Blake  <eblake@redhat.com>
25995
25996         warn-on-use: work with old autoconf
25997         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
25998         AS_VAR semantics of autoconf 2.60.
25999         Reported by Bruno Haible.
26000
26001         bootstrap: improve some comments
26002         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26003         clarification comments.
26004
26005         gettimeofday: provide correct function
26006         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26007         when replacement is declared, otherwise provide gettimeofday.
26008         Reported by Michael Goffioul.
26009
26010 2010-02-23  Jim Meyering  <meyering@redhat.com>
26011
26012         lib-ignore: relax license to "unlimited", not LGPLv2+
26013         * modules/lib-ignore (License): Relax to "unlimited".
26014
26015 2010-02-23  Jim Meyering  <meyering@redhat.com>
26016
26017         lib-ignore: relax license to LGPLv2+
26018         * modules/lib-ignore (License): Relax to LGPLv2+.
26019
26020 2010-02-22  Eric Blake  <eblake@redhat.com>
26021
26022         lseek: avoid bash 3.2 broken pipe bug
26023         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26024         warning from bash 3.2.
26025         Reported by Ben Pfaff, with analysis from Bruno Haible.
26026
26027         bootstrap: support non-FSF copyright holder
26028         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26029         bootstrap.conf override of COPYRIGHT_HOLDER.
26030         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26031
26032         bootstrap: interoperate with gettext 0.14.1
26033         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26034
26035         bootstrap: allow for alternate submodule location
26036         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26037         hardcoding submodule location.
26038         (gnulib_mk): Allow direct use of Makefile.am.
26039
26040         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26041         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26042         rather than reconfiguring where the submodule points.
26043
26044         gettimeofday: restore support for platforms that lack function
26045         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26046         replacement if function is missing.
26047         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26048         * modules/sys_time (Makefile.am): Substitute it.
26049         * lib/sys_time.in.h (gettimeofday): Check it.
26050         Reported by Michael Goffioul.
26051
26052 2010-02-21  Bruno Haible  <bruno@clisp.org>
26053
26054         * lib/stdio.in.h (obstack_printf): Fix typo.
26055
26056 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26057
26058         vc-list-files: use bzr ls's -R option
26059         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26060         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26061
26062 2010-02-21  Jim Meyering  <meyering@redhat.com>
26063
26064         init.sh: fix EXEEXT shims to work also for names like test-prog
26065         * tests/init.sh: Re-exec a better shell, when needed.
26066         If the current shell lacks support for posix $(...), an init.sh-using
26067         test will now try to find a shell that supports that.  If EXEEXT is
26068         nonempty, we also require support for hyphen-in-alias-name and shell
26069         substitutions like ${var#glob}.  Failure to find such a shell results
26070         in a skipped test.
26071
26072 2010-02-21  Bruno Haible  <bruno@clisp.org>
26073
26074         Really work around around "broken pipe" error message from bash 3.2.
26075         * gnulib-tool (func_reset_sigpipe): Remove function.
26076         (echo): In bash 3.2, define to a function that uses printf.
26077         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26078
26079 2010-02-20  Bruno Haible  <bruno@clisp.org>
26080
26081         Restore support for automake 1.9.6 with autoconf 2.61.
26082         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26083         Reported by James Youngman <jay@gnu.org>.
26084
26085 2010-02-20  Bruno Haible  <bruno@clisp.org>
26086
26087         Improve *printf warning condition.
26088         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26089         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26090         and the function is overridden due to SIGPIPE emulation.
26091
26092 2010-02-20  Bruno Haible  <bruno@clisp.org>
26093
26094         * lib/stdio.in.h: Tweak comments.
26095
26096 2010-02-19  Bruno Haible  <bruno@clisp.org>
26097
26098         Make it easier to find modules. New gnulib-tool option '--find'.
26099         * gnulib-tool: New option --find.
26100         (func_usage): Document it.
26101         (func_sanitize_modulelist): New function, extracted from
26102         func_all_modules.
26103         (func_all_modules): Invoke it.
26104         * doc/gnulib-tool.texi (Which modules?): New node.
26105
26106 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26107
26108         * lib/sys_select.in.h: Provide select replacement even if
26109         sys/select.h exists on a system, for Interix.
26110
26111 2010-02-18  Jim Meyering  <meyering@redhat.com>
26112
26113         init.sh: don't use $(...) just yet
26114         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26115         to accommodate e.g., Solaris' /bin/sh.
26116
26117 2010-02-17  Bruno Haible  <bruno@clisp.org>
26118
26119         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26120         Reported by Ludovic Courtès <ludo@gnu.org>.
26121
26122 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26123
26124         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26125         linking with -lintl.
26126
26127 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26128
26129         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26130         if not provided by the system's netdb.h.  Reported by
26131         ludo@gnu.org (Ludovic Courtès).
26132
26133 2010-02-15  Jim Meyering  <meyering@redhat.com>
26134
26135         init.sh: improve portability and efficiency
26136         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26137         "dummy" in a for loop.
26138         Use '!', not '^' to select the complement of a character set used
26139         in a "case" statement.
26140         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26141         Suggestions from Eric Blake.
26142
26143         init.sh: automatically accommodate programs with the .exe suffix
26144         Automatically arrange for an invocation of "prog" to execute the
26145         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26146         may use the simpler "prog", yet still work when built on a system
26147         that requires specifying the added suffix.
26148         Do this by constructing a function named "prog" that invokes
26149         "prog.exe" for each .exe file in selected directories.
26150         * tests/init.sh (find_exe_basenames_): New function.
26151         (create_exe_shim_functions_): New function.
26152         (path_prepend_): Use it.
26153
26154         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26155         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26156         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26157
26158 2010-02-14  Jim Meyering  <meyering@redhat.com>
26159
26160         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26161         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26162         (sc_prohibit_hash_pjw_without_use): New rule.
26163
26164         maint.mk: allow the default upload destination dir to be overridden
26165         * top/maint.mk (upload_dest_dir_): Define with a default that
26166         preserves the status quo.
26167         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26168         Reported by Peter Simons.
26169
26170         maint.mk: prohibit inclusion of "hash.h" without_use
26171         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26172
26173 2010-02-10  Jim Meyering  <meyering@redhat.com>
26174
26175         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26176         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26177
26178 2010-02-09  Eric Blake  <ebb9@byu.net>
26179         and Bruno Haible  <bruno@clisp.org>
26180
26181         obstack-printf-posix: ensure declaration
26182         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26183         extracted from gl_FUNC_OBSTACK_PRINTF.
26184         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26185         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26186         Likewise.
26187         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26188         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26189         0.
26190
26191 2010-02-08  Bruno Haible  <bruno@clisp.org>
26192
26193         gnulib-tool: Fix typo in 2010-02-07 commit.
26194         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26195         Reported by Eric Blake.
26196
26197 2010-02-07  Bruno Haible  <bruno@clisp.org>
26198
26199         gnulib-tool: Fix up caching patches.
26200         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26201         option --no-cache. Use associative arrays when supported by the shell.
26202         (sed_comments): New variable.
26203         (modcache): Renamed from do_cache.
26204         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26205         abbreviate unnecessarily.
26206         (have_associative): New variable.
26207         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26208         way also for ksh and zsh.
26209         (func_init_sed_convert_to_cache_statements): New function, extracted
26210         from func_cache_lookup_module. Add support for associative arrays.
26211         Don't set the c_MODULE_cached variable here. Ignore all lines before
26212         the first field header. Remove only the final newline, not all trailing
26213         newlines. Support empty fields correctly. Limit the use of 'eval' to
26214         assignments.
26215         (func_get_description, func_get_status, func_get_notice,
26216         func_get_applicability, func_get_filelist, func_get_dependencies,
26217         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26218         func_get_automake_snippet, func_get_include_directive,
26219         func_get_link_directive, func_get_license, func_get_maintainer):
26220         Update documentation. List the unoptimized code first. Add support for
26221         associative arrays. Limit the use of 'eval' to assignments.
26222         (func_get_applicability): Undo stylistic pessimisations.
26223         (func_get_automake_snippet, func_get_include_directive): Reduce code
26224         duplication.
26225         (func_modules_transitive_closure, func_modules_add_dummy,
26226         func_modules_notice, func_modules_to_filelist, func_add_file,
26227         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26228         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26229         func_create_testdir, func_create_megatestdir): Update documentation.
26230
26231 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26232
26233         * gnulib-tool (func_cache_lookup_module): Store the module name
26234         belonging to the cache variable; error out if two different
26235         module names map to the same cache variable name.
26236
26237 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26238
26239         gnulib-tool: Make caching optional.
26240         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26241         Update matching short versions of --no-changelog.
26242         (func_usage): Update.
26243         (sed_extract_cache_prog): Renamed from ...
26244         (sed_extract_prog): ... this; revert to old extraction script.
26245         (func_get_description, func_get_status)
26246         (func_get_notice, func_get_applicability, func_get_filelist)
26247         (func_get_dependencies, func_get_autoconf_early_snippet)
26248         (func_get_autoconf_snippet, func_get_automake_snippet)
26249         (func_get_include_directive, func_get_link_directive)
26250         (func_get_license, func_get_maintainer): If $do_cache is false,
26251         use old, non-caching extraction scripts.
26252         Suggestion by Bruno Haible.
26253
26254 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26255
26256         gnulib-tool: cache module metainformation.
26257         * gnulib-tool (sed_extract_prog): Match newline before each
26258         header, and rewrite header to a shell variable suffix.
26259         (func_cache_var, func_cache_lookup_module): New functions,
26260         to turn a module name into a cache variable prefix, and to
26261         look up and cache module metainformation.
26262         (func_get_description, func_get_status)
26263         (func_get_notice, func_get_applicability, func_get_filelist)
26264         (func_get_dependencies, func_get_autoconf_early_snippet)
26265         (func_get_autoconf_snippet, func_get_automake_snippet)
26266         (func_get_include_directive, func_get_link_directive)
26267         (func_get_license, func_get_maintainer): Use
26268         func_cache_lookup_module.
26269
26270 2010-02-07  Bruno Haible  <bruno@clisp.org>
26271
26272         fnctl: Fix missing dependency.
26273         * modules/fcntl (Depends-on): Add getdtablesize.
26274         Reported by John W. Eaton <jwe@gnu.org>.
26275
26276 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26277
26278         Argp: fix recognition of short alias options.
26279
26280         * lib/argp-parse.c (convert_options): Fix improper use of
26281         `|' between character values.
26282         * tests/test-argp.c (group1_option): New alias option
26283         --read (-r).
26284         (group1_parser): Special handling for 'r'.
26285         (test15): New test case.
26286         (test_fun): Add test15.
26287         * tests/test-argp-2.sh: Update expected --help and --usage
26288         outputs.
26289
26290 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26291
26292         * tests/test-argp.c: Fix indentation.
26293
26294 2010-02-04  Eric Blake  <ebb9@byu.net>
26295
26296         gettimeofday: expose type of second argument
26297         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26298         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26299         * tests/test-gettimeofday.c: Use it to silence warning.
26300         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26301         the issue.
26302
26303 2010-02-03  Jim Meyering  <meyering@redhat.com>
26304
26305         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26306         * lib/regcomp.c (TYPE_SIGNED): Define.
26307         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26308
26309         regcomp.c: avoid a new -Wshadow warning
26310         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26311
26312 2010-02-01  Jim Meyering  <meyering@redhat.com>
26313
26314         removing useless parentheses in cpp #define directives
26315         For motivation, see commit c0221df4, "define STREQ(a,b)
26316         consistently, removing useless parentheses"
26317         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26318         * lib/mountlist.c (MNT_IGNORE): Likewise.
26319         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26320
26321 2010-02-01  Eric Blake  <ebb9@byu.net>
26322
26323         sys_time: use link-warning
26324         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26325         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26326         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26327         * modules/sys_time (Depends-on): Add warn-on-use.
26328         (Makefile.am): Always build replacement.
26329         (configure.ac): Update substitutions.
26330         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26331         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26332         bother with SYS_TIME_H.
26333         * modules/gettimeofday (configure.ac): Declare indicator.
26334         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26335         in use.
26336
26337         closein-tests: silence compiler warning
26338         * tests/test-closein.c (main): Ignore fread result.
26339         * modules/closein-tests (Depends-on): Add ignore-value.
26340
26341         tests: silence warning about system return
26342         * tests/test-areadlink-with-size.c (main): Ignore system result.
26343         * tests/test-areadlink.c (main): Likewise.
26344         * tests/test-areadlinkat-with-size.c (main): Likewise.
26345         * tests/test-areadlinkat.c (main): Likewise.
26346         * tests/test-canonicalize-lgpl.c (main): Likewise.
26347         * tests/test-canonicalize.c (main): Likewise.
26348         * tests/test-chown.c (main): Likewise.
26349         * tests/test-fchownat.c (main): Likewise.
26350         * tests/test-fdutimensat.c (main): Likewise.
26351         * tests/test-fstatat.c (main): Likewise.
26352         * tests/test-futimens.c (main): Likewise.
26353         * tests/test-lchown.c (main): Likewise.
26354         * tests/test-link.c (main): Likewise.
26355         * tests/test-linkat.c (main): Likewise.
26356         * tests/test-lstat.c (main): Likewise.
26357         * tests/test-mkdir.c (main): Likewise.
26358         * tests/test-mkdirat.c (main): Likewise.
26359         * tests/test-mkfifo.c (main): Likewise.
26360         * tests/test-mkfifoat.c (main): Likewise.
26361         * tests/test-mknod.c (main): Likewise.
26362         * tests/test-readlink.c (main): Likewise.
26363         * tests/test-remove.c (main): Likewise.
26364         * tests/test-rename.c (main): Likewise.
26365         * tests/test-renameat.c (main): Likewise.
26366         * tests/test-rmdir.c (main): Likewise.
26367         * tests/test-symlink.c (main): Likewise.
26368         * tests/test-symlinkat.c (main): Likewise.
26369         * tests/test-unlink.c (main): Likewise.
26370         * tests/test-unlinkat.c (main): Likewise.
26371         * tests/test-utimens.c (main): Likewise.
26372         * tests/test-utimensat.c (main): Likewise.
26373         * modules/areadlink-tests (Depends-on): Add ignore-value.
26374         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26375         * modules/areadlinkat-tests (Depends-on): Likewise.
26376         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26377         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26378         * modules/canonicalize-tests (Depends-on): Likewise.
26379         * modules/chown-tests (Depends-on): Likewise.
26380         * modules/fdutimensat-tests (Depends-on): Likewise.
26381         * modules/futimens-tests (Depends-on): Likewise.
26382         * modules/lchown-tests (Depends-on): Likewise.
26383         * modules/link-tests (Depends-on): Likewise.
26384         * modules/linkat-tests (Depends-on): Likewise.
26385         * modules/lstat-tests (Depends-on): Likewise.
26386         * modules/mkdir-tests (Depends-on): Likewise.
26387         * modules/mkfifo-tests (Depends-on): Likewise.
26388         * modules/mkfifoat-tests (Depends-on): Likewise.
26389         * modules/mknod-tests (Depends-on): Likewise.
26390         * modules/openat-tests (Depends-on): Likewise.
26391         * modules/readlink-tests (Depends-on): Likewise.
26392         * modules/remove-tests (Depends-on): Likewise.
26393         * modules/rename-tests (Depends-on): Likewise.
26394         * modules/renameat-tests (Depends-on): Likewise.
26395         * modules/rmdir-tests (Depends-on): Likewise.
26396         * modules/symlink-tests (Depends-on): Likewise.
26397         * modules/symlinkat-tests (Depends-on): Likewise.
26398         * modules/unlink-tests (Depends-on): Likewise.
26399         * modules/utimens-tests (Depends-on): Likewise.
26400         * modules/utimensat-tests (Depends-on): Likewise.
26401
26402 2010-01-31  Bruno Haible  <bruno@clisp.org>
26403
26404         Perform the same test for many <math.h> functions.
26405         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26406         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26407         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26408         of gl_MATHFUNC.
26409         * modules/acos (configure.ac): Likewise.
26410         * modules/asin (configure.ac): Likewise.
26411         * modules/atan (configure.ac): Likewise.
26412         * modules/atan2 (configure.ac): Likewise.
26413         * modules/cbrt (configure.ac): Likewise.
26414         * modules/copysign (configure.ac): Likewise.
26415         * modules/cos (configure.ac): Likewise.
26416         * modules/cosh (configure.ac): Likewise.
26417         * modules/erf (configure.ac): Likewise.
26418         * modules/erfc (configure.ac): Likewise.
26419         * modules/exp (configure.ac): Likewise.
26420         * modules/fmod (configure.ac): Likewise.
26421         * modules/hypot (configure.ac): Likewise.
26422         * modules/j0 (configure.ac): Likewise.
26423         * modules/j1 (configure.ac): Likewise.
26424         * modules/jn (configure.ac): Likewise.
26425         * modules/lgamma (configure.ac): Likewise.
26426         * modules/log (configure.ac): Likewise.
26427         * modules/log10 (configure.ac): Likewise.
26428         * modules/log1p (configure.ac): Likewise.
26429         * modules/pow (configure.ac): Likewise.
26430         * modules/remainder (configure.ac): Likewise.
26431         * modules/sin (configure.ac): Likewise.
26432         * modules/sinh (configure.ac): Likewise.
26433         * modules/tan (configure.ac): Likewise.
26434         * modules/tanh (configure.ac): Likewise.
26435         * modules/y0 (configure.ac): Likewise.
26436         * modules/y1 (configure.ac): Likewise.
26437         * modules/yn (configure.ac): Likewise.
26438         Suggested by Paolo Bonzini.
26439
26440 2010-01-31  Bruno Haible  <bruno@clisp.org>
26441
26442         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26443
26444 2010-01-31  Bruno Haible  <bruno@clisp.org>
26445
26446         Work around getdelim() bug on FreeBSD 8.0.
26447         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26448         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26449         not work.
26450         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26451         is 1.
26452         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26453         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26454         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26455         a non-zero size.
26456         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26457
26458 2010-01-31  Bruno Haible  <bruno@clisp.org>
26459
26460         Work around getline() bug on FreeBSD 8.0.
26461         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26462         and a non-zero size.
26463         * tests/test-getline.c (main): Likewise.
26464         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26465         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26466
26467 2010-01-28  Eric Blake  <ebb9@byu.net>
26468
26469         regex: fix build failure
26470         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
26471         platforms.
26472
26473 2010-01-28  Jim Meyering  <meyering@redhat.com>
26474
26475         regex: do not ignore memory allocation failure
26476         * lib/regex_internal.c (create_cd_newstate): Detect
26477         re_node_set_init_copy failure.   Extracted from glibc commit
26478         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26479
26480         regex: sync more white-space changes from libc
26481         * lib/regex_internal.c: White-space only changes.
26482         * lib/regexec.c: Likewise.
26483
26484         regex: add many uses of __attribute_warn_unused_result__
26485         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
26486         * lib/regexec.c: Likewise.
26487         Extracted from a messy glibc commit.
26488
26489         regcomp.c: spelling and merge-artifact from glibc
26490         * lib/regcomp.c: Merge remainder of glibc's
26491         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26492
26493         regcomp.c: sync white-space changes from glibc
26494         * lib/regcomp.c: Merge to accommodate white space
26495         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26496
26497         regcomp.c: do not ignore internal return values
26498         * lib/regcomp.c: Do not ignore internal return values.
26499         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
26500         but without its white-space changes and spelling fixes.
26501
26502         regex_internal.h: define __attribute_warn_unused_result__
26503         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
26504
26505         maint: add a syntax-check rule to check for vulnerable Makefile.in
26506         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26507
26508 2010-01-27  Jim Meyering  <meyering@redhat.com>
26509
26510         ncftpput-ftp: clean up spaces
26511         * build-aux/ncftpput-ftp: Make Copyright line consistent.
26512         Remove trailing blanks.
26513
26514 2010-01-27  Simon Josefsson  <simon@josefsson.org>
26515
26516         * build-aux/git-version-gen: Fix copyright statement.
26517         * build-aux/gnupload: Likewise.
26518         * tests/test-arcfour.c: Likewise.
26519         * tests/test-arctwo.c: Likewise.
26520         * tests/test-count-one-bits.c: Likewise.
26521         * tests/test-crc.c: Likewise.
26522         * tests/test-des.c: Likewise.
26523         * tests/test-gc-arcfour.c: Likewise.
26524         * tests/test-gc-arctwo.c: Likewise.
26525         * tests/test-gc-des.c: Likewise.
26526         * tests/test-gc-hmac-md5.c: Likewise.
26527         * tests/test-gc-hmac-sha1.c: Likewise.
26528         * tests/test-gc-md2.c: Likewise.
26529         * tests/test-gc-md4.c: Likewise.
26530         * tests/test-gc-md5.c: Likewise.
26531         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26532         * tests/test-gc-rijndael.c: Likewise.
26533         * tests/test-gc-sha1.c: Likewise.
26534         * tests/test-gc.c: Likewise.
26535         * tests/test-gethostname.c: Likewise.
26536         * tests/test-gettimeofday.c: Likewise.
26537         * tests/test-hash.c: Likewise.
26538         * tests/test-hmac-md5.c: Likewise.
26539         * tests/test-hmac-sha1.c: Likewise.
26540         * tests/test-md2.c: Likewise.
26541         * tests/test-md4.c: Likewise.
26542         * tests/test-md5.c: Likewise.
26543         * tests/test-memchr.c: Likewise.
26544         * tests/test-memchr2.c: Likewise.
26545         * tests/test-memcmp.c: Likewise.
26546         * tests/test-memmem.c: Likewise.
26547         * tests/test-memrchr.c: Likewise.
26548         * tests/test-rawmemchr.c: Likewise.
26549         * tests/test-read-file.c: Likewise.
26550         * tests/test-rijndael.c: Likewise.
26551         * tests/test-sockets.c: Likewise.
26552         * tests/test-strchrnul.c: Likewise.
26553         * tests/test-strstr.c: Likewise.
26554         * tests/test-strtod.c: Likewise.
26555         * build-aux/ncftpput-ftp: Likewise.
26556
26557 2010-01-26  Eric Blake  <ebb9@byu.net>
26558
26559         ignore-value: update recommended header name
26560         * modules/ignore-value (Include): Only use <> for headers that
26561         exist in glibc.
26562
26563 2010-01-26  Jim Meyering  <meyering@redhat.com>
26564
26565         test-userspec.c: avoid compiler warnings
26566         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
26567         and "initialization discards qualifiers..." warnings.
26568         Put the first "uid" in its own scope, and make char* members "const".
26569
26570 2010-01-25  Bruno Haible  <bruno@clisp.org>
26571
26572         gnulib-tool: Make warning diagnostics consistent.
26573         * gnulib-tool (func_warning): New function.
26574         Use it everywhere where gnulib-tool produces output to stderr and it is
26575         not a fatal error.
26576
26577 2010-01-25  Bruno Haible  <bruno@clisp.org>
26578
26579         Fix test dependencies.
26580         * modules/xstrtol-tests (Depends-on): Add inttypes.
26581         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
26582
26583 2010-01-25 Pádraig Brady <P@draigBrady.com>
26584
26585         syntax-check: detect incorrect boolean macro values in config.h
26586         * modules/maintainer-makefile (configure.ac): Parameterize the location
26587         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
26588         The logic is from Eric Blake and the location indicated by Jim Meyering.
26589         Note the more natural CONFIG_HEADER name is prohibited by automake
26590         for backwards compatibility reasons.
26591         * top/maint.mk (sc_Wundef_boolean): New rule.
26592
26593 2010-01-25  Jim Meyering  <meyering@redhat.com>
26594
26595         bootstrap: detect MacOS 10.6's shasum, too
26596         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
26597         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
26598
26599 2010-01-23  Jim Meyering  <meyering@redhat.com>
26600
26601         xstrtoll: new module
26602         * modules/xstrtoll: New file.
26603         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
26604         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
26605         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
26606         ./configure fails if you use this module and lack "long long".
26607         * modules/xstrtoll-tests: New module.
26608         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
26609         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
26610         new init.sh-based test framework.
26611
26612 2010-01-24  Bruno Haible  <bruno@clisp.org>
26613
26614         Tests for module 'yn'.
26615         * modules/yn-tests: New file.
26616         * tests/test-yn.c: New file.
26617
26618         Tests for module 'y1'.
26619         * modules/y1-tests: New file.
26620         * tests/test-y1.c: New file.
26621
26622         Tests for module 'y0'.
26623         * modules/y0-tests: New file.
26624         * tests/test-y0.c: New file.
26625
26626         Tests for module 'tanh'.
26627         * modules/tanh-tests: New file.
26628         * tests/test-tanh.c: New file.
26629
26630         Tests for module 'tan'.
26631         * modules/tan-tests: New file.
26632         * tests/test-tan.c: New file.
26633
26634         Tests for module 'sqrt'.
26635         * modules/sqrt-tests: New file.
26636         * tests/test-sqrt.c: New file.
26637
26638         Tests for module 'sinh'.
26639         * modules/sinh-tests: New file.
26640         * tests/test-sinh.c: New file.
26641
26642         Tests for module 'sin'.
26643         * modules/sin-tests: New file.
26644         * tests/test-sin.c: New file.
26645
26646         Tests for module 'rint'.
26647         * modules/rint-tests: New file.
26648         * tests/test-rint.c: New file.
26649
26650         Tests for module 'remainder'.
26651         * modules/remainder-tests: New file.
26652         * tests/test-remainder.c: New file.
26653
26654         Tests for module 'pow'.
26655         * modules/pow-tests: New file.
26656         * tests/test-pow.c: New file.
26657
26658         Tests for module 'nextafter'.
26659         * modules/nextafter-tests: New file.
26660         * tests/test-nextafter.c: New file.
26661
26662         Tests for module 'modf'.
26663         * modules/modf-tests: New file.
26664         * tests/test-modf.c: New file.
26665
26666         Tests for module 'logb'.
26667         * modules/logb-tests: New file.
26668         * tests/test-logb.c: New file.
26669
26670         Tests for module 'log1p'.
26671         * modules/log1p-tests: New file.
26672         * tests/test-log1p.c: New file.
26673
26674         Tests for module 'log10'.
26675         * modules/log10-tests: New file.
26676         * tests/test-log10.c: New file.
26677
26678         Tests for module 'log'.
26679         * modules/log-tests: New file.
26680         * tests/test-log.c: New file.
26681
26682         Tests for module 'lgamma'.
26683         * modules/lgamma-tests: New file.
26684         * tests/test-lgamma.c: New file.
26685
26686         Tests for module 'ldexp'.
26687         * modules/ldexp-tests: New file.
26688         * tests/test-ldexp.c: New file.
26689
26690         Tests for module 'jn'.
26691         * modules/jn-tests: New file.
26692         * tests/test-jn.c: New file.
26693
26694         Tests for module 'j1'.
26695         * modules/j1-tests: New file.
26696         * tests/test-j1.c: New file.
26697
26698         Tests for module 'j0'.
26699         * modules/j0-tests: New file.
26700         * tests/test-j0.c: New file.
26701
26702         Tests for module 'hypot'.
26703         * modules/hypot-tests: New file.
26704         * tests/test-hypot.c: New file.
26705
26706         Tests for module 'fmod'.
26707         * modules/fmod-tests: New file.
26708         * tests/test-fmod.c: New file.
26709
26710         Tests for module 'fabs'.
26711         * modules/fabs-tests: New file.
26712         * tests/test-fabs.c: New file.
26713
26714         Tests for module 'exp'.
26715         * modules/exp-tests: New file.
26716         * tests/test-exp.c: New file.
26717
26718         Tests for module 'erfc'.
26719         * modules/erfc-tests: New file.
26720         * tests/test-erfc.c: New file.
26721
26722         Tests for module 'erf'.
26723         * modules/erf-tests: New file.
26724         * tests/test-erf.c: New file.
26725
26726         Tests for module 'cosh'.
26727         * modules/cosh-tests: New file.
26728         * tests/test-cosh.c: New file.
26729
26730         Tests for module 'cos'.
26731         * modules/cos-tests: New file.
26732         * tests/test-cos.c: New file.
26733
26734         Tests for module 'copysign'.
26735         * modules/copysign-tests: New file.
26736         * tests/test-copysign.c: New file.
26737
26738         Tests for module 'cbrt'.
26739         * modules/cbrt-tests: New file.
26740         * tests/test-cbrt.c: New file.
26741
26742         Tests for module 'atan2'.
26743         * modules/atan2-tests: New file.
26744         * tests/test-atan2.c: New file.
26745
26746         Tests for module 'atan'.
26747         * modules/atan-tests: New file.
26748         * tests/test-atan.c: New file.
26749
26750         Tests for module 'asin'.
26751         * modules/asin-tests: New file.
26752         * tests/test-asin.c: New file.
26753
26754         Tests for module 'acos'.
26755         * modules/acos-tests: New file.
26756         * tests/test-acos.c: New file.
26757
26758 2010-01-24  Bruno Haible  <bruno@clisp.org>
26759
26760         Fix tests for common <math.h> functions.
26761         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
26762         code snippet that references the function pointer, rather than merely
26763         calling the function. Substitute the FUNC_LIBM variable.
26764         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
26765         * modules/acos (configure.ac): Likewise.
26766         * modules/asin (configure.ac): Likewise.
26767         * modules/atan (configure.ac): Likewise.
26768         * modules/atan2 (configure.ac): Likewise.
26769         * modules/cbrt (configure.ac): Likewise.
26770         * modules/copysign (configure.ac): Likewise.
26771         * modules/cos (configure.ac): Likewise.
26772         * modules/cosh (configure.ac): Likewise.
26773         * modules/erf (configure.ac): Likewise.
26774         * modules/erfc (configure.ac): Likewise.
26775         * modules/exp (configure.ac): Likewise.
26776         * modules/fabs (configure.ac): Likewise.
26777         * modules/fmod (configure.ac): Likewise.
26778         * modules/hypot (configure.ac): Likewise.
26779         * modules/j0 (configure.ac): Likewise.
26780         * modules/j1 (configure.ac): Likewise.
26781         * modules/jn (configure.ac): Likewise.
26782         * modules/ldexp (configure.ac): Likewise.
26783         * modules/lgamma (configure.ac): Likewise.
26784         * modules/log (configure.ac): Likewise.
26785         * modules/log10 (configure.ac): Likewise.
26786         * modules/log1p (configure.ac): Likewise.
26787         * modules/logb (configure.ac): Likewise.
26788         * modules/modf (configure.ac): Likewise.
26789         * modules/nextafter (configure.ac): Likewise.
26790         * modules/pow (configure.ac): Likewise.
26791         * modules/remainder (configure.ac): Likewise.
26792         * modules/rint (configure.ac): Likewise.
26793         * modules/sin (configure.ac): Likewise.
26794         * modules/sinh (configure.ac): Likewise.
26795         * modules/tan (configure.ac): Likewise.
26796         * modules/tanh (configure.ac): Likewise.
26797         * modules/y0 (configure.ac): Likewise.
26798         * modules/y1 (configure.ac): Likewise.
26799         * modules/yn (configure.ac): Likewise.
26800
26801 2010-01-24  Bruno Haible  <bruno@clisp.org>
26802
26803         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
26804         * tests/test-acosl.c (x): New variable.
26805         (main): Store argument in x and fetch it from x.
26806         * tests/test-asinl.c (x): New variable.
26807         (main): Store argument in x and fetch it from x.
26808         * tests/test-atanl.c (x): New variable.
26809         (main): Store argument in x and fetch it from x.
26810         * tests/test-cosl.c (x): New variable.
26811         (main): Store argument in x and fetch it from x.
26812         * tests/test-expl.c (x): New variable.
26813         (main): Store argument in x and fetch it from x.
26814         * tests/test-logl.c (x): New variable.
26815         (main): Store argument in x and fetch it from x.
26816         * tests/test-sinl.c (x): New variable.
26817         (main): Store argument in x and fetch it from x.
26818         * tests/test-sqrtl.c (x): New variable.
26819         (main): Store argument in x and fetch it from x.
26820         * tests/test-tanl.c (x): New variable.
26821         (main): Store argument in x and fetch it from x.
26822
26823 2010-01-24  Bruno Haible  <bruno@clisp.org>
26824
26825         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
26826         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
26827         assignments to the initial TESTS_ENVIRONMENT.
26828         * doc/gnulib.texi (Unit test modules): Document it.
26829         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
26830         TESTS_ENVIRONMENT.
26831         * modules/btowc-tests (Makefile.am): Likewise.
26832         * modules/c-stack-tests (Makefile.am): Likewise.
26833         * modules/c-strcase-tests (Makefile.am): Likewise.
26834         * modules/copy-file-tests (Makefile.am): Likewise.
26835         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
26836         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
26837         * modules/mbrtowc-tests (Makefile.am): Likewise.
26838         * modules/mbscasecmp-tests (Makefile.am): Likewise.
26839         * modules/mbscasestr-tests (Makefile.am): Likewise.
26840         * modules/mbschr-tests (Makefile.am): Likewise.
26841         * modules/mbscspn-tests (Makefile.am): Likewise.
26842         * modules/mbsinit-tests (Makefile.am): Likewise.
26843         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
26844         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
26845         * modules/mbspbrk-tests (Makefile.am): Likewise.
26846         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
26847         * modules/mbsrchr-tests (Makefile.am): Likewise.
26848         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
26849         * modules/mbsspn-tests (Makefile.am): Likewise.
26850         * modules/mbsstr-tests (Makefile.am): Likewise.
26851         * modules/nl_langinfo-tests (Makefile.am): Likewise.
26852         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
26853         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
26854         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
26855         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
26856         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
26857         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
26858         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
26859         * modules/wcrtomb-tests (Makefile.am): Likewise.
26860         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
26861         * modules/wcsrtombs-tests (Makefile.am): Likewise.
26862         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
26863         assignments from TESTS_ENVIRONMENT.
26864         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
26865         augmentation.
26866         * modules/argp-version-etc-tests (Makefile.am): Likewise.
26867         * modules/atexit-tests (Makefile.am): Likewise.
26868         * modules/binary-io-tests (Makefile.am): Likewise.
26869         * modules/closein-tests (Makefile.am): Likewise.
26870         * modules/dprintf-posix-tests (Makefile.am): Likewise.
26871         * modules/exclude-tests (Makefile.am): Likewise.
26872         * modules/fflush-tests (Makefile.am): Likewise.
26873         * modules/fpending-tests (Makefile.am): Likewise.
26874         * modules/fprintf-posix-tests (Makefile.am): Likewise.
26875         * modules/freadahead-tests (Makefile.am): Likewise.
26876         * modules/freadptr-tests (Makefile.am): Likewise.
26877         * modules/freadseek-tests (Makefile.am): Likewise.
26878         * modules/fseek-tests (Makefile.am): Likewise.
26879         * modules/fseeko-tests (Makefile.am): Likewise.
26880         * modules/ftell-tests (Makefile.am): Likewise.
26881         * modules/ftello-tests (Makefile.am): Likewise.
26882         * modules/idpriv-drop-tests (Makefile.am): Likewise.
26883         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
26884         * modules/lseek-tests (Makefile.am): Likewise.
26885         * modules/parse-duration-tests (Makefile.am): Likewise.
26886         * modules/perror-tests (Makefile.am): Likewise.
26887         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
26888         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
26889         * modules/pipe-tests (Makefile.am): Likewise.
26890         * modules/pread-tests (Makefile.am): Likewise.
26891         * modules/printf-posix-tests (Makefile.am): Likewise.
26892         * modules/select-tests (Makefile.am): Likewise.
26893         * modules/sigpipe-tests (Makefile.am): Likewise.
26894         * modules/tsearch-tests (Makefile.am): Likewise.
26895         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
26896         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
26897         * modules/uniname/uniname-tests (Makefile.am): Likewise.
26898         * modules/uniwidth/width-tests (Makefile.am): Likewise.
26899         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
26900         * modules/version-etc-tests (Makefile.am): Likewise.
26901         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
26902         * modules/vprintf-posix-tests (Makefile.am): Likewise.
26903         * modules/xalloc-die-tests (Makefile.am): Likewise.
26904         * modules/xprintf-posix-tests (Makefile.am): Likewise.
26905         * modules/xstrtoimax-tests (Makefile.am): Likewise.
26906         * modules/xstrtol-tests (Makefile.am): Likewise.
26907         * modules/xstrtoumax-tests (Makefile.am): Likewise.
26908         * modules/yesno-tests (Makefile.am): Likewise.
26909         Suggested by Jim Meyering.
26910
26911 2010-01-24  Bruno Haible  <bruno@clisp.org>
26912
26913         More documentation.
26914         * doc/gnulib.texi (Writing modules): New chapter.
26915         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
26916         the new chapter.
26917
26918 2010-01-24  Jim Meyering  <meyering@redhat.com>
26919
26920         maint.mk: do not prepend "./" after filtering
26921         * top/maint.mk (_prepend_srcdir_prefix): New variable
26922         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
26923         "./" when $(srcdir) is ".".
26924
26925         define STREQ(a,b) consistently, removing useless parentheses
26926         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
26927         since the only risk is that "a" or "b" contains an unparenthesized
26928         comma, but if either did that, STREQ would have 3 or more arguments.
26929         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
26930         * lib/fts.c (STREQ): Remove unnecessary parentheses.
26931         * lib/hash-triple.c (STREQ): Likewise.
26932         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
26933         * lib/getugroups.c (STREQ): Likewise.
26934
26935 2010-01-23  Jim Meyering  <meyering@redhat.com>
26936
26937         maint.mk: fix syntax-check in a non-srcdir build directory
26938         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
26939         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
26940
26941 2010-01-22  Jim Meyering  <meyering@redhat.com>
26942
26943         userspec: add unit tests
26944         * tests/test-userspec.c: New file.
26945         * modules/userspec-tests: Likewise.
26946
26947 2010-01-21  Jim Meyering  <meyering@redhat.com>
26948
26949         maint.mk: handle source file names containing "." robustly
26950         * top/maint.mk (_dot_escaped_srcdir): Define.
26951         (VC_LIST): Use it in LHS of sed substitution.
26952
26953 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
26954
26955         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
26956         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
26957         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
26958         from a non-srcdir build.
26959
26960 2010-01-20  Eric Blake  <ebb9@byu.net>
26961
26962         warn-on-use: use instead of link-warning
26963         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
26964         * modules/unistd (Depends-on, Makefile.am): Likewise.
26965         * modules/arpa_inet (Depends-on): Replace link-warning with
26966         warn-on-use.
26967         (Makefile.am): Update rules accordingly.
26968         * modules/ctype (Depends-on, Makefile.am): Likewise.
26969         * modules/dirent (Depends-on, Makefile.am): Likewise.
26970         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
26971         * modules/inttypes (Depends-on, Makefile.am): Likewise.
26972         * modules/langinfo (Depends-on, Makefile.am): Likewise.
26973         * modules/locale (Depends-on, Makefile.am): Likewise.
26974         * modules/math (Depends-on, Makefile.am): Likewise.
26975         * modules/search (Depends-on, Makefile.am): Likewise.
26976         * modules/signal (Depends-on, Makefile.am): Likewise.
26977         * modules/spawn (Depends-on, Makefile.am): Likewise.
26978         * modules/stdlib (Depends-on, Makefile.am): Likewise.
26979         * modules/string (Depends-on, Makefile.am): Likewise.
26980         * modules/strings (Depends-on, Makefile.am): Likewise.
26981         * modules/sys_file (Depends-on, Makefile.am): Likewise.
26982         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
26983         * modules/sys_select (Depends-on, Makefile.am): Likewise.
26984         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
26985         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
26986         * modules/sys_times (Depends-on, Makefile.am): Likewise.
26987         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
26988         * modules/wchar (Depends-on, Makefile.am): Likewise.
26989         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
26990         should be poisoned.
26991         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
26992         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
26993         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
26994         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26995         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
26996         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26997         * m4/math_h.m4 (gl_MATH_H): Likewise.
26998         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
26999         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27000         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27001         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27002         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27003         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27004         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27005         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27006         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27007         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27008         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27009         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27010         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27011         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27012         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27013         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27014         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27015         GL_LINK_WARNING.
27016         * lib/ctype.in.h: Likewise.
27017         * lib/dirent.in.h: Likewise.
27018         * lib/fcntl.in.h: Likewise.
27019         * lib/inttypes.in.h: Likewise.
27020         * lib/langinfo.in.h: Likewise.
27021         * lib/locale.in.h: Likewise.
27022         * lib/math.in.h: Likewise.
27023         * lib/search.in.h: Likewise.
27024         * lib/signal.in.h: Likewise.
27025         * lib/spawn.in.h: Likewise.
27026         * lib/stdio.in.h: Likewise.
27027         * lib/stdlib.in.h: Likewise.
27028         * lib/string.in.h: Likewise.
27029         * lib/strings.in.h: Likewise.
27030         * lib/sys_file.in.h: Likewise.
27031         * lib/sys_ioctl.in.h: Likewise.
27032         * lib/sys_select.in.h: Likewise.
27033         * lib/sys_socket.in.h: Likewise.
27034         * lib/sys_stat.in.h: Likewise.
27035         * lib/sys_times.in.h: Likewise.
27036         * lib/sys_utsname.in.h: Likewise.
27037         * lib/unistd.in.h: Likewise.
27038         * lib/wchar.in.h: Likewise.
27039
27040 2010-01-20  Bruno Haible  <bruno@clisp.org>
27041
27042         Avoid duplicate -lm.
27043         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27044         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27045         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27046         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27047         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27048         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27049         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27050         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27051         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27052         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27053         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27054         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27055         Reported by Paolo Bonzini.
27056
27057 2010-01-19  Bruno Haible  <bruno@clisp.org>
27058
27059         langinfo, nl_langinfo: Relicense under LGPLv2+.
27060         * modules/langinfo (License): Change to LGPLv2+.
27061         * modules/nl_langinfo (License): Likewise.
27062         Patch by David Lutterkort <lutter@redhat.com>.
27063
27064 2010-01-19  Bruno Haible  <bruno@clisp.org>
27065
27066         Avoid compilation error with cc on OSF/1 5.1.
27067         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27068         statement, not before.
27069         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27070
27071 2010-01-18  Bruno Haible  <bruno@clisp.org>
27072
27073         Avoid a link error due to the __printf__ symbol.
27074         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27075         and 2.6.x.
27076         (__format__, __printf__): Remove definitions.
27077         * lib/argp-fmtstream.h: Likewise.
27078         * lib/argp.h: Likewise.
27079         * lib/error.h: Likewise.
27080         * lib/vasnprintf.h: Likewise.
27081         * lib/xprintf.h: Likewise.
27082         * lib/xvasprintf.h: Likewise.
27083         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27084
27085 2010-01-18  Bruno Haible  <bruno@clisp.org>
27086
27087         Tests for module 'tanl'.
27088         * modules/tanl-tests: New file.
27089         * tests/test-tanl.c: New file.
27090
27091         Tests for module 'sqrtl'.
27092         * modules/sqrtl-tests: New file.
27093         * tests/test-sqrtl.c: New file.
27094
27095         Tests for module 'sinl'.
27096         * modules/sinl-tests: New file.
27097         * tests/test-sinl.c: New file.
27098
27099         Tests for module 'logl'.
27100         * modules/logl-tests: New file.
27101         * tests/test-logl.c: New file.
27102
27103         Tests for module 'expl'.
27104         * modules/expl-tests: New file.
27105         * tests/test-expl.c: New file.
27106
27107         Tests for module 'cosl'.
27108         * modules/cosl-tests: New file.
27109         * tests/test-cosl.c: New file.
27110
27111         Tests for module 'atanl'.
27112         * modules/atanl-tests: New file.
27113         * tests/test-atanl.c: New file.
27114
27115         Tests for module 'asinl'.
27116         * modules/asinl-tests: New file.
27117         * tests/test-asinl.c: New file.
27118
27119         Tests for module 'acosl'.
27120         * modules/acosl-tests: New file.
27121         * tests/test-acosl.c: New file.
27122
27123         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27124         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27125         tanl): Use the standard gnulib idiom.
27126         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27127         * lib/sinl.c: Likewise.
27128         * lib/tanl.c: Don't include trigl.c.
27129         (kernel_tanl): Make static.
27130         * lib/sincosl.c: Include trigl.h first.
27131         * lib/trigl.c: Likewise.
27132         * m4/acosl.m4: New file.
27133         * m4/asinl.m4: New file.
27134         * m4/atanl.m4: New file.
27135         * m4/cosl.m4: New file.
27136         * m4/expl.m4: New file.
27137         * m4/logl.m4: New file.
27138         * m4/sinl.m4: New file.
27139         * m4/sqrtl.m4: New file.
27140         * m4/tanl.m4: New file.
27141         * m4/mathl.m4: Remove file.
27142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27143         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27144         Don't initialize GNULIB_MATHL.
27145         * modules/acosl: New file.
27146         * modules/asinl: New file.
27147         * modules/atanl: New file.
27148         * modules/cosl: New file.
27149         * modules/expl: New file.
27150         * modules/logl: New file.
27151         * modules/sinl: New file.
27152         * modules/sqrtl: New file.
27153         * modules/tanl: New file.
27154         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27155         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27156         substitute GNULIB_MATHL.
27157         * modules/mathl: Rewritten.
27158         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27159         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27160         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27161         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27162         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27163         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27164         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27165         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27166         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27167
27168 2010-01-18  Bruno Haible  <bruno@clisp.org>
27169
27170         sqrt: Make gl_FUNC_SQRT requirable.
27171         * m4/sqrt.m4: New file.
27172         * modules/sqrt (Files): Add it.
27173         (configure.ac): Invoke gl_FUNC_SQRT.
27174
27175 2010-01-18  Bruno Haible  <bruno@clisp.org>
27176
27177         New modules for common <math.h> functions.
27178         * m4/mathfunc.m4: New file.
27179         * modules/acos: New file.
27180         * modules/asin: New file.
27181         * modules/atan: New file.
27182         * modules/atan2: New file.
27183         * modules/cbrt: New file.
27184         * modules/copysign: New file.
27185         * modules/cos: New file.
27186         * modules/cosh: New file.
27187         * modules/erf: New file.
27188         * modules/erfc: New file.
27189         * modules/exp: New file.
27190         * modules/fabs: New file.
27191         * modules/fmod: New file.
27192         * modules/hypot: New file.
27193         * modules/j0: New file.
27194         * modules/j1: New file.
27195         * modules/jn: New file.
27196         * modules/ldexp: New file.
27197         * modules/lgamma: New file.
27198         * modules/log: New file.
27199         * modules/log10: New file.
27200         * modules/log1p: New file.
27201         * modules/logb: New file.
27202         * modules/modf: New file.
27203         * modules/nextafter: New file.
27204         * modules/pow: New file.
27205         * modules/remainder: New file.
27206         * modules/rint: New file.
27207         * modules/sin: New file.
27208         * modules/sinh: New file.
27209         * modules/sqrt: New file.
27210         * modules/tan: New file.
27211         * modules/tanh: New file.
27212         * modules/y0: New file.
27213         * modules/y1: New file.
27214         * modules/yn: New file.
27215         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27216         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27217         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27218         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27219         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27220         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27221         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27222         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27223         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27224         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27225         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27226         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27227         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27228         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27229         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27230         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27231         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27232         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27233         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27234         * doc/posix-functions/log.texi: Mention the 'log' module.
27235         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27236         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27237         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27238         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27239         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27240         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27241         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27242         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27243         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27244         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27245         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27246         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27247         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27248         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27249         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27250         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27251
27252 2010-01-18  Jim Meyering  <meyering@redhat.com>
27253
27254         ignore-value: relax license to LGPLv2+
27255         * modules/ignore-value (License): Relax to LGPLv2+.
27256
27257         getdate: don't leak when TZ contains two or more '"'s
27258         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27259         double quote in TZ after the first one.
27260
27261         readtokens: do not leak internal token_lengths buffer
27262         * lib/readtokens.c (readtokens): Free the local, lengths,
27263         when the supplied "token_lengths" parameter is NULL.
27264
27265 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27266
27267         Fix a couple of missing LIBTHREAD link failures on AIX.
27268         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27269         $(LIBTHREAD).
27270         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27271
27272         Link test-poll against INET_PTON_LIB.
27273         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27274         for inet_pton on Solaris 10.
27275
27276 2010-01-17  Bruno Haible  <bruno@clisp.org>
27277
27278         unistdio/*-sprintf: Fix typo in module description.
27279         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27280         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27281         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27282         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27283         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27284         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27285         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27286         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27287
27288 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27289
27290         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27291         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27292         variables in shell case patterns, for AIX and HP-UX ksh.
27293
27294         Split large sed scripts, for HP-UX sed.
27295         * modules/stdio: Split sed scripts around 50 sed commands,
27296         to avoid HP-UX limit of 99 commands, in the near future.
27297         * modules/string: Likewise.
27298         * modules/unistd: Likewise.
27299
27300         gnulib-tool: avoid writing in the current directory.
27301         * gnulib-tool (func_emit_lib_Makefile_am)
27302         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27303         not in the current directory, so concurrent gnulib-tool
27304         instances do not interfere.
27305
27306 2010-01-16  Jim Meyering  <meyering@redhat.com>
27307
27308         doc: update users.txt
27309         * users.txt: Add grep.
27310         (diffutils, gzip): Update URLs.
27311
27312 2010-01-12  Bruno Haible  <bruno@clisp.org>
27313
27314         posix_spawn: Avoid test failure on Cygwin.
27315         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27316         characters.
27317         Reported by Simon Josefsson.
27318
27319 2010-01-12  Bruno Haible  <bruno@clisp.org>
27320
27321         * tests/test-cond.c (main): When skipping the test, show the reason.
27322
27323 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27324
27325         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27326
27327 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27328
27329         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27330         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27331
27332 2010-01-12  Eric Blake  <ebb9@byu.net>
27333
27334         build: guarantee AS_VAR_IF
27335         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27336         (gl_AS_VAR_IF): Move...
27337         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27338         Reported by Simon Josefsson.
27339
27340 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27341
27342         * lib/stdio.in.h: Fix typo.
27343
27344 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27345
27346         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27347         libgpg-error.
27348
27349 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27350
27351         * tests/test-xalloc-die.sh: Use $EXEEXT.
27352
27353 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27354             Bruno Haible  <bruno@clisp.org>
27355
27356         getlogin, getlogin_r: Avoid test failure.
27357         * tests/test-getlogin.c: Include <stdio.h>.
27358         (main): Skip the test when the function fails because stdin is not a
27359         tty.
27360         * tests/test-getlogin_r.c: Include <stdio.h>.
27361         (main): Skip the test when the function fails because stdin is not a
27362         tty.
27363
27364 2010-01-11  Eric Blake  <ebb9@byu.net>
27365
27366         tests: avoid more large file warnings
27367         * tests/test-fflush.c: Avoid warning about ftell use.
27368         * tests/test-fseek.c: Avoid warning about fseek use.
27369
27370 2010-01-10  Bruno Haible  <bruno@clisp.org>
27371
27372         nproc: Work better on Linux when /proc and /sys are not mounted.
27373         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27374         as lower bound when, on glibc/Linux systems,
27375         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27376         Suggested by Pádraig Brady <P@draigbrady.com>.
27377         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27378
27379         nproc: Refactor.
27380         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27381         extracted from num_processors.
27382         (num_processors): Call it.
27383
27384 2010-01-11  Jim Meyering  <meyering@redhat.com>
27385
27386         utimecmp: avoid new warning from upcoming gcc-4.5.0
27387         * lib/utimecmp.c (BILLION): Define using #define rather than an
27388         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27389
27390 2010-01-11  Eric Blake  <ebb9@byu.net>
27391
27392         math: add portability warnings for classification macros
27393         * modules/math (Depends-on): Add warn-on-use.
27394         (Makefile.am): Provide new substitutions.
27395         * m4/math_h.m4 (gl_MATH_H): Require inline.
27396         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27397         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27398         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27399         implement warnings.
27400
27401         unistd: warn on use of environ without module
27402         * modules/unistd (Depends-on): Add warn-on-use.
27403         (Makefile.am): Provide new substitutions.
27404         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27405         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27406
27407         stdio: warn on suspicious uses
27408         * modules/stdio (Depends-on): Add warn-on-use.
27409         (Makefile.am): Provide new substitutions.
27410         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27411         fseeko.
27412         * lib/stdio.in.h (gets): Always warn on use.
27413         (fseek, ftell): Adjust when warnings are issued, and honor
27414         _GL_NO_LARGE_FILES as a way to silence the warning.
27415         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27416         any warning about large file offsets.
27417         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27418         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27419         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27420         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27421         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27422         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27423         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27424         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27425
27426         warn-on-use: new module
27427         * modules/warn-on-use: New file.
27428         * build-aux/warn-on-use.h: Likewise.
27429         * m4/warn-on-use.m4: Likewise.
27430         * MODULES.html.sh (Support for building): Mention it.
27431
27432 2010-01-10  Bruno Haible  <bruno@clisp.org>
27433
27434         Tests for module 'unistr/u32-strdup'.
27435         * modules/unistr/u32-strdup-tests: New file.
27436         * tests/unistr/test-u32-strdup.c: New file.
27437
27438         Tests for module 'unistr/u16-strdup'.
27439         * modules/unistr/u16-strdup-tests: New file.
27440         * tests/unistr/test-u16-strdup.c: New file.
27441
27442         Tests for module 'unistr/u8-strdup'.
27443         * modules/unistr/u8-strdup-tests: New file.
27444         * tests/unistr/test-u8-strdup.c: New file.
27445         * tests/unistr/test-strdup.h: New file.
27446
27447         Tests for module 'unistr/u32-strncmp'.
27448         * modules/unistr/u32-strncmp-tests: New file.
27449         * tests/unistr/test-u32-strncmp.c: New file.
27450
27451         Tests for module 'unistr/u16-strncmp'.
27452         * modules/unistr/u16-strncmp-tests: New file.
27453         * tests/unistr/test-u16-strncmp.c: New file.
27454
27455         Tests for module 'unistr/u8-strncmp'.
27456         * modules/unistr/u8-strncmp-tests: New file.
27457         * tests/unistr/test-u8-strncmp.c: New file.
27458         * tests/unistr/test-strncmp.h: New file.
27459
27460         Tests for module 'unistr/u32-strcoll'.
27461         * modules/unistr/u32-strcoll-tests: New file.
27462         * tests/unistr/test-u32-strcoll.c: New file.
27463
27464         Tests for module 'unistr/u16-strcoll'.
27465         * modules/unistr/u16-strcoll-tests: New file.
27466         * tests/unistr/test-u16-strcoll.c: New file.
27467
27468         Tests for module 'unistr/u8-strcoll'.
27469         * modules/unistr/u8-strcoll-tests: New file.
27470         * tests/unistr/test-u8-strcoll.c: New file.
27471
27472         Tests for module 'unistr/u32-strcmp'.
27473         * modules/unistr/u32-strcmp-tests: New file.
27474         * tests/unistr/test-u32-strcmp.c: New file.
27475         * tests/unistr/test-u32-strcmp.h: New file.
27476
27477         Tests for module 'unistr/u16-strcmp'.
27478         * modules/unistr/u16-strcmp-tests: New file.
27479         * tests/unistr/test-u16-strcmp.c: New file.
27480         * tests/unistr/test-u16-strcmp.h: New file.
27481
27482         Tests for module 'unistr/u8-strcmp'.
27483         * modules/unistr/u8-strcmp-tests: New file.
27484         * tests/unistr/test-u8-strcmp.c: New file.
27485         * tests/unistr/test-u8-strcmp.h: New file.
27486         * tests/unistr/test-strcmp.h: New file.
27487
27488         Tests for module 'unistr/u32-strncat'.
27489         * modules/unistr/u32-strncat-tests: New file.
27490         * tests/unistr/test-u32-strncat.c: New file.
27491
27492         Tests for module 'unistr/u16-strncat'.
27493         * modules/unistr/u16-strncat-tests: New file.
27494         * tests/unistr/test-u16-strncat.c: New file.
27495
27496         Tests for module 'unistr/u8-strncat'.
27497         * modules/unistr/u8-strncat-tests: New file.
27498         * tests/unistr/test-u8-strncat.c: New file.
27499         * tests/unistr/test-strncat.h: New file.
27500
27501         Tests for module 'unistr/u32-strcat'.
27502         * modules/unistr/u32-strcat-tests: New file.
27503         * tests/unistr/test-u32-strcat.c: New file.
27504
27505         Tests for module 'unistr/u16-strcat'.
27506         * modules/unistr/u16-strcat-tests: New file.
27507         * tests/unistr/test-u16-strcat.c: New file.
27508
27509         Tests for module 'unistr/u8-strcat'.
27510         * modules/unistr/u8-strcat-tests: New file.
27511         * tests/unistr/test-u8-strcat.c: New file.
27512         * tests/unistr/test-strcat.h: New file.
27513
27514         Tests for module 'unistr/u32-stpncpy'.
27515         * modules/unistr/u32-stpncpy-tests: New file.
27516         * tests/unistr/test-u32-stpncpy.c: New file.
27517
27518         Tests for module 'unistr/u16-stpncpy'.
27519         * modules/unistr/u16-stpncpy-tests: New file.
27520         * tests/unistr/test-u16-stpncpy.c: New file.
27521
27522         Tests for module 'unistr/u8-stpncpy'.
27523         * modules/unistr/u8-stpncpy-tests: New file.
27524         * tests/unistr/test-u8-stpncpy.c: New file.
27525         * tests/unistr/test-stpncpy.h: New file.
27526
27527         Tests for module 'unistr/u32-strncpy'.
27528         * modules/unistr/u32-strncpy-tests: New file.
27529         * tests/unistr/test-u32-strncpy.c: New file.
27530
27531         Tests for module 'unistr/u16-strncpy'.
27532         * modules/unistr/u16-strncpy-tests: New file.
27533         * tests/unistr/test-u16-strncpy.c: New file.
27534
27535         Tests for module 'unistr/u8-strncpy'.
27536         * modules/unistr/u8-strncpy-tests: New file.
27537         * tests/unistr/test-u8-strncpy.c: New file.
27538         * tests/unistr/test-strncpy.h: New file.
27539
27540         Tests for module 'unistr/u32-stpcpy'.
27541         * modules/unistr/u32-stpcpy-tests: New file.
27542         * tests/unistr/test-u32-stpcpy.c: New file.
27543
27544         Tests for module 'unistr/u16-stpcpy'.
27545         * modules/unistr/u16-stpcpy-tests: New file.
27546         * tests/unistr/test-u16-stpcpy.c: New file.
27547
27548         Tests for module 'unistr/u8-stpcpy'.
27549         * modules/unistr/u8-stpcpy-tests: New file.
27550         * tests/unistr/test-u8-stpcpy.c: New file.
27551         * tests/unistr/test-stpcpy.h: New file.
27552
27553         Tests for module 'unistr/u32-strcpy'.
27554         * modules/unistr/u32-strcpy-tests: New file.
27555         * tests/unistr/test-u32-strcpy.c: New file.
27556
27557         Tests for module 'unistr/u16-strcpy'.
27558         * modules/unistr/u16-strcpy-tests: New file.
27559         * tests/unistr/test-u16-strcpy.c: New file.
27560
27561         Tests for module 'unistr/u8-strcpy'.
27562         * modules/unistr/u8-strcpy-tests: New file.
27563         * tests/unistr/test-u8-strcpy.c: New file.
27564         * tests/unistr/test-strcpy.h: New file.
27565
27566         Tests for module 'unistr/u32-strnlen'.
27567         * modules/unistr/u32-strnlen-tests: New file.
27568         * tests/unistr/test-u32-strnlen.c: New file.
27569
27570         Tests for module 'unistr/u16-strnlen'.
27571         * modules/unistr/u16-strnlen-tests: New file.
27572         * tests/unistr/test-u16-strnlen.c: New file.
27573
27574         Tests for module 'unistr/u8-strnlen'.
27575         * modules/unistr/u8-strnlen-tests: New file.
27576         * tests/unistr/test-u8-strnlen.c: New file.
27577         * tests/unistr/test-strnlen.h: New file.
27578
27579         Tests for module 'unistr/u32-strlen'.
27580         * modules/unistr/u32-strlen-tests: New file.
27581         * tests/unistr/test-u32-strlen.c: New file.
27582
27583         Tests for module 'unistr/u16-strlen'.
27584         * modules/unistr/u16-strlen-tests: New file.
27585         * tests/unistr/test-u16-strlen.c: New file.
27586
27587         Tests for module 'unistr/u8-strlen'.
27588         * modules/unistr/u8-strlen-tests: New file.
27589         * tests/unistr/test-u8-strlen.c: New file.
27590
27591         Tests for module 'unistr/u32-prev'.
27592         * modules/unistr/u32-prev-tests: New file.
27593         * tests/unistr/test-u32-prev.c: New file.
27594
27595         Tests for module 'unistr/u16-prev'.
27596         * modules/unistr/u16-prev-tests: New file.
27597         * tests/unistr/test-u16-prev.c: New file.
27598
27599         Tests for module 'unistr/u8-prev'.
27600         * modules/unistr/u8-prev-tests: New file.
27601         * tests/unistr/test-u8-prev.c: New file.
27602
27603         Tests for module 'unistr/u32-next'.
27604         * modules/unistr/u32-next-tests: New file.
27605         * tests/unistr/test-u32-next.c: New file.
27606
27607         Tests for module 'unistr/u16-next'.
27608         * modules/unistr/u16-next-tests: New file.
27609         * tests/unistr/test-u16-next.c: New file.
27610
27611         Tests for module 'unistr/u8-next'.
27612         * modules/unistr/u8-next-tests: New file.
27613         * tests/unistr/test-u8-next.c: New file.
27614
27615         Tests for module 'unistr/u32-strmbtouc'.
27616         * modules/unistr/u32-strmbtouc-tests: New file.
27617         * tests/unistr/test-u32-strmbtouc.c: New file.
27618
27619         Tests for module 'unistr/u16-strmbtouc'.
27620         * modules/unistr/u16-strmbtouc-tests: New file.
27621         * tests/unistr/test-u16-strmbtouc.c: New file.
27622
27623         Tests for module 'unistr/u8-strmbtouc'.
27624         * modules/unistr/u8-strmbtouc-tests: New file.
27625         * tests/unistr/test-u8-strmbtouc.c: New file.
27626
27627         Tests for module 'unistr/u32-strmblen'.
27628         * modules/unistr/u32-strmblen-tests: New file.
27629         * tests/unistr/test-u32-strmblen.c: New file.
27630
27631         Tests for module 'unistr/u16-strmblen'.
27632         * modules/unistr/u16-strmblen-tests: New file.
27633         * tests/unistr/test-u16-strmblen.c: New file.
27634
27635         Tests for module 'unistr/u8-strmblen'.
27636         * modules/unistr/u8-strmblen-tests: New file.
27637         * tests/unistr/test-u8-strmblen.c: New file.
27638
27639         Tests for module 'unistr/u32-cpy-alloc'.
27640         * modules/unistr/u32-cpy-alloc-tests: New file.
27641         * tests/unistr/test-u32-cpy-alloc.c: New file.
27642
27643         Tests for module 'unistr/u16-cpy-alloc'.
27644         * modules/unistr/u16-cpy-alloc-tests: New file.
27645         * tests/unistr/test-u16-cpy-alloc.c: New file.
27646
27647         Tests for module 'unistr/u8-cpy-alloc'.
27648         * modules/unistr/u8-cpy-alloc-tests: New file.
27649         * tests/unistr/test-u8-cpy-alloc.c: New file.
27650         * tests/unistr/test-cpy-alloc.h: New file.
27651
27652         Tests for module 'unistr/u32-mbsnlen'.
27653         * modules/unistr/u32-mbsnlen-tests: New file.
27654         * tests/unistr/test-u32-mbsnlen.c: New file.
27655
27656         Tests for module 'unistr/u16-mbsnlen'.
27657         * modules/unistr/u16-mbsnlen-tests: New file.
27658         * tests/unistr/test-u16-mbsnlen.c: New file.
27659
27660         Tests for module 'unistr/u8-mbsnlen'.
27661         * modules/unistr/u8-mbsnlen-tests: New file.
27662         * tests/unistr/test-u8-mbsnlen.c: New file.
27663
27664         Tests for module 'unistr/u32-chr'.
27665         * modules/unistr/u32-chr-tests: New file.
27666         * tests/unistr/test-u32-chr.c: New file.
27667
27668         Tests for module 'unistr/u16-chr'.
27669         * modules/unistr/u16-chr-tests: New file.
27670         * tests/unistr/test-u16-chr.c: New file.
27671
27672         Tests for module 'unistr/u8-chr'.
27673         * modules/unistr/u8-chr-tests: New file.
27674         * tests/unistr/test-u8-chr.c: New file.
27675         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
27676
27677         Tests for module 'unistr/u32-cmp2'.
27678         * modules/unistr/u32-cmp2-tests: New file.
27679         * tests/unistr/test-u32-cmp2.c: New file.
27680
27681         Tests for module 'unistr/u16-cmp2'.
27682         * modules/unistr/u16-cmp2-tests: New file.
27683         * tests/unistr/test-u16-cmp2.c: New file.
27684
27685         Tests for module 'unistr/u8-cmp2'.
27686         * modules/unistr/u8-cmp2-tests: New file.
27687         * tests/unistr/test-u8-cmp2.c: New file.
27688         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
27689
27690         Tests for module 'unistr/u32-cmp'.
27691         * modules/unistr/u32-cmp-tests: New file.
27692         * tests/unistr/test-u32-cmp.c: New file.
27693
27694         Tests for module 'unistr/u16-cmp'.
27695         * modules/unistr/u16-cmp-tests: New file.
27696         * tests/unistr/test-u16-cmp.c: New file.
27697
27698         Tests for module 'unistr/u8-cmp'.
27699         * modules/unistr/u8-cmp-tests: New file.
27700         * tests/unistr/test-u8-cmp.c: New file.
27701         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
27702
27703         Tests for module 'unistr/u32-set'.
27704         * modules/unistr/u32-set-tests: New file.
27705         * tests/unistr/test-u32-set.c: New file.
27706
27707         Tests for module 'unistr/u16-set'.
27708         * modules/unistr/u16-set-tests: New file.
27709         * tests/unistr/test-u16-set.c: New file.
27710
27711         Tests for module 'unistr/u8-set'.
27712         * modules/unistr/u8-set-tests: New file.
27713         * tests/unistr/test-u8-set.c: New file.
27714         * tests/unistr/test-set.h: New file.
27715
27716         Tests for module 'unistr/u32-move'.
27717         * modules/unistr/u32-move-tests: New file.
27718         * tests/unistr/test-u32-move.c: New file.
27719
27720         Tests for module 'unistr/u16-move'.
27721         * modules/unistr/u16-move-tests: New file.
27722         * tests/unistr/test-u16-move.c: New file.
27723
27724         Tests for module 'unistr/u8-move'.
27725         * modules/unistr/u8-move-tests: New file.
27726         * tests/unistr/test-u8-move.c: New file.
27727         * tests/unistr/test-move.h: New file.
27728
27729         Tests for module 'unistr/u32-cpy'.
27730         * modules/unistr/u32-cpy-tests: New file.
27731         * tests/unistr/test-u32-cpy.c: New file.
27732
27733         Tests for module 'unistr/u16-cpy'.
27734         * modules/unistr/u16-cpy-tests: New file.
27735         * tests/unistr/test-u16-cpy.c: New file.
27736
27737         Tests for module 'unistr/u8-cpy'.
27738         * modules/unistr/u8-cpy-tests: New file.
27739         * tests/unistr/test-u8-cpy.c: New file.
27740         * tests/unistr/test-cpy.h: New file.
27741
27742 2010-01-09  Bruno Haible  <bruno@clisp.org>
27743
27744         Tests for module 'unistr/u32-uctomb'.
27745         * modules/unistr/u32-uctomb-tests: New file.
27746         * tests/unistr/test-u32-uctomb.c: New file.
27747
27748         Tests for module 'unistr/u16-uctomb'.
27749         * modules/unistr/u16-uctomb-tests: New file.
27750         * tests/unistr/test-u16-uctomb.c: New file.
27751
27752         Tests for module 'unistr/u8-uctomb'.
27753         * modules/unistr/u8-uctomb-tests: New file.
27754         * tests/unistr/test-u8-uctomb.c: New file.
27755
27756         Tests for module 'unistr/u32-mbtoucr'.
27757         * modules/unistr/u32-mbtoucr-tests: New file.
27758         * tests/unistr/test-u32-mbtoucr.c: New file.
27759
27760         Tests for module 'unistr/u16-mbtoucr'.
27761         * modules/unistr/u16-mbtoucr-tests: New file.
27762         * tests/unistr/test-u16-mbtoucr.c: New file.
27763
27764         Tests for module 'unistr/u8-mbtoucr'.
27765         * modules/unistr/u8-mbtoucr-tests: New file.
27766         * tests/unistr/test-u8-mbtoucr.c: New file.
27767
27768         Tests for module 'unistr/u32-mbtouc'.
27769         * modules/unistr/u32-mbtouc-tests: New file.
27770         * tests/unistr/test-u32-mbtouc.c: New file.
27771
27772         Tests for module 'unistr/u16-mbtouc'.
27773         * modules/unistr/u16-mbtouc-tests: New file.
27774         * tests/unistr/test-u16-mbtouc.c: New file.
27775
27776         Tests for module 'unistr/u8-mbtouc'.
27777         * modules/unistr/u8-mbtouc-tests: New file.
27778         * tests/unistr/test-u8-mbtouc.c: New file.
27779
27780         Tests for module 'unistr/u32-mbtouc-unsafe'.
27781         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
27782         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
27783         * tests/unistr/test-u32-mbtouc.h: New file.
27784
27785         Tests for module 'unistr/u16-mbtouc-unsafe'.
27786         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
27787         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
27788         * tests/unistr/test-u16-mbtouc.h: New file.
27789
27790         Tests for module 'unistr/u8-mbtouc-unsafe'.
27791         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
27792         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
27793         * tests/unistr/test-u8-mbtouc.h: New file.
27794
27795         Tests for module 'unistr/u32-mblen'.
27796         * modules/unistr/u32-mblen-tests: New file.
27797         * tests/unistr/test-u32-mblen.c: New file.
27798
27799         Tests for module 'unistr/u16-mblen'.
27800         * modules/unistr/u16-mblen-tests: New file.
27801         * tests/unistr/test-u16-mblen.c: New file.
27802
27803         Tests for module 'unistr/u8-mblen'.
27804         * modules/unistr/u8-mblen-tests: New file.
27805         * tests/unistr/test-u8-mblen.c: New file.
27806
27807         Tests for module 'unistr/u32-to-u16'.
27808         * modules/unistr/u32-to-u16-tests: New file.
27809         * tests/unistr/test-u32-to-u16.c: New file.
27810
27811         Tests for module 'unistr/u32-to-u8'.
27812         * modules/unistr/u32-to-u8-tests: New file.
27813         * tests/unistr/test-u32-to-u8.c: New file.
27814
27815         Tests for module 'unistr/u16-to-u32'.
27816         * modules/unistr/u16-to-u32-tests: New file.
27817         * tests/unistr/test-u16-to-u32.c: New file.
27818
27819         Tests for module 'unistr/u16-to-u8'.
27820         * modules/unistr/u16-to-u8-tests: New file.
27821         * tests/unistr/test-u16-to-u8.c: New file.
27822
27823         Tests for module 'unistr/u8-to-u32'.
27824         * modules/unistr/u8-to-u32-tests: New file.
27825         * tests/unistr/test-u8-to-u32.c: New file.
27826
27827         Tests for module 'unistr/u8-to-u16'.
27828         * modules/unistr/u8-to-u16-tests: New file.
27829         * tests/unistr/test-u8-to-u16.c: New file.
27830
27831         Tests for module 'unistr/u32-check'.
27832         * modules/unistr/u32-check-tests: New file.
27833         * tests/unistr/test-u32-check.c: New file.
27834
27835         Tests for module 'unistr/u16-check'.
27836         * modules/unistr/u16-check-tests: New file.
27837         * tests/unistr/test-u16-check.c: New file.
27838
27839         Tests for module 'unistr/u8-check'.
27840         * modules/unistr/u8-check-tests: New file.
27841         * tests/unistr/test-u8-check.c: New file.
27842
27843         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
27844         (category_equals): New function.
27845         (main): Add more tests.
27846         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
27847
27848         * tests/unictype/test-bidi_byname.c (main): Add more tests.
27849
27850 2010-01-10  Bruno Haible  <bruno@clisp.org>
27851
27852         unistr/u*-strcoll: Try harder to distinguish different strings.
27853         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
27854         compare s1 and s2 to see if they are different.
27855
27856 2010-01-10  Bruno Haible  <bruno@clisp.org>
27857
27858         unistr/u*-stpncpy: Fix the return value.
27859         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
27860         description of the return value consistent with stpncpy in glibc.
27861         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
27862         written non-NUL unit.
27863
27864 2010-01-10  Bruno Haible  <bruno@clisp.org>
27865
27866         unistr/u*-next: Add missing dependencies.
27867         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
27868         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
27869         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
27870
27871 2010-01-10  Bruno Haible  <bruno@clisp.org>
27872
27873         unistr/u8-mbsnlen: Fix return value for incomplete character.
27874         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
27875         u8_mblen.
27876         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
27877         Remove unistr/u8-mblen.
27878         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
27879         u16_mblen.
27880         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
27881         Remove unistr/u16-mblen.
27882
27883 2010-01-10  Bruno Haible  <bruno@clisp.org>
27884
27885         wchar: Fix compilation error when <wchar.h> is used from coreutils.
27886         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
27887         Reported by Brian Gough <bjg@gnu.org> and
27888         Chris Clayton <chris2553@googlemail.com> via
27889         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
27890
27891 2010-01-09  Bruno Haible  <bruno@clisp.org>
27892
27893         unistr/u16-to-u32: Reject invalid input.
27894         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
27895         u16_mbtouc.
27896         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
27897         Remove unistr/u16-mbtouc.
27898
27899         unistr/u16-to-u8: Reject invalid input.
27900         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
27901         u16_mbtouc.
27902         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
27903         Remove unistr/u16-mbtouc.
27904
27905         unistr/u8-to-u32: Reject invalid input.
27906         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
27907         u8_mbtouc.
27908         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
27909         Remove unistr/u8-mbtouc.
27910
27911         unistr/u8-to-u16: Reject invalid input.
27912         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
27913         u8_mbtouc.
27914         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
27915         Remove unistr/u8-mbtouc.
27916
27917 2010-01-09  Bruno Haible  <bruno@clisp.org>
27918
27919         Tests for module 'getlogin'.
27920         * modules/getlogin-tests: New file.
27921         * tests/test-getlogin.c: New file.
27922
27923         New module 'getlogin'.
27924         * lib/unistd.in.h (getlogin): New declaration.
27925         * lib/getlogin.c: New file.
27926         * m4/getlogin.m4: New file.
27927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
27928         HAVE_GETLOGIN.
27929         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
27930         HAVE_GETLOGIN.
27931         * modules/getlogin: New file.
27932         * doc/posix-functions/getlogin.texi: Mention the new module.
27933         Reported by John W. Eaton <jwe@gnu.org>.
27934
27935 2010-01-09  Bruno Haible  <bruno@clisp.org>
27936
27937         getlogin_r: Support for native Windows.
27938         * lib/getlogin_r.c: Include <windows.h>
27939         (getlogin_r): Implement for native Windows.
27940         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
27941         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
27942         via John W. Eaton <jwe@gnu.org>.
27943
27944 2010-01-09  Bruno Haible  <bruno@clisp.org>
27945
27946         getlogin_r: Small fixes.
27947         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
27948         succeeds.
27949         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
27950         before testing whether getlogin_r is declared. No need to set
27951         HAVE_DECL_GETLOGIN_R to 1.
27952         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
27953
27954 2010-01-09  Bruno Haible  <bruno@clisp.org>
27955
27956         * lib/unistd.in.h (getlogin_r): Add comment.
27957
27958 2010-01-09  Bruno Haible  <bruno@clisp.org>
27959
27960         Tests for module 'getlogin_r'.
27961         * modules/getlogin_r-tests: New file.
27962         * tests/test-getlogin_r.c: New file.
27963
27964 2010-01-09  Jim Meyering  <meyering@redhat.com>
27965
27966         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
27967         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
27968         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
27969
27970 2010-01-08  Simon Josefsson  <simon@josefsson.org>
27971
27972         * lib/dup2.c (rpl_dup2): Improve comment.
27973
27974 2010-01-08  Eric Blake  <ebb9@byu.net>
27975
27976         maint.mk: allow packages to add makefile @@ exceptions
27977         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
27978         (sc_makefile_check): Rename...
27979         (sc_makefile_at_at_check): ...to this, and use hook.
27980
27981         dup2: work around mingw bug
27982         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
27983         Reported by Simon Josefsson.
27984
27985 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
27986
27987         glob: Fix C++ compilation.
27988         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
27989         C++.
27990
27991 2010-01-07  Bruno Haible  <bruno@clisp.org>
27992
27993         Fix indentation of wctype.in.h, broken since 2007-01-06.
27994         * lib/wctype.in.h: Fix indentation of preprocessor directives.
27995
27996 2010-01-07  Bruno Haible  <bruno@clisp.org>
27997
27998         mbslen: Avoid collision with system function.
27999         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28000         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28001         * m4/mbslen.m4: New file.
28002         * modules/mbslen (Files): Add it.
28003         (configure.ac): Invoke gl_MBSLEN.
28004         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28005         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28006         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28007         via Ian Beckwith <ianb@erislabs.net>.
28008
28009 2010-01-07  Bruno Haible  <bruno@clisp.org>
28010
28011         dirent: Document the last fix.
28012         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28013
28014 2010-01-07  Bruno Haible  <bruno@clisp.org>
28015
28016         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28017         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28018         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28019         va_list are defined.
28020         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28021         Reported by Eric Blake.
28022
28023 2010-01-07  Bruno Haible  <bruno@clisp.org>
28024
28025         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28026         * modules/xlist (Depends-on): Add 'list',
28027         * modules/xoset (Depends-on): Add 'oset'.
28028         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28029
28030 2010-01-07  Bruno Haible  <bruno@clisp.org>
28031
28032         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28033         * doc/posix-functions/strncasecmp.texi: Likewise.
28034
28035 2010-01-07  Bruno Haible  <bruno@clisp.org>
28036
28037         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28038
28039 2010-01-07  John W. Eaton  <jwe@octave.org>
28040
28041         wctype: allow C++ use
28042         * lib/wctype.in.h: Add extern "C" block for C++.
28043
28044 2010-01-06  Eric Blake  <ebb9@byu.net>
28045
28046         maint.mk: detect incorrect GFDL usage
28047         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28048
28049 2010-01-06  Jim Meyering  <meyering@redhat.com>
28050         and Eric Blake  <ebb9@byu.net>
28051
28052         maint.mk: ignore multi-line copyright in NEWS
28053         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28054
28055 2010-01-06  Eric Blake  <ebb9@byu.net>
28056
28057         select: add missing dependency
28058         * modules/select-tests (Depends-on): Move sockets dependency...
28059         * modules/select (Depends-on): ...here.
28060         Reported by Ian Beckwith.
28061
28062         doc: regenerate INSTALL
28063         * doc/INSTALL: Reflect recent autoconf update.
28064         * doc/INSTALL.ISO: Likewise.
28065         * doc/INSTALL.UTF-8: Likewise.
28066
28067         pread: fix compilation on glibc
28068         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28069         Reported by Ralf Wildenhues.
28070
28071         dirent: fix test failure
28072         * lib/dirent.in.h (includes): Guarantee ino_t.
28073         Reported by Ralf Wildenhues.
28074
28075 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28076
28077         linkat, renameat: avoid bad free
28078         * lib/at-func2.c (at_func2): Fix typo.
28079         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28080
28081 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28082
28083         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28084         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28085         to avoid failure of symlink test later.
28086
28087 2010-01-06  Eric Blake  <ebb9@byu.net>
28088
28089         stdio, unistd: guarantee ssize_t
28090         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28091         2008 are exposed when needed.
28092         * lib/stdio.in.h (includes): Likewise.
28093         Reported by Ralf Wildenhues.
28094
28095 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28096
28097         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28098         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28099         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28100
28101 2010-01-06  Jim Meyering  <meyering@redhat.com>
28102
28103         readtokens: this module *does* require xalloc.h
28104         It uses only functions that were omitted by the old syntax-check rule.
28105         * lib/readtokens.c: Include "xalloc.h" once again.
28106         * modules/readtokens (Depends-on): Add xalloc.
28107         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28108
28109 2010-01-05  Eric Blake  <ebb9@byu.net>
28110
28111         maint: support 'make announcement' from a VPATH build
28112         * top/maint.mk (announcement): Look for correct NEWS file.
28113
28114 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28115
28116         utimens (fdutimens): ignore a negative FD, per contract
28117         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28118         when we have a valid file descriptor.  Otherwise, using a brand
28119         new glibc (with just-patched futimens that now fails with EBADF)
28120         would cause this function to fail with ENOSYS.
28121         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28122         See also http://bugzilla.redhat.com/552320.
28123
28124 2010-01-05  Eric Blake  <ebb9@byu.net>
28125
28126         strcase: document what it provides
28127         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28128         gnulib module.
28129         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28130         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28131
28132 2010-01-05  Jim Meyering  <meyering@redhat.com>
28133
28134         maint: remove useless inclusions of "xalloc.h"
28135         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28136         * lib/readtokens.c: Likewise.
28137         * lib/same.c: Likewise.
28138         * modules/getloadavg (Depends-on): Remove xalloc.
28139         * modules/readtokens: Likewise.
28140         * modules/same: Likewise.
28141
28142         maint.mk: include 4 more function names in alloca.h-checking regexp
28143         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28144         regexp.  Before, we would give a false-positive (saying alloca.h
28145         is included unnecessarily) when the only uses involved omitted symbols.
28146
28147         xalloc.h: use consistent formatting
28148         * lib/xalloc.h: Move declarations to start in the first column.
28149
28150 2010-01-05  Eric Blake  <ebb9@byu.net>
28151
28152         mkdir: avoid xalloc
28153         * lib/mkdir.c (includes): Drop unused header.
28154         Reported by John W. Eaton.
28155
28156 2010-01-04  Jim Meyering  <meyering@redhat.com>
28157
28158         nl_langinfo: avoid configure-time syntax error
28159         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28160         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28161         the empty string.  Don't let that provoke a shell syntax error.
28162
28163         regcomp, regexec, fnmatch: avoid array bounds read error
28164         * lib/regcomp.c (build_equiv_class): From glibc:
28165         Use only the low 24 bits of a findidx return value as an index
28166         into the weights array.  Patch by Ulrich Drepper:
28167         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28168         * lib/regexec.c (check_node_accept_bytes): Likewise.
28169         * lib/fnmatch_loop.c (FCT): Likewise.
28170
28171         regcomp: skip collseq lookup when there are no rules
28172         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28173         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28174
28175         regcomp: recognize ill-formed { } expressions
28176         * lib/regcomp.c (parse_dup_op): From glibc:
28177         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28178
28179         regcomp: fix typo in comment
28180         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28181         s/satisfy/satisfies/.
28182
28183         regcomp: sync from glibc: remove dead store
28184         * lib/regcomp.c (duplicate_node_closure): Remove useless
28185         search_duplicated_node call and dead store.
28186
28187         regcomp: sync from glibc; always use nl_langinfo
28188         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28189         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28190         * modules/regex (Depends-on): Add nl_langinfo.
28191
28192 2010-01-04  Eric Blake  <ebb9@byu.net>
28193
28194         fdopendir: fix configure test
28195         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28196
28197 2010-01-01  Bruno Haible  <bruno@clisp.org>
28198
28199         wchar: Remove unused configure check.
28200         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28201
28202 2010-01-01  Eric Blake  <ebb9@byu.net>
28203
28204         headers: make check of system header explicit
28205         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28206         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28207         ourselves.
28208         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28209         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28210         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28211         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28212         internals.
28213         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28214         missing.
28215         Suggested by Bruno Haible.
28216
28217 2010-01-01  Jim Meyering  <meyering@redhat.com>
28218
28219         ChangeLog: tweak to eliminate unnecessary copyright line
28220         * ChangeLog: Remove a copyright line that was mistakenly updated
28221         by today's update-copyright run.  Reported by Eric Blake.
28222
28223         test-update-copyright: don't let envvar setting cause test failure
28224         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28225
28226 2010-01-01  Bruno Haible  <bruno@clisp.org>
28227
28228         localename: Avoid gcc warning.
28229         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28230         function if it is not used.
28231
28232 2010-01-01  Jim Meyering  <meyering@redhat.com>
28233
28234         update nearly all FSF copyright year lists to include 2010
28235         Use the same procedure as for 2009, outlined in
28236         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28237
28238         version-etc: set COPYRIGHT_YEAR to 2010
28239         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28240
28241 2009-12-31  Eric Blake  <ebb9@byu.net>
28242
28243         doc: correct availability of cygwin 1.5.x getopt
28244         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28245         variables.
28246         * doc/posix-functions/opterr.texi (opterr): Likewise.
28247         * doc/posix-functions/optind.texi (optind): Likewise.
28248         * doc/posix-functions/optopt.texi (optopt): Likewise.
28249         * doc/posix-functions/tzname.texi (tzname): Likewise.
28250
28251         openat: update maintainer
28252         * modules/openat (Maintainer): Add myself.
28253
28254         utimens: avoid shadowing warning
28255         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28256         buffers into one, to avoid shadowing, as well as avoiding a
28257         redundant stat.
28258         Reported by Jim Meyering.
28259
28260         test-dup2: avoid compiler warning
28261         * tests/test-dup2.c (is_inheritable): Only define if used.
28262
28263 2010-01-01  Bruno Haible  <bruno@clisp.org>
28264
28265         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28266         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28267         defined, use wctomb instead of wcrtomb.
28268
28269 2010-01-01  Bruno Haible  <bruno@clisp.org>
28270
28271         iconv: Reject native Solaris iconv.
28272         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28273         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28274
28275 2009-12-31  Bruno Haible  <bruno@clisp.org>
28276
28277         * tests/test-signal.c (main): Remove test of 'SIG'.
28278
28279 2009-12-31  Bruno Haible  <bruno@clisp.org>
28280
28281         spawn: Fix incomplete fix.
28282         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28283         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28284         warnings for GNULIB_POSIXCHECK again.
28285         Reported by Eric Blake.
28286
28287 2009-12-31  Bruno Haible  <bruno@clisp.org>
28288
28289         Avoid namespace pollution on glibc systems.
28290         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28291         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28292         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28293         glibc systems.
28294
28295 2009-12-31  Bruno Haible  <bruno@clisp.org>
28296
28297         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28298         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28299         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28300         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28301         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28302         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28303         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28304
28305 2009-12-31  Bruno Haible  <bruno@clisp.org>
28306
28307         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28308         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28309         afterwards.
28310
28311 2009-12-31  Bruno Haible  <bruno@clisp.org>
28312
28313         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28314         SYS_UTSNAME_H.
28315
28316 2009-12-31  Bruno Haible  <bruno@clisp.org>
28317
28318         spawn: Fix misapplied patch.
28319         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28320         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28321         warnings for GNULIB_POSIXCHECK.
28322
28323 2009-12-31  Bruno Haible  <bruno@clisp.org>
28324
28325         times: Update after sys_times changed.
28326         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28327         * modules/times (Files): Add it.
28328         (configure.ac): Invoke gl_FUNC_TIMES.
28329
28330 2009-12-31  Bruno Haible  <bruno@clisp.org>
28331
28332         Use AC_C_INLINE where necessary.
28333         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28334         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28335         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28336         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28337         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28338         * m4/mbiter.m4 (gl_MBITER): Likewise.
28339         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28340         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28341         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28342         * modules/u64 (configure.ac): Likewise.
28343
28344 2009-12-31  Bruno Haible  <bruno@clisp.org>
28345
28346         Use AC_C_INLINE instead of module 'inline' where possible.
28347         * modules/inline (Description): Clarify purpose.
28348         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28349         * modules/count-one-bits (Depends-on): Remove inline.
28350         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28351         * modules/openat (Depends-on): Remove inline.
28352         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28353         instead of depending on module 'inline'.
28354         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28355         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28356         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28357         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28358         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28359         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28360         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28361         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28362         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28363         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28364         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28365         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28366         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28367         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28368         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28369         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28370         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28371         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28372         Likewise.
28373         * modules/unictype/property-ascii-hex-digit (Depends-on,
28374         configure.ac): Likewise.
28375         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28376         configure.ac): Likewise.
28377         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28378         configure.ac): Likewise.
28379         * modules/unictype/property-bidi-block-separator (Depends-on,
28380         configure.ac): Likewise.
28381         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28382         configure.ac): Likewise.
28383         * modules/unictype/property-bidi-common-separator (Depends-on,
28384         configure.ac): Likewise.
28385         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28386         Likewise.
28387         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28388         configure.ac): Likewise.
28389         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28390         configure.ac): Likewise.
28391         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28392         configure.ac): Likewise.
28393         * modules/unictype/property-bidi-european-digit (Depends-on,
28394         configure.ac): Likewise.
28395         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28396         configure.ac): Likewise.
28397         * modules/unictype/property-bidi-left-to-right (Depends-on,
28398         configure.ac): Likewise.
28399         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28400         configure.ac): Likewise.
28401         * modules/unictype/property-bidi-other-neutral (Depends-on,
28402         configure.ac): Likewise.
28403         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28404         Likewise.
28405         * modules/unictype/property-bidi-segment-separator (Depends-on,
28406         configure.ac): Likewise.
28407         * modules/unictype/property-bidi-whitespace (Depends-on,
28408         configure.ac): Likewise.
28409         * modules/unictype/property-combining (Depends-on, configure.ac):
28410         Likewise.
28411         * modules/unictype/property-composite (Depends-on, configure.ac):
28412         Likewise.
28413         * modules/unictype/property-currency-symbol (Depends-on,
28414         configure.ac): Likewise.
28415         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28416         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28417         Likewise.
28418         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28419         configure.ac): Likewise.
28420         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28421         Likewise.
28422         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28423         Likewise.
28424         * modules/unictype/property-extender (Depends-on, configure.ac):
28425         Likewise.
28426         * modules/unictype/property-format-control (Depends-on, configure.ac):
28427         Likewise.
28428         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28429         Likewise.
28430         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28431         Likewise.
28432         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28433         Likewise.
28434         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28435         Likewise.
28436         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28437         Likewise.
28438         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28439         Likewise.
28440         * modules/unictype/property-id-start (Depends-on, configure.ac):
28441         Likewise.
28442         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28443         Likewise.
28444         * modules/unictype/property-ids-binary-operator (Depends-on,
28445         configure.ac): Likewise.
28446         * modules/unictype/property-ids-trinary-operator (Depends-on,
28447         configure.ac): Likewise.
28448         * modules/unictype/property-ignorable-control (Depends-on,
28449         configure.ac): Likewise.
28450         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28451         Likewise.
28452         * modules/unictype/property-join-control (Depends-on, configure.ac):
28453         Likewise.
28454         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28455         Likewise.
28456         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28457         Likewise.
28458         * modules/unictype/property-logical-order-exception (Depends-on,
28459         configure.ac): Likewise.
28460         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28461         Likewise.
28462         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28463         * modules/unictype/property-non-break (Depends-on, configure.ac):
28464         Likewise.
28465         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28466         Likewise.
28467         * modules/unictype/property-numeric (Depends-on, configure.ac):
28468         Likewise.
28469         * modules/unictype/property-other-alphabetic (Depends-on,
28470         configure.ac): Likewise.
28471         * modules/unictype/property-other-default-ignorable-code-point
28472         (Depends-on, configure.ac): Likewise.
28473         * modules/unictype/property-other-grapheme-extend (Depends-on,
28474         configure.ac): Likewise.
28475         * modules/unictype/property-other-id-continue (Depends-on,
28476         configure.ac): Likewise.
28477         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
28478         Likewise.
28479         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
28480         Likewise.
28481         * modules/unictype/property-other-math (Depends-on, configure.ac):
28482         Likewise.
28483         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
28484         Likewise.
28485         * modules/unictype/property-paired-punctuation (Depends-on,
28486         configure.ac): Likewise.
28487         * modules/unictype/property-paragraph-separator (Depends-on,
28488         configure.ac): Likewise.
28489         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
28490         Likewise.
28491         * modules/unictype/property-pattern-white-space (Depends-on,
28492         configure.ac): Likewise.
28493         * modules/unictype/property-private-use (Depends-on, configure.ac):
28494         Likewise.
28495         * modules/unictype/property-punctuation (Depends-on, configure.ac):
28496         Likewise.
28497         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
28498         Likewise.
28499         * modules/unictype/property-radical (Depends-on, configure.ac):
28500         Likewise.
28501         * modules/unictype/property-sentence-terminal (Depends-on,
28502         configure.ac): Likewise.
28503         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
28504         Likewise.
28505         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
28506         * modules/unictype/property-terminal-punctuation (Depends-on,
28507         configure.ac): Likewise.
28508         * modules/unictype/property-titlecase (Depends-on, configure.ac):
28509         Likewise.
28510         * modules/unictype/property-unassigned-code-value (Depends-on,
28511         configure.ac): Likewise.
28512         * modules/unictype/property-unified-ideograph (Depends-on,
28513         configure.ac): Likewise.
28514         * modules/unictype/property-uppercase (Depends-on, configure.ac):
28515         Likewise.
28516         * modules/unictype/property-variation-selector (Depends-on,
28517         configure.ac): Likewise.
28518         * modules/unictype/property-white-space (Depends-on, configure.ac):
28519         Likewise.
28520         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
28521         Likewise.
28522         * modules/unictype/property-xid-start (Depends-on, configure.ac):
28523         Likewise.
28524         * modules/unictype/property-zero-width (Depends-on, configure.ac):
28525         Likewise.
28526         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
28527         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
28528         Likewise.
28529
28530 2009-12-31  Bruno Haible  <bruno@clisp.org>
28531
28532         Remove unnecessary AC_C_INLINE invocation.
28533         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
28534         since 2009-08-21.
28535
28536 2009-12-31  Jim Meyering  <meyering@redhat.com>
28537
28538         maint.mk: don't require explicit gpg_key_ID in cfg.mk
28539         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
28540         With this change, we can all remove the gpg_key_ID = ... definition
28541         from our respective cfg.mk files.
28542
28543         maint.mk: create announcement template in ~/, not in /tmp
28544         * top/maint.mk (emit_upload_commands): Adjust.
28545         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
28546         Remove temporary file, .ci-msg.
28547
28548 2009-12-31  Eric Blake  <ebb9@byu.net>
28549
28550         link-warning: always build headers with link warnings
28551         * modules/arpa_inet (Makefile.am): Always build replacement
28552         header.
28553         * modules/ctype (Makefile.am): Likewise.
28554         * modules/dirent (Makefile.am): Likewise.
28555         * modules/inttypes (Makefile.am): Likewise.
28556         * modules/langinfo (Makefile.am): Likewise.
28557         * modules/locale (Makefile.am): Likewise.
28558         * modules/spawn (Makefile.am): Likewise.
28559         * modules/sys_file (Makefile.am): Likewise.
28560         * modules/sys_ioctl (Makefile.am): Likewise.
28561         * modules/sys_select (Makefile.am): Likewise.
28562         * modules/sys_socket (Makefile.am): Likewise.
28563         * modules/sys_times (Makefile.am): Likewise.
28564         * modules/sys_utsname (Makefile.am): Likewise.
28565         * modules/sys_wait (Makefile.am): Likewise.
28566         * modules/wchar (Makefile.am): Likewise.
28567         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
28568         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
28569         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
28570         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
28571         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
28572         Likewise.
28573         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28574         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28575         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
28576         Likewise.
28577         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
28578         Likewise.
28579         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
28580         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
28581         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
28582         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28583         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28584         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28585         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28586         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
28587         (gl_WCHAR_H_DEFAULTS): Likewise.
28588
28589 2009-12-31  Eric Blake  <ebb9@byu.net>
28590
28591         signal, spawn: use link warnings
28592         * lib/signal.in.h (sigset_t): Make unconditional.
28593         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
28594         (sigpending, sigprocmask, sigaction): Add link warnings.
28595         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
28596         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
28597         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
28598         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
28599         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
28600         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
28601         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
28602         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
28603         (posix_spawn_file_actions_destroy)
28604         (posix_spawn_file_actions_addopen)
28605         (posix_spawn_file_actions_addclose)
28606         (posix_spawn_file_actions_adddup2): Likewise.
28607         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
28608         * tests/test-signal.c (main): Enhance test.
28609
28610         spawn: improve wrapper support
28611         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
28612         (gl_SPAWN_H_DEFAULTS): New defaults.
28613         * modules/spawn (Makefile.am): Substitute them.
28614         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
28615         Only declare if missing or broken.
28616
28617         sys_times, sys_utsname: use include_next
28618         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
28619         header.
28620         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
28621         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28622         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28623         * modules/sys_times (Depends-on): Add include_next.
28624         (Makefile.am): Substitute additional values.
28625         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
28626         * lib/sys_times.in.h (includes): Include native header, if
28627         available.
28628         * lib/sys_utsname.in.h (includes): Likewise.
28629         * tests/test-sys_times.c (main): Enhance test.
28630
28631         fdutimensat: revert prior patch
28632         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
28633         utimens.h.
28634         Reported by Bruno Haible.
28635
28636 2009-12-30  Eric Blake  <ebb9@byu.net>
28637
28638         sys_wait: drop link-warning dependency
28639         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
28640         link-warning efforts.
28641         * lib/sys_wait.in.h: Likewise.
28642
28643         fdutimensat: remove bogus dependency
28644         * modules/fdutimensat (Depends-on): Drop inline.
28645
28646         unistd: fix typo
28647         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
28648
28649 2009-12-30  Bruno Haible  <bruno@clisp.org>
28650
28651         Fix compilation error with Solaris cc.
28652         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
28653         * lib/unicase/u16-is-invariant.c: Likewise.
28654         * lib/unicase/u32-is-invariant.c: Likewise.
28655         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
28656
28657 2009-12-30  Bruno Haible  <bruno@clisp.org>
28658
28659         Fix test crash.
28660         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
28661         locales.
28662         Reported by Simon Josefsson <simon@josefsson.org>.
28663
28664 2009-12-30  Bruno Haible  <bruno@clisp.org>
28665
28666         Fix compilation error on most platforms.
28667         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
28668         Reported by Simon Josefsson <simon@josefsson.org>
28669         and Nelson H. F. Beebe <beebe@math.utah.edu>.
28670
28671 2009-12-30  Eric Blake  <ebb9@byu.net>
28672
28673         futimens, utimensat: work around ntfs-3g bug
28674         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
28675         a ctime bug is present, and expand workaround to cover ntfs-3g.
28676         * lib/utimens.c (fdutimens, lutimens): Likewise.
28677         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
28678         (validate_timespec): Adjust return value.
28679         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
28680         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28681         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
28682
28683 2009-12-29  Eric Blake  <ebb9@byu.net>
28684
28685         link-warning: make usage consistent
28686         * modules/ctype (Depends-on): Add link-warning.
28687         (Makefile.am): Update rules accordingly.
28688         * modules/langinfo (Depends-on, Makefile.am): Likewise.
28689         * modules/locale (Depends-on, Makefile.am): Likewise.
28690         * modules/sys_file (Makefile.am): Likewise.
28691         * modules/getopt-posix (Makefile.am): Delete unused link warning
28692         efforts.
28693         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
28694         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
28695         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
28696         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
28697
28698         stdio: remove unused variables
28699         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
28700         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
28701         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28702
28703         tests: test more substitute headers
28704         * modules/ctype-tests: New file.
28705         * modules/dirent-tests: Likewise.
28706         * modules/spawn-tests: Likewise.
28707         * modules/sys_file-tests: Likewise.
28708         * modules/sys_ioctl-tests: Likewise.
28709         * modules/sys_wait-tests: Likewise.
28710         * tests/test-ctype.c: Likewise.
28711         * tests/test-dirent.c: Likewise.
28712         * tests/test-spawn.c: Likewise.
28713         * tests/test-sys_file.c: Likewise.
28714         * tests/test-sys_ioctl.c: Likewise.
28715         * tests/test-sys_wait.c: Likewise.
28716         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
28717         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
28718         whether or not flock is in use.
28719
28720         tests: remove License section from module
28721         * modules/arpa_inet-tests: Remove unneeded section.
28722         * modules/byteswap-tests: Likewise.
28723         * modules/ceilf-tests: Likewise.
28724         * modules/ceill-tests: Likewise.
28725         * modules/crypto/des-tests: Likewise.
28726         * modules/crypto/gc-arcfour-tests: Likewise.
28727         * modules/crypto/gc-arctwo-tests: Likewise.
28728         * modules/crypto/gc-des-tests: Likewise.
28729         * modules/crypto/gc-hmac-md5-tests: Likewise.
28730         * modules/crypto/gc-hmac-sha1-tests: Likewise.
28731         * modules/crypto/gc-md2-tests: Likewise.
28732         * modules/crypto/gc-md4-tests: Likewise.
28733         * modules/crypto/gc-md5-tests: Likewise.
28734         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
28735         * modules/crypto/gc-rijndael-tests: Likewise.
28736         * modules/crypto/gc-sha1-tests: Likewise.
28737         * modules/crypto/gc-tests: Likewise.
28738         * modules/crypto/md2-tests: Likewise.
28739         * modules/crypto/md4-tests: Likewise.
28740         * modules/fcntl-h-tests: Likewise.
28741         * modules/floorf-tests: Likewise.
28742         * modules/floorl-tests: Likewise.
28743         * modules/frexp-nolibm-tests: Likewise.
28744         * modules/frexp-tests: Likewise.
28745         * modules/frexpl-nolibm-tests: Likewise.
28746         * modules/frexpl-tests: Likewise.
28747         * modules/getaddrinfo-tests: Likewise.
28748         * modules/inttypes-tests: Likewise.
28749         * modules/isfinite-tests: Likewise.
28750         * modules/isinf-tests: Likewise.
28751         * modules/ldexpl-tests: Likewise.
28752         * modules/locale-tests: Likewise.
28753         * modules/math-tests: Likewise.
28754         * modules/netdb-tests: Likewise.
28755         * modules/netinet_in-tests: Likewise.
28756         * modules/printf-frexp-tests: Likewise.
28757         * modules/printf-frexpl-tests: Likewise.
28758         * modules/priv-set-tests: Likewise.
28759         * modules/random_r-tests: Likewise.
28760         * modules/round-tests: Likewise.
28761         * modules/roundf-tests: Likewise.
28762         * modules/roundl-tests: Likewise.
28763         * modules/search-tests: Likewise.
28764         * modules/select-tests: Likewise.
28765         * modules/signal-tests: Likewise.
28766         * modules/stdbool-tests: Likewise.
28767         * modules/stddef-tests: Likewise.
28768         * modules/stdint-tests: Likewise.
28769         * modules/stdio-tests: Likewise.
28770         * modules/stdlib-tests: Likewise.
28771         * modules/string-tests: Likewise.
28772         * modules/strings-tests: Likewise.
28773         * modules/sys_select-tests: Likewise.
28774         * modules/sys_socket-tests: Likewise.
28775         * modules/sys_stat-tests: Likewise.
28776         * modules/sys_time-tests: Likewise.
28777         * modules/sys_utsname-tests: Likewise.
28778         * modules/sysexits-tests: Likewise.
28779         * modules/time-tests: Likewise.
28780         * modules/trunc-tests: Likewise.
28781         * modules/truncf-tests: Likewise.
28782         * modules/truncl-tests: Likewise.
28783         * modules/tsearch-tests: Likewise.
28784         * modules/unistd-tests: Likewise.
28785         * modules/wchar-tests: Likewise.
28786         * modules/wctype-tests: Likewise.
28787
28788         tests: fix license on several tests
28789         * tests/test-des.c: Update to GPLv3+.
28790         * tests/test-flock.c: Likewise.
28791         * tests/test-fsync.c: Likewise.
28792         * tests/test-futimens.h: Likewise.
28793         * tests/test-gc-arcfour.c: Likewise.
28794         * tests/test-gc-arctwo.c: Likewise.
28795         * tests/test-gc-des.c: Likewise.
28796         * tests/test-gc-hmac-md5.c: Likewise.
28797         * tests/test-gc-hmac-sha1.c: Likewise.
28798         * tests/test-gc-md2.c: Likewise.
28799         * tests/test-gc-md4.c: Likewise.
28800         * tests/test-gc-md5.c: Likewise.
28801         * tests/test-gc-pbkdf2-sha1.c: Likewise.
28802         * tests/test-gc-rijndael.c: Likewise.
28803         * tests/test-gc-sha1.c: Likewise.
28804         * tests/test-gc.c: Likewise.
28805         * tests/test-getcwd.c: Likewise.
28806         * tests/test-link.c: Likewise.
28807         * tests/test-link.h: Likewise.
28808         * tests/test-lutimens.h: Likewise.
28809         * tests/test-md2.c: Likewise.
28810         * tests/test-md4.c: Likewise.
28811         * tests/test-mkdir.h: Likewise.
28812         * tests/test-rename.c: Likewise.
28813         * tests/test-rename.h: Likewise.
28814         * tests/test-safe-alloc.c: Likewise.
28815         * tests/test-utimens-common.h: Likewise.
28816         * tests/test-utimens.h: Likewise.
28817
28818         maint: sync license texts
28819         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
28820         * doc/gpl-3.0.texi: Revert copyright year update.
28821         * doc/lgpl-3.0.texi: Likewise.
28822
28823 2009-12-29  Jim Meyering  <meyering@redhat.com>
28824
28825         update nearly all FSF copyright year lists to include 2009
28826         The files named by the following are exempted:
28827             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
28828               test -f "$dst" && { echo "$dst"; continue; }
28829               test -d "$dst" || continue
28830               echo "$dst"/$(basename "$src")
28831             done > exempt
28832             git ls-files tests/unictype >> exempt
28833         In the remaining files, convert to all-interval notation if
28834         - there is already at least one year interval like 2000-2003
28835         - the file is maintained by me
28836         - the file is in lib/uni*/, where that style already prevails
28837         Otherwise, use update-copyright's default.
28838
28839 2009-12-29  Simon Josefsson  <simon@josefsson.org>
28840         and Eric Blake  <ebb9@byu.net>
28841
28842         tests: don't require debug system() to pass
28843         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
28844         * tests/test-rmdir.h (test_rmdir_func): Likewise.
28845         * tests/test-unlink.h (test_unlink_func): Likewise.
28846         * tests/test-fstatat.c (main): ...into callers.
28847         * tests/test-lstat.c (main): Likewise.
28848         * tests/test-rmdir.c (main): Likewise.
28849         * tests/test-unlink.c (main): Likewise.
28850         * tests/test-unlinkat.c (main): Likewise.
28851         * tests/test-areadlink-with-size.c (main): Don't require a
28852         debug-only system call to pass, aiding cross-testing to mingw.
28853         * tests/test-areadlink.c (main): Likewise.
28854         * tests/test-areadlinkat-with-size.c (main): Likewise.
28855         * tests/test-areadlinkat.c (main): Likewise.
28856         * tests/test-canonicalize-lgpl.c (main): Likewise.
28857         * tests/test-canonicalize.c (main): Likewise.
28858         * tests/test-chown.c (main): Likewise.
28859         * tests/test-fchownat.c (main): Likewise.
28860         * tests/test-lchown.c (main): Likewise.
28861         * tests/test-fdutimensat.c (main): Likewise.
28862         * tests/test-futimens.c (main): Likewise.
28863         * tests/test-link.c (main): Likewise.
28864         * tests/test-linkat.c (main): Likewise.
28865         * tests/test-mkdir.c (main): Likewise.
28866         * tests/test-mkdirat.c (main): Likewise.
28867         * tests/test-mkfifo.c (main): Likewise.
28868         * tests/test-mkfifoat.c (main): Likewise.
28869         * tests/test-mknod.c (main): Likewise.
28870         * tests/test-readlink.c (main): Likewise.
28871         * tests/test-remove.c (main): Likewise.
28872         * tests/test-rename.c (main): Likewise.
28873         * tests/test-renameat.c (main): Likewise.
28874         * tests/test-symlink.c (main): Likewise.
28875         * tests/test-symlinkat.c (main): Likewise.
28876         * tests/test-utimens.c (main): Likewise.
28877         * tests/test-utimensat.c (main): Likewise.
28878
28879 2009-12-29  Simon Josefsson  <simon@josefsson.org>
28880
28881         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
28882         on $(UNUSED_PARAMETER_H) to avoid build failure.
28883
28884 2009-12-28  Jim Meyering  <meyering@redhat.com>
28885
28886         update-copyright: you may specify a max. line length other than 72
28887         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28888
28889         maint: use consistent FSF copyright line syntax
28890         * lib/posixtm.c: Add missing comma in FSF copyright line.
28891         * lib/posixtm.h: Likewise.
28892         * lib/getugroups.c: Add missing ", Inc.".
28893
28894         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
28895         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
28896         FSF copyright line.  Remove trailing blanks.
28897
28898 2009-12-28  Eric Blake  <ebb9@byu.net>
28899
28900         test-dup2: reduce dependencies
28901         * modules/cloexec (Configure.ac): Set witness.
28902         * modules/dup2-tests (Depends-on): Drop cloexec.
28903         * tests/test-dup2.c (main): Skip portion of test if cloexec module
28904         not present.
28905         Suggested by Bruno Haible.
28906
28907 2009-12-26  Bruno Haible  <bruno@clisp.org>
28908
28909         Remove an unneeded dependency.
28910         * modules/fseterr (Depends-on): Remove dup2.
28911
28912 2009-12-26  Eric Blake  <ebb9@byu.net>
28913
28914         tests: use macros.h in more places
28915         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
28916         (ASSERT_STREAM): Provide default of stderr.
28917         * tests/test-dirent-safer.c: Include macros.h, using alternate
28918         stream for assertions.
28919         * tests/test-dup-safer.c: Likewise.
28920         * tests/test-freopen-safer.c: Likewise.
28921         * tests/test-getopt.c: Likewise.
28922         * tests/test-openat-safer.c: Likewise.
28923         * tests/test-pipe.c: Likewise.
28924         * tests/test-popen-safer.c: Likewise.
28925         * modules/dirent-safer-tests (Files): Include macros.h.
28926         * modules/unistd-safer-tests (Files): Likewise.
28927         * modules/freopen-safer-tests (Files): Likewise.
28928         * modules/getopt-posix-tests (Files): Likewise.
28929         * modules/openat-safer-tests (Files): Likewise.
28930         * modules/pipe-tests (Files): Likewise.
28931
28932 2009-12-26  Bruno Haible  <bruno@clisp.org>
28933
28934         javacomp: Portability fix.
28935         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
28936         that it also works on Solaris.
28937
28938 2009-12-26  Bruno Haible  <bruno@clisp.org>
28939
28940         localename: Fix storage allocation of gl_locale_name_thread's result.
28941         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
28942         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
28943         all platforms that have 'uselocale'.
28944         (gl_locale_name_thread_unsafe): New function, extracted from
28945         gl_locale_name_thread.
28946         (gl_locale_name_thread): Call struniq on all platforms that have
28947         'uselocale'.
28948         * tests/test-localename.c (test_locale_name_thread): Check that the
28949         resulting strings are permanently allocated.
28950         * modules/localename-tests (Depends-on): Add strdup.
28951
28952 2009-12-26  Bruno Haible  <bruno@clisp.org>
28953
28954         * tests/test-localename.c (categories): Fill in the strings.
28955
28956 2009-12-26  Jim Meyering  <meyering@redhat.com>
28957
28958         isdir: complete the removal of m4/isdir.m4
28959         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
28960
28961         isdir: clean up, since at least grep still uses it
28962         * lib/isdir.c: Include "isdir.h".
28963         (S_ISDIR): Remove now-unneeded definition.
28964         * modules/isdir (Files): Add lib/isdir.h.
28965         * lib/isdir.h: New file, with declaration.
28966         * m4/isdir.m4: Remove file -- unneeded.
28967
28968 2009-12-25  Bruno Haible  <bruno@clisp.org>
28969
28970         selinux-h: Make generated .h files standalone.
28971         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
28972         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
28973         * lib/se-selinux.in.h: Likewise.
28974         * modules/selinux-h (Depends-on): Add unused-parameter.
28975         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
28976         selinux/selinux.h and selinux/context.h.
28977         Suggested by Eric Blake.
28978
28979 2009-12-25  Bruno Haible  <bruno@clisp.org>
28980
28981         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
28982         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
28983         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
28984         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
28985         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
28986
28987 2009-12-24  Bruno Haible  <bruno@clisp.org>
28988
28989         openat: Fix warning.
28990         * lib/openat-proc.c: Include <unistd.h>.
28991
28992 2009-12-24  Bruno Haible  <bruno@clisp.org>
28993
28994         New module 'unused-parameter'.
28995         * build-aux/unused-parameter.h: New file, extracted from earlier
28996         gnulib-common.m4.
28997         * modules/unused-parameter: New file.
28998         * lib/unistr.h: Include unused-parameter.h.
28999         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29000         _GL_UNUSED.
29001         * modules/unistr/base (Depends-on): Add unused-parameter.
29002
29003 2009-12-24  Bruno Haible  <bruno@clisp.org>
29004
29005         Add missing dependencies to 'extensions' module.
29006         * m4/extensions.m4: Add comment.
29007         * modules/accept4 (Depends-on): Add extensions.
29008         * modules/dup3 (Depends-on): Likewise.
29009         * modules/fcntl (Depends-on): Likewise.
29010         * modules/futimens (Depends-on): Likewise.
29011         * modules/mknod (Depends-on): Likewise.
29012         * modules/pipe2 (Depends-on): Likewise.
29013         * modules/stat-time (Depends-on): Likewise.
29014         * modules/strcasestr-simple (Depends-on): Likewise.
29015         * modules/strsignal (Depends-on): Likewise.
29016         * modules/utimensat (Depends-on): Likewise.
29017         * modules/localcharset (Depends-on): Likewise. Needed because of
29018         gl_FCNTL_O_FLAGS.
29019         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29020         AC_TYPE_MBSTATE_T.
29021         * modules/wcsnrtombs (Depends-on): Likewise.
29022         * modules/wcsrtombs (Depends-on): Likewise.
29023
29024 2009-12-24  Bruno Haible  <bruno@clisp.org>
29025
29026         binary-io: Avoid gcc warning due to SET_BINARY.
29027         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29028         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29029
29030 2009-12-24  Bruno Haible  <bruno@clisp.org>
29031
29032         Avoid future namespace pollution on glibc systems.
29033         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29034         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29035         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29036         glibc systems.
29037
29038 2009-12-24  Bruno Haible  <bruno@clisp.org>
29039
29040         Refactor common macros used in tests.
29041         * tests/macros.h: New file.
29042         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29043         and/or <stdlib.h>, if appropriate.
29044         (ASSERT, SIZEOF): Remove macros.
29045         * tests/test-areadlink-with-size.c: Likewise.
29046         * tests/test-areadlinkat.c: Likewise.
29047         * tests/test-areadlinkat-with-size.c: Likewise.
29048         * tests/test-argmatch.c: Likewise.
29049         * tests/test-argv-iter.c: Likewise.
29050         * tests/test-array-mergesort.c: Likewise.
29051         * tests/test-array_list.c: Likewise.
29052         * tests/test-array_oset.c: Likewise.
29053         * tests/test-avltree_list.c: Likewise.
29054         * tests/test-avltree_oset.c: Likewise.
29055         * tests/test-avltreehash_list.c: Likewise.
29056         * tests/test-base64.c: Likewise.
29057         * tests/test-binary-io.c: Likewise.
29058         * tests/test-bitrotate.c: Likewise.
29059         * tests/test-btowc.c: Likewise.
29060         * tests/test-byteswap.c: Likewise.
29061         * tests/test-c-ctype.c: Likewise.
29062         * tests/test-c-stack.c: Likewise.
29063         * tests/test-c-strcasecmp.c: Likewise.
29064         * tests/test-c-strcasestr.c: Likewise.
29065         * tests/test-c-strncasecmp.c: Likewise.
29066         * tests/test-c-strstr.c: Likewise.
29067         * tests/test-canonicalize-lgpl.c: Likewise.
29068         * tests/test-canonicalize.c: Likewise.
29069         * tests/test-carray_list.c: Likewise.
29070         * tests/test-ceilf1.c: Likewise.
29071         * tests/test-ceilf2.c: Likewise.
29072         * tests/test-ceill.c: Likewise.
29073         * tests/test-chown.c: Likewise.
29074         * tests/test-cloexec.c: Likewise.
29075         * tests/test-copy-acl.c: Likewise.
29076         * tests/test-copy-file.c: Likewise.
29077         * tests/test-count-one-bits.c: Likewise.
29078         * tests/test-dprintf-posix.c: Likewise.
29079         * tests/test-dup2.c: Likewise.
29080         * tests/test-dup3.c: Likewise.
29081         * tests/test-duplocale.c: Likewise.
29082         * tests/test-fbufmode.c: Likewise.
29083         * tests/test-fchdir.c: Likewise.
29084         * tests/test-fchownat.c: Likewise.
29085         * tests/test-fcntl-safer.c: Likewise.
29086         * tests/test-fcntl.c: Likewise.
29087         * tests/test-fdopendir.c: Likewise.
29088         * tests/test-fdutimensat.c: Likewise.
29089         * tests/test-fflush2.c: Likewise.
29090         * tests/test-file-has-acl.c: Likewise.
29091         * tests/test-filevercmp.c: Likewise.
29092         * tests/test-flock.c: Likewise.
29093         * tests/test-floorf1.c: Likewise.
29094         * tests/test-floorf2.c: Likewise.
29095         * tests/test-floorl.c: Likewise.
29096         * tests/test-fnmatch.c: Likewise.
29097         * tests/test-fopen.h: Likewise.
29098         * tests/test-fpending.c: Likewise.
29099         * tests/test-fprintf-posix.c: Likewise.
29100         * tests/test-fpurge.c: Likewise.
29101         * tests/test-freadable.c: Likewise.
29102         * tests/test-freadahead.c: Likewise.
29103         * tests/test-freading.c: Likewise.
29104         * tests/test-freadptr.c: Likewise.
29105         * tests/test-freadptr2.c: Likewise.
29106         * tests/test-freadseek.c: Likewise.
29107         * tests/test-freopen.c: Likewise.
29108         * tests/test-frexp.c: Likewise.
29109         * tests/test-frexpl.c: Likewise.
29110         * tests/test-fseek.c: Likewise.
29111         * tests/test-fseeko.c: Likewise.
29112         * tests/test-fstatat.c: Likewise.
29113         * tests/test-fstrcmp.c: Likewise.
29114         * tests/test-fsync.c: Likewise.
29115         * tests/test-ftell.c: Likewise.
29116         * tests/test-ftello.c: Likewise.
29117         * tests/test-func.c: Likewise.
29118         * tests/test-futimens.c: Likewise.
29119         * tests/test-fwritable.c: Likewise.
29120         * tests/test-fwriting.c: Likewise.
29121         * tests/test-getcwd.c: Likewise.
29122         * tests/test-getdate.c: Likewise.
29123         * tests/test-getdelim.c: Likewise.
29124         * tests/test-getdtablesize.c: Likewise.
29125         * tests/test-getgroups.c: Likewise.
29126         * tests/test-getline.c: Likewise.
29127         * tests/test-getndelim2.c: Likewise.
29128         * tests/test-glob.c: Likewise.
29129         * tests/test-hash.c: Likewise.
29130         * tests/test-i-ring.c: Likewise.
29131         * tests/test-iconv-utf.c: Likewise.
29132         * tests/test-iconv.c: Likewise.
29133         * tests/test-idpriv-drop.c: Likewise.
29134         * tests/test-idpriv-droptemp.c: Likewise.
29135         * tests/test-inet_ntop.c: Likewise.
29136         * tests/test-inet_pton.c: Likewise.
29137         * tests/test-isblank.c: Likewise.
29138         * tests/test-isfinite.c: Likewise.
29139         * tests/test-isinf.c: Likewise.
29140         * tests/test-isnan.c: Likewise.
29141         * tests/test-isnand.h: Likewise.
29142         * tests/test-isnanf.h: Likewise.
29143         * tests/test-isnanl.h: Likewise.
29144         * tests/test-lchown.c: Likewise.
29145         * tests/test-ldexpl.c: Likewise.
29146         * tests/test-link.c: Likewise.
29147         * tests/test-linkat.c: Likewise.
29148         * tests/test-linked_list.c: Likewise.
29149         * tests/test-linkedhash_list.c: Likewise.
29150         * tests/test-localename.c: Likewise.
29151         * tests/test-lseek.c: Likewise.
29152         * tests/test-lstat.c: Likewise.
29153         * tests/test-mbmemcasecmp.c: Likewise.
29154         * tests/test-mbmemcasecoll.c: Likewise.
29155         * tests/test-mbrtowc.c: Likewise.
29156         * tests/test-mbscasecmp.c: Likewise.
29157         * tests/test-mbscasestr1.c: Likewise.
29158         * tests/test-mbscasestr2.c: Likewise.
29159         * tests/test-mbscasestr3.c: Likewise.
29160         * tests/test-mbscasestr4.c: Likewise.
29161         * tests/test-mbschr.c: Likewise.
29162         * tests/test-mbscspn.c: Likewise.
29163         * tests/test-mbsinit.c: Likewise.
29164         * tests/test-mbsncasecmp.c: Likewise.
29165         * tests/test-mbsnrtowcs.c: Likewise.
29166         * tests/test-mbspbrk.c: Likewise.
29167         * tests/test-mbspcasecmp.c: Likewise.
29168         * tests/test-mbsrchr.c: Likewise.
29169         * tests/test-mbsrtowcs.c: Likewise.
29170         * tests/test-mbsspn.c: Likewise.
29171         * tests/test-mbsstr1.c: Likewise.
29172         * tests/test-mbsstr2.c: Likewise.
29173         * tests/test-mbsstr3.c: Likewise.
29174         * tests/test-memchr.c: Likewise.
29175         * tests/test-memchr2.c: Likewise.
29176         * tests/test-memcmp.c: Likewise.
29177         * tests/test-memmem.c: Likewise.
29178         * tests/test-memrchr.c: Likewise.
29179         * tests/test-mkdir.c: Likewise.
29180         * tests/test-mkdirat.c: Likewise.
29181         * tests/test-mkfifo.c: Likewise.
29182         * tests/test-mkfifoat.c: Likewise.
29183         * tests/test-mknod.c: Likewise.
29184         * tests/test-nanosleep.c: Likewise.
29185         * tests/test-nl_langinfo.c: Likewise.
29186         * tests/test-obstack-printf.c: Likewise.
29187         * tests/test-open.c: Likewise.
29188         * tests/test-openat.c: Likewise.
29189         * tests/test-pipe-filter-gi1.c: Likewise.
29190         * tests/test-pipe-filter-gi2-main.c: Likewise.
29191         * tests/test-pipe-filter-ii1.c: Likewise.
29192         * tests/test-pipe-filter-ii2-main.c: Likewise.
29193         * tests/test-pipe2.c: Likewise.
29194         * tests/test-popen.h: Likewise.
29195         * tests/test-posixtm.c: Likewise.
29196         * tests/test-pread.c: Likewise.
29197         * tests/test-printf-frexp.c: Likewise.
29198         * tests/test-printf-frexpl.c: Likewise.
29199         * tests/test-printf-posix.c: Likewise.
29200         * tests/test-priv-set.c: Likewise.
29201         * tests/test-quotearg.c: Likewise.
29202         * tests/test-random_r.c: Likewise.
29203         * tests/test-rawmemchr.c: Likewise.
29204         * tests/test-rbtree_list.c: Likewise.
29205         * tests/test-rbtree_oset.c: Likewise.
29206         * tests/test-rbtreehash_list.c: Likewise.
29207         * tests/test-readlink.c: Likewise.
29208         * tests/test-remove.c: Likewise.
29209         * tests/test-rename.c: Likewise.
29210         * tests/test-renameat.c: Likewise.
29211         * tests/test-rmdir.c: Likewise.
29212         * tests/test-round1.c: Likewise.
29213         * tests/test-roundf1.c: Likewise.
29214         * tests/test-roundl.c: Likewise.
29215         * tests/test-safe-alloc.c: Likewise.
29216         * tests/test-sameacls.c: Likewise.
29217         * tests/test-set-mode-acl.c: Likewise.
29218         * tests/test-setenv.c: Likewise.
29219         * tests/test-sigaction.c: Likewise.
29220         * tests/test-signbit.c: Likewise.
29221         * tests/test-sleep.c: Likewise.
29222         * tests/test-snprintf-posix.c: Likewise.
29223         * tests/test-snprintf.c: Likewise.
29224         * tests/test-sprintf-posix.c: Likewise.
29225         * tests/test-stat-time.c: Likewise.
29226         * tests/test-stat.c: Likewise.
29227         * tests/test-strcasestr.c: Likewise.
29228         * tests/test-strchrnul.c: Likewise.
29229         * tests/test-strerror.c: Likewise.
29230         * tests/test-striconv.c: Likewise.
29231         * tests/test-striconveh.c: Likewise.
29232         * tests/test-striconveha.c: Likewise.
29233         * tests/test-strsignal.c: Likewise.
29234         * tests/test-strstr.c: Likewise.
29235         * tests/test-strtod.c: Likewise.
29236         * tests/test-strverscmp.c: Likewise.
29237         * tests/test-symlink.c: Likewise.
29238         * tests/test-symlinkat.c: Likewise.
29239         * tests/test-trunc1.c: Likewise.
29240         * tests/test-trunc2.c: Likewise.
29241         * tests/test-truncf1.c: Likewise.
29242         * tests/test-truncf2.c: Likewise.
29243         * tests/test-truncl.c: Likewise.
29244         * tests/test-uname.c: Likewise.
29245         * tests/test-unlink.c: Likewise.
29246         * tests/test-unlinkat.c: Likewise.
29247         * tests/test-unsetenv.c: Likewise.
29248         * tests/test-usleep.c: Likewise.
29249         * tests/test-utimens.c: Likewise.
29250         * tests/test-utimensat.c: Likewise.
29251         * tests/test-vasnprintf-posix.c: Likewise.
29252         * tests/test-vasnprintf-posix2.c: Likewise.
29253         * tests/test-vasnprintf.c: Likewise.
29254         * tests/test-vasprintf-posix.c: Likewise.
29255         * tests/test-vasprintf.c: Likewise.
29256         * tests/test-vdprintf-posix.c: Likewise.
29257         * tests/test-vfprintf-posix.c: Likewise.
29258         * tests/test-vprintf-posix.c: Likewise.
29259         * tests/test-vsnprintf-posix.c: Likewise.
29260         * tests/test-vsnprintf.c: Likewise.
29261         * tests/test-vsprintf-posix.c: Likewise.
29262         * tests/test-wcrtomb.c: Likewise.
29263         * tests/test-wcsnrtombs.c: Likewise.
29264         * tests/test-wcsrtombs.c: Likewise.
29265         * tests/test-wctype.c: Likewise.
29266         * tests/test-wcwidth.c: Likewise.
29267         * tests/test-xfprintf-posix.c: Likewise.
29268         * tests/test-xmemdup0.c: Likewise.
29269         * tests/test-xprintf-posix.c: Likewise.
29270         * tests/test-xvasprintf.c: Likewise.
29271         * tests/unicase/test-locale-language.c: Likewise.
29272         * tests/unicase/test-mapping-part1.h: Likewise.
29273         * tests/unicase/test-predicate-part1.h: Likewise.
29274         * tests/unicase/test-u8-casecmp.c: Likewise.
29275         * tests/unicase/test-u8-casecoll.c: Likewise.
29276         * tests/unicase/test-u8-casefold.c: Likewise.
29277         * tests/unicase/test-u8-is-cased.c: Likewise.
29278         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29279         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29280         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29281         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29282         * tests/unicase/test-u8-tolower.c: Likewise.
29283         * tests/unicase/test-u8-totitle.c: Likewise.
29284         * tests/unicase/test-u8-toupper.c: Likewise.
29285         * tests/unicase/test-u16-casecmp.c: Likewise.
29286         * tests/unicase/test-u16-casecoll.c: Likewise.
29287         * tests/unicase/test-u16-casefold.c: Likewise.
29288         * tests/unicase/test-u16-is-cased.c: Likewise.
29289         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29290         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29291         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29292         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29293         * tests/unicase/test-u16-tolower.c: Likewise.
29294         * tests/unicase/test-u16-totitle.c: Likewise.
29295         * tests/unicase/test-u16-toupper.c: Likewise.
29296         * tests/unicase/test-u32-casecmp.c: Likewise.
29297         * tests/unicase/test-u32-casecoll.c: Likewise.
29298         * tests/unicase/test-u32-casefold.c: Likewise.
29299         * tests/unicase/test-u32-is-cased.c: Likewise.
29300         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29301         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29302         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29303         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29304         * tests/unicase/test-u32-tolower.c: Likewise.
29305         * tests/unicase/test-u32-totitle.c: Likewise.
29306         * tests/unicase/test-u32-toupper.c: Likewise.
29307         * tests/unicase/test-ulc-casecmp.c: Likewise.
29308         * tests/unicase/test-ulc-casecoll.c: Likewise.
29309         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29310         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29311         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29312         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29313         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29314         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29315         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29316         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29317         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29318         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29319         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29320         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29321         * tests/unictype/test-bidi_byname.c: Likewise.
29322         * tests/unictype/test-bidi_name.c: Likewise.
29323         * tests/unictype/test-bidi_of.c: Likewise.
29324         * tests/unictype/test-bidi_test.c: Likewise.
29325         * tests/unictype/test-block_list.c: Likewise.
29326         * tests/unictype/test-block_of.c: Likewise.
29327         * tests/unictype/test-block_test.c: Likewise.
29328         * tests/unictype/test-categ_and.c: Likewise.
29329         * tests/unictype/test-categ_and_not.c: Likewise.
29330         * tests/unictype/test-categ_byname.c: Likewise.
29331         * tests/unictype/test-categ_name.c: Likewise.
29332         * tests/unictype/test-categ_none.c: Likewise.
29333         * tests/unictype/test-categ_of.c: Likewise.
29334         * tests/unictype/test-categ_or.c: Likewise.
29335         * tests/unictype/test-categ_test_withtable.c: Likewise.
29336         * tests/unictype/test-combining.c: Likewise.
29337         * tests/unictype/test-decdigit.c: Likewise.
29338         * tests/unictype/test-digit.c: Likewise.
29339         * tests/unictype/test-mirror.c: Likewise.
29340         * tests/unictype/test-numeric.c: Likewise.
29341         * tests/unictype/test-pr_byname.c: Likewise.
29342         * tests/unictype/test-pr_test.c: Likewise.
29343         * tests/unictype/test-predicate-part1.h: Likewise.
29344         * tests/unictype/test-scripts.c: Likewise.
29345         * tests/unictype/test-sy_c_ident.c: Likewise.
29346         * tests/unictype/test-sy_java_ident.c: Likewise.
29347         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29348         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29349         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29350         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29351         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29352         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29353         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29354         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29355         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29356         * tests/uninorm/test-compat-decomposition.c: Likewise.
29357         * tests/uninorm/test-composition.c: Likewise.
29358         * tests/uninorm/test-decomposing-form.c: Likewise.
29359         * tests/uninorm/test-decomposition.c: Likewise.
29360         * tests/uninorm/test-u8-nfc.c: Likewise.
29361         * tests/uninorm/test-u8-nfd.c: Likewise.
29362         * tests/uninorm/test-u8-nfkc.c: Likewise.
29363         * tests/uninorm/test-u8-nfkd.c: Likewise.
29364         * tests/uninorm/test-u8-normcmp.c: Likewise.
29365         * tests/uninorm/test-u8-normcoll.c: Likewise.
29366         * tests/uninorm/test-u16-nfc.c: Likewise.
29367         * tests/uninorm/test-u16-nfd.c: Likewise.
29368         * tests/uninorm/test-u16-nfkc.c: Likewise.
29369         * tests/uninorm/test-u16-nfkd.c: Likewise.
29370         * tests/uninorm/test-u16-normcmp.c: Likewise.
29371         * tests/uninorm/test-u16-normcoll.c: Likewise.
29372         * tests/uninorm/test-u32-nfc.c: Likewise.
29373         * tests/uninorm/test-u32-nfd.c: Likewise.
29374         * tests/uninorm/test-u32-nfkc.c: Likewise.
29375         * tests/uninorm/test-u32-nfkd.c: Likewise.
29376         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29377         * tests/uninorm/test-u32-normcmp.c: Likewise.
29378         * tests/uninorm/test-u32-normcoll.c: Likewise.
29379         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29380         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29381         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29382         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29383         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29384         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29385         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29386         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29387         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29388         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29389         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29390         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29391         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29392         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29393         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29394         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29395         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29396         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29397         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29398         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29399         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29400         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29401         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29402         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29403         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29404         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29405         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29406         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29407         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29408         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29409         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29410         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29411         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29412         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29413         * tests/uniwidth/test-u8-width.c: Likewise.
29414         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29415         * tests/uniwidth/test-u16-width.c: Likewise.
29416         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29417         * tests/uniwidth/test-u32-width.c: Likewise.
29418         * tests/uniwidth/test-uc_width.c: Likewise.
29419         * tests/uniwidth/test-uc_width2.c: Likewise.
29420         * modules/acl-tests (Files): Add tests/macros.h.
29421         * modules/areadlink-tests (Files): Likewise.
29422         * modules/areadlink-with-size-tests (Files): Likewise.
29423         * modules/areadlinkat-tests (Files): Likewise.
29424         * modules/areadlinkat-with-size-tests (Files): Likewise.
29425         * modules/argmatch-tests (Files): Likewise.
29426         * modules/argv-iter-tests (Files): Likewise.
29427         * modules/array-list-tests (Files): Likewise.
29428         * modules/array-mergesort-tests (Files): Likewise.
29429         * modules/array-oset-tests (Files): Likewise.
29430         * modules/avltree-list-tests (Files): Likewise.
29431         * modules/avltree-oset-tests (Files): Likewise.
29432         * modules/avltreehash-list-tests (Files): Likewise.
29433         * modules/base64-tests (Files): Likewise.
29434         * modules/binary-io-tests (Files): Likewise.
29435         * modules/bitrotate-tests (Files): Likewise.
29436         * modules/btowc-tests (Files): Likewise.
29437         * modules/byteswap-tests (Files): Likewise.
29438         * modules/c-ctype-tests (Files): Likewise.
29439         * modules/c-stack-tests (Files): Likewise.
29440         * modules/c-strcase-tests (Files): Likewise.
29441         * modules/c-strcasestr-tests (Files): Likewise.
29442         * modules/c-strstr-tests (Files): Likewise.
29443         * modules/canonicalize-lgpl-tests (Files): Likewise.
29444         * modules/canonicalize-tests (Files): Likewise.
29445         * modules/carray-list-tests (Files): Likewise.
29446         * modules/ceilf-tests (Files): Likewise.
29447         * modules/ceill-tests (Files): Likewise.
29448         * modules/chown-tests (Files): Likewise.
29449         * modules/cloexec-tests (Files): Likewise.
29450         * modules/copy-file-tests (Files): Likewise.
29451         * modules/count-one-bits-tests (Files): Likewise.
29452         * modules/dprintf-posix-tests (Files): Likewise.
29453         * modules/dup2-tests (Files): Likewise.
29454         * modules/dup3-tests (Files): Likewise.
29455         * modules/duplocale-tests (Files): Likewise.
29456         * modules/fbufmode-tests (Files): Likewise.
29457         * modules/fchdir-tests (Files): Likewise.
29458         * modules/fcntl-safer-tests (Files): Likewise.
29459         * modules/fcntl-tests (Files): Likewise.
29460         * modules/fdopendir-tests (Files): Likewise.
29461         * modules/fdutimensat-tests (Files): Likewise.
29462         * modules/fflush-tests (Files): Likewise.
29463         * modules/filevercmp-tests (Files): Likewise.
29464         * modules/flock-tests (Files): Likewise.
29465         * modules/floorf-tests (Files): Likewise.
29466         * modules/floorl-tests (Files): Likewise.
29467         * modules/fnmatch-tests (Files): Likewise.
29468         * modules/fopen-safer-tests (Files): Likewise.
29469         * modules/fopen-tests (Files): Likewise.
29470         * modules/fpending-tests (Files): Likewise.
29471         * modules/fprintf-posix-tests (Files): Likewise.
29472         * modules/fpurge-tests (Files): Likewise.
29473         * modules/freadable-tests (Files): Likewise.
29474         * modules/freadahead-tests (Files): Likewise.
29475         * modules/freading-tests (Files): Likewise.
29476         * modules/freadptr-tests (Files): Likewise.
29477         * modules/freadseek-tests (Files): Likewise.
29478         * modules/freopen-tests (Files): Likewise.
29479         * modules/frexp-nolibm-tests (Files): Likewise.
29480         * modules/frexp-tests (Files): Likewise.
29481         * modules/frexpl-nolibm-tests (Files): Likewise.
29482         * modules/frexpl-tests (Files): Likewise.
29483         * modules/fseek-tests (Files): Likewise.
29484         * modules/fseeko-tests (Files): Likewise.
29485         * modules/fstrcmp-tests (Files): Likewise.
29486         * modules/fsync-tests (Files): Likewise.
29487         * modules/ftell-tests (Files): Likewise.
29488         * modules/ftello-tests (Files): Likewise.
29489         * modules/func-tests (Files): Likewise.
29490         * modules/futimens-tests (Files): Likewise.
29491         * modules/fwritable-tests (Files): Likewise.
29492         * modules/fwriting-tests (Files): Likewise.
29493         * modules/getcwd-tests (Files): Likewise.
29494         * modules/getdate-tests (Files): Likewise.
29495         * modules/getdelim-tests (Files): Likewise.
29496         * modules/getdtablesize-tests (Files): Likewise.
29497         * modules/getgroups-tests (Files): Likewise.
29498         * modules/getline-tests (Files): Likewise.
29499         * modules/getndelim2-tests (Files): Likewise.
29500         * modules/glob-tests (Files): Likewise.
29501         * modules/hash-tests (Files): Likewise.
29502         * modules/i-ring-tests (Files): Likewise.
29503         * modules/iconv-tests (Files): Likewise.
29504         * modules/iconv_open-utf-tests (Files): Likewise.
29505         * modules/idpriv-drop-tests (Files): Likewise.
29506         * modules/idpriv-droptemp-tests (Files): Likewise.
29507         * modules/inet_ntop-tests (Files): Likewise.
29508         * modules/inet_pton-tests (Files): Likewise.
29509         * modules/isblank-tests (Files): Likewise.
29510         * modules/isfinite-tests (Files): Likewise.
29511         * modules/isinf-tests (Files): Likewise.
29512         * modules/isnan-tests (Files): Likewise.
29513         * modules/isnand-nolibm-tests (Files): Likewise.
29514         * modules/isnand-tests (Files): Likewise.
29515         * modules/isnanf-nolibm-tests (Files): Likewise.
29516         * modules/isnanf-tests (Files): Likewise.
29517         * modules/isnanl-nolibm-tests (Files): Likewise.
29518         * modules/isnanl-tests (Files): Likewise.
29519         * modules/lchown-tests (Files): Likewise.
29520         * modules/ldexpl-tests (Files): Likewise.
29521         * modules/link-tests (Files): Likewise.
29522         * modules/linkat-tests (Files): Likewise.
29523         * modules/linked-list-tests (Files): Likewise.
29524         * modules/linkedhash-list-tests (Files): Likewise.
29525         * modules/localename-tests (Files): Likewise.
29526         * modules/lseek-tests (Files): Likewise.
29527         * modules/lstat-tests (Files): Likewise.
29528         * modules/mbmemcasecmp-tests (Files): Likewise.
29529         * modules/mbmemcasecoll-tests (Files): Likewise.
29530         * modules/mbrtowc-tests (Files): Likewise.
29531         * modules/mbscasecmp-tests (Files): Likewise.
29532         * modules/mbscasestr-tests (Files): Likewise.
29533         * modules/mbschr-tests (Files): Likewise.
29534         * modules/mbscspn-tests (Files): Likewise.
29535         * modules/mbsinit-tests (Files): Likewise.
29536         * modules/mbsncasecmp-tests (Files): Likewise.
29537         * modules/mbsnrtowcs-tests (Files): Likewise.
29538         * modules/mbspbrk-tests (Files): Likewise.
29539         * modules/mbspcasecmp-tests (Files): Likewise.
29540         * modules/mbsrchr-tests (Files): Likewise.
29541         * modules/mbsrtowcs-tests (Files): Likewise.
29542         * modules/mbsspn-tests (Files): Likewise.
29543         * modules/mbsstr-tests (Files): Likewise.
29544         * modules/memchr-tests (Files): Likewise.
29545         * modules/memchr2-tests (Files): Likewise.
29546         * modules/memcmp-tests (Files): Likewise.
29547         * modules/memmem-tests (Files): Likewise.
29548         * modules/memrchr-tests (Files): Likewise.
29549         * modules/mkdir-tests (Files): Likewise.
29550         * modules/mkfifo-tests (Files): Likewise.
29551         * modules/mkfifoat-tests (Files): Likewise.
29552         * modules/mknod-tests (Files): Likewise.
29553         * modules/nanosleep-tests (Files): Likewise.
29554         * modules/nl_langinfo-tests (Files): Likewise.
29555         * modules/obstack-printf-tests (Files): Likewise.
29556         * modules/open-tests (Files): Likewise.
29557         * modules/openat-tests (Files): Likewise.
29558         * modules/pipe-filter-gi-tests (Files): Likewise.
29559         * modules/pipe-filter-ii-tests (Files): Likewise.
29560         * modules/pipe2-tests (Files): Likewise.
29561         * modules/popen-safer-tests (Files): Likewise.
29562         * modules/popen-tests (Files): Likewise.
29563         * modules/posixtm-tests (Files): Likewise.
29564         * modules/pread-tests (Files): Likewise.
29565         * modules/printf-frexp-tests (Files): Likewise.
29566         * modules/printf-frexpl-tests (Files): Likewise.
29567         * modules/printf-posix-tests (Files): Likewise.
29568         * modules/priv-set-tests (Files): Likewise.
29569         * modules/quotearg-tests (Files): Likewise.
29570         * modules/random_r-tests (Files): Likewise.
29571         * modules/rawmemchr-tests (Files): Likewise.
29572         * modules/rbtree-list-tests (Files): Likewise.
29573         * modules/rbtree-oset-tests (Files): Likewise.
29574         * modules/rbtreehash-list-tests (Files): Likewise.
29575         * modules/readlink-tests (Files): Likewise.
29576         * modules/remove-tests (Files): Likewise.
29577         * modules/rename-tests (Files): Likewise.
29578         * modules/renameat-tests (Files): Likewise.
29579         * modules/rmdir-tests (Files): Likewise.
29580         * modules/round-tests (Files): Likewise.
29581         * modules/roundf-tests (Files): Likewise.
29582         * modules/roundl-tests (Files): Likewise.
29583         * modules/safe-alloc-tests (Files): Likewise.
29584         * modules/setenv-tests (Files): Likewise.
29585         * modules/sigaction-tests (Files): Likewise.
29586         * modules/signbit-tests (Files): Likewise.
29587         * modules/sleep-tests (Files): Likewise.
29588         * modules/snprintf-posix-tests (Files): Likewise.
29589         * modules/snprintf-tests (Files): Likewise.
29590         * modules/sprintf-posix-tests (Files): Likewise.
29591         * modules/stat-tests (Files): Likewise.
29592         * modules/stat-time-tests (Files): Likewise.
29593         * modules/strcasestr-tests (Files): Likewise.
29594         * modules/strchrnul-tests (Files): Likewise.
29595         * modules/strerror-tests (Files): Likewise.
29596         * modules/striconv-tests (Files): Likewise.
29597         * modules/striconveh-tests (Files): Likewise.
29598         * modules/striconveha-tests (Files): Likewise.
29599         * modules/strsignal-tests (Files): Likewise.
29600         * modules/strstr-tests (Files): Likewise.
29601         * modules/strtod-tests (Files): Likewise.
29602         * modules/strverscmp-tests (Files): Likewise.
29603         * modules/symlink-tests (Files): Likewise.
29604         * modules/symlinkat-tests (Files): Likewise.
29605         * modules/trunc-tests (Files): Likewise.
29606         * modules/truncf-tests (Files): Likewise.
29607         * modules/truncl-tests (Files): Likewise.
29608         * modules/uname-tests (Files): Likewise.
29609         * modules/unicase/cased-tests (Files): Likewise.
29610         * modules/unicase/ignorable-tests (Files): Likewise.
29611         * modules/unicase/locale-language-tests (Files): Likewise.
29612         * modules/unicase/tolower-tests (Files): Likewise.
29613         * modules/unicase/totitle-tests (Files): Likewise.
29614         * modules/unicase/toupper-tests (Files): Likewise.
29615         * modules/unicase/u8-casecmp-tests (Files): Likewise.
29616         * modules/unicase/u8-casecoll-tests (Files): Likewise.
29617         * modules/unicase/u8-casefold-tests (Files): Likewise.
29618         * modules/unicase/u8-is-cased-tests (Files): Likewise.
29619         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
29620         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
29621         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
29622         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
29623         * modules/unicase/u8-tolower-tests (Files): Likewise.
29624         * modules/unicase/u8-totitle-tests (Files): Likewise.
29625         * modules/unicase/u8-toupper-tests (Files): Likewise.
29626         * modules/unicase/u16-casecmp-tests (Files): Likewise.
29627         * modules/unicase/u16-casecoll-tests (Files): Likewise.
29628         * modules/unicase/u16-casefold-tests (Files): Likewise.
29629         * modules/unicase/u16-is-cased-tests (Files): Likewise.
29630         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
29631         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
29632         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
29633         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
29634         * modules/unicase/u16-tolower-tests (Files): Likewise.
29635         * modules/unicase/u16-totitle-tests (Files): Likewise.
29636         * modules/unicase/u16-toupper-tests (Files): Likewise.
29637         * modules/unicase/u32-casecmp-tests (Files): Likewise.
29638         * modules/unicase/u32-casecoll-tests (Files): Likewise.
29639         * modules/unicase/u32-casefold-tests (Files): Likewise.
29640         * modules/unicase/u32-is-cased-tests (Files): Likewise.
29641         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
29642         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
29643         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
29644         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
29645         * modules/unicase/u32-tolower-tests (Files): Likewise.
29646         * modules/unicase/u32-totitle-tests (Files): Likewise.
29647         * modules/unicase/u32-toupper-tests (Files): Likewise.
29648         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
29649         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
29650         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
29651         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
29652         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
29653         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
29654         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
29655         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
29656         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
29657         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
29658         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
29659         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
29660         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
29661         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
29662         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
29663         * modules/unictype/bidicategory-name-tests (Files): Likewise.
29664         * modules/unictype/bidicategory-of-tests (Files): Likewise.
29665         * modules/unictype/bidicategory-test-tests (Files): Likewise.
29666         * modules/unictype/block-list-tests (Files): Likewise.
29667         * modules/unictype/block-of-tests (Files): Likewise.
29668         * modules/unictype/block-test-tests (Files): Likewise.
29669         * modules/unictype/category-C-tests (Files): Likewise.
29670         * modules/unictype/category-Cc-tests (Files): Likewise.
29671         * modules/unictype/category-Cf-tests (Files): Likewise.
29672         * modules/unictype/category-Cn-tests (Files): Likewise.
29673         * modules/unictype/category-Co-tests (Files): Likewise.
29674         * modules/unictype/category-Cs-tests (Files): Likewise.
29675         * modules/unictype/category-L-tests (Files): Likewise.
29676         * modules/unictype/category-Ll-tests (Files): Likewise.
29677         * modules/unictype/category-Lm-tests (Files): Likewise.
29678         * modules/unictype/category-Lo-tests (Files): Likewise.
29679         * modules/unictype/category-Lt-tests (Files): Likewise.
29680         * modules/unictype/category-Lu-tests (Files): Likewise.
29681         * modules/unictype/category-M-tests (Files): Likewise.
29682         * modules/unictype/category-Mc-tests (Files): Likewise.
29683         * modules/unictype/category-Me-tests (Files): Likewise.
29684         * modules/unictype/category-Mn-tests (Files): Likewise.
29685         * modules/unictype/category-N-tests (Files): Likewise.
29686         * modules/unictype/category-Nd-tests (Files): Likewise.
29687         * modules/unictype/category-Nl-tests (Files): Likewise.
29688         * modules/unictype/category-No-tests (Files): Likewise.
29689         * modules/unictype/category-P-tests (Files): Likewise.
29690         * modules/unictype/category-Pc-tests (Files): Likewise.
29691         * modules/unictype/category-Pd-tests (Files): Likewise.
29692         * modules/unictype/category-Pe-tests (Files): Likewise.
29693         * modules/unictype/category-Pf-tests (Files): Likewise.
29694         * modules/unictype/category-Pi-tests (Files): Likewise.
29695         * modules/unictype/category-Po-tests (Files): Likewise.
29696         * modules/unictype/category-Ps-tests (Files): Likewise.
29697         * modules/unictype/category-S-tests (Files): Likewise.
29698         * modules/unictype/category-Sc-tests (Files): Likewise.
29699         * modules/unictype/category-Sk-tests (Files): Likewise.
29700         * modules/unictype/category-Sm-tests (Files): Likewise.
29701         * modules/unictype/category-So-tests (Files): Likewise.
29702         * modules/unictype/category-Z-tests (Files): Likewise.
29703         * modules/unictype/category-Zl-tests (Files): Likewise.
29704         * modules/unictype/category-Zp-tests (Files): Likewise.
29705         * modules/unictype/category-Zs-tests (Files): Likewise.
29706         * modules/unictype/category-and-not-tests (Files): Likewise.
29707         * modules/unictype/category-and-tests (Files): Likewise.
29708         * modules/unictype/category-byname-tests (Files): Likewise.
29709         * modules/unictype/category-name-tests (Files): Likewise.
29710         * modules/unictype/category-none-tests (Files): Likewise.
29711         * modules/unictype/category-of-tests (Files): Likewise.
29712         * modules/unictype/category-or-tests (Files): Likewise.
29713         * modules/unictype/category-test-withtable-tests (Files): Likewise.
29714         * modules/unictype/combining-class-tests (Files): Likewise.
29715         * modules/unictype/ctype-alnum-tests (Files): Likewise.
29716         * modules/unictype/ctype-alpha-tests (Files): Likewise.
29717         * modules/unictype/ctype-blank-tests (Files): Likewise.
29718         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
29719         * modules/unictype/ctype-digit-tests (Files): Likewise.
29720         * modules/unictype/ctype-graph-tests (Files): Likewise.
29721         * modules/unictype/ctype-lower-tests (Files): Likewise.
29722         * modules/unictype/ctype-print-tests (Files): Likewise.
29723         * modules/unictype/ctype-punct-tests (Files): Likewise.
29724         * modules/unictype/ctype-space-tests (Files): Likewise.
29725         * modules/unictype/ctype-upper-tests (Files): Likewise.
29726         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
29727         * modules/unictype/decimal-digit-tests (Files): Likewise.
29728         * modules/unictype/digit-tests (Files): Likewise.
29729         * modules/unictype/mirror-tests (Files): Likewise.
29730         * modules/unictype/numeric-tests (Files): Likewise.
29731         * modules/unictype/property-alphabetic-tests (Files): Likewise.
29732         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
29733         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
29734         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
29735         Likewise.
29736         * modules/unictype/property-bidi-block-separator-tests (Files):
29737         Likewise.
29738         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
29739         Likewise.
29740         * modules/unictype/property-bidi-common-separator-tests (Files):
29741         Likewise.
29742         * modules/unictype/property-bidi-control-tests (Files): Likewise.
29743         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
29744         Likewise.
29745         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
29746         Likewise.
29747         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
29748         Likewise.
29749         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
29750         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
29751         Likewise.
29752         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
29753         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
29754         Likewise.
29755         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
29756         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
29757         * modules/unictype/property-bidi-segment-separator-tests (Files):
29758         Likewise.
29759         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
29760         * modules/unictype/property-byname-tests (Files): Likewise.
29761         * modules/unictype/property-combining-tests (Files): Likewise.
29762         * modules/unictype/property-composite-tests (Files): Likewise.
29763         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
29764         * modules/unictype/property-dash-tests (Files): Likewise.
29765         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
29766         * modules/unictype/property-default-ignorable-code-point-tests (Files):
29767         Likewise.
29768         * modules/unictype/property-deprecated-tests (Files): Likewise.
29769         * modules/unictype/property-diacritic-tests (Files): Likewise.
29770         * modules/unictype/property-extender-tests (Files): Likewise.
29771         * modules/unictype/property-format-control-tests (Files): Likewise.
29772         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
29773         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
29774         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
29775         * modules/unictype/property-hex-digit-tests (Files): Likewise.
29776         * modules/unictype/property-hyphen-tests (Files): Likewise.
29777         * modules/unictype/property-id-continue-tests (Files): Likewise.
29778         * modules/unictype/property-id-start-tests (Files): Likewise.
29779         * modules/unictype/property-ideographic-tests (Files): Likewise.
29780         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
29781         * modules/unictype/property-ids-trinary-operator-tests (Files):
29782         Likewise.
29783         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
29784         * modules/unictype/property-iso-control-tests (Files): Likewise.
29785         * modules/unictype/property-join-control-tests (Files): Likewise.
29786         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
29787         * modules/unictype/property-line-separator-tests (Files): Likewise.
29788         * modules/unictype/property-logical-order-exception-tests (Files):
29789         Likewise.
29790         * modules/unictype/property-lowercase-tests (Files): Likewise.
29791         * modules/unictype/property-math-tests (Files): Likewise.
29792         * modules/unictype/property-non-break-tests (Files): Likewise.
29793         * modules/unictype/property-not-a-character-tests (Files): Likewise.
29794         * modules/unictype/property-numeric-tests (Files): Likewise.
29795         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
29796         * modules/unictype/property-other-default-ignorable-code-point-tests
29797         (Files): Likewise.
29798         * modules/unictype/property-other-grapheme-extend-tests (Files):
29799         Likewise.
29800         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
29801         * modules/unictype/property-other-id-start-tests (Files): Likewise.
29802         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
29803         * modules/unictype/property-other-math-tests (Files): Likewise.
29804         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
29805         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
29806         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
29807         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
29808         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
29809         * modules/unictype/property-private-use-tests (Files): Likewise.
29810         * modules/unictype/property-punctuation-tests (Files): Likewise.
29811         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
29812         * modules/unictype/property-radical-tests (Files): Likewise.
29813         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
29814         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
29815         * modules/unictype/property-space-tests (Files): Likewise.
29816         * modules/unictype/property-terminal-punctuation-tests (Files):
29817         Likewise.
29818         * modules/unictype/property-test-tests (Files): Likewise.
29819         * modules/unictype/property-titlecase-tests (Files): Likewise.
29820         * modules/unictype/property-unassigned-code-value-tests (Files):
29821         Likewise.
29822         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
29823         * modules/unictype/property-uppercase-tests (Files): Likewise.
29824         * modules/unictype/property-variation-selector-tests (Files): Likewise.
29825         * modules/unictype/property-white-space-tests (Files): Likewise.
29826         * modules/unictype/property-xid-continue-tests (Files): Likewise.
29827         * modules/unictype/property-xid-start-tests (Files): Likewise.
29828         * modules/unictype/property-zero-width-tests (Files): Likewise.
29829         * modules/unictype/scripts-tests (Files): Likewise.
29830         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
29831         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
29832         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
29833         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
29834         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
29835         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
29836         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
29837         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
29838         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
29839         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
29840         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
29841         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
29842         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
29843         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
29844         * modules/uninorm/composition-tests (Files): Likewise.
29845         * modules/uninorm/decomposing-form-tests (Files): Likewise.
29846         * modules/uninorm/decomposition-tests (Files): Likewise.
29847         * modules/uninorm/filter-tests (Files): Likewise.
29848         * modules/uninorm/nfc-tests (Files): Likewise.
29849         * modules/uninorm/nfd-tests (Files): Likewise.
29850         * modules/uninorm/nfkc-tests (Files): Likewise.
29851         * modules/uninorm/nfkd-tests (Files): Likewise.
29852         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
29853         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
29854         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
29855         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
29856         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
29857         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
29858         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
29859         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
29860         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
29861         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
29862         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
29863         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
29864         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
29865         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
29866         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
29867         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
29868         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
29869         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
29870         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
29871         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
29872         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
29873         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
29874         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
29875         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
29876         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
29877         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
29878         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
29879         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
29880         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
29881         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
29882         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
29883         * modules/uniwidth/u8-width-tests (Files): Likewise.
29884         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
29885         * modules/uniwidth/u16-width-tests (Files): Likewise.
29886         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
29887         * modules/uniwidth/u32-width-tests (Files): Likewise.
29888         * modules/uniwidth/width-tests (Files): Likewise.
29889         * modules/unlink-tests (Files): Likewise.
29890         * modules/unsetenv-tests (Files): Likewise.
29891         * modules/usleep-tests (Files): Likewise.
29892         * modules/utimens-tests (Files): Likewise.
29893         * modules/utimensat-tests (Files): Likewise.
29894         * modules/vasnprintf-posix-tests (Files): Likewise.
29895         * modules/vasnprintf-tests (Files): Likewise.
29896         * modules/vasprintf-posix-tests (Files): Likewise.
29897         * modules/vasprintf-tests (Files): Likewise.
29898         * modules/vdprintf-posix-tests (Files): Likewise.
29899         * modules/vfprintf-posix-tests (Files): Likewise.
29900         * modules/vprintf-posix-tests (Files): Likewise.
29901         * modules/vsnprintf-posix-tests (Files): Likewise.
29902         * modules/vsnprintf-tests (Files): Likewise.
29903         * modules/vsprintf-posix-tests (Files): Likewise.
29904         * modules/wcrtomb-tests (Files): Likewise.
29905         * modules/wcsnrtombs-tests (Files): Likewise.
29906         * modules/wcsrtombs-tests (Files): Likewise.
29907         * modules/wctype-tests (Files): Likewise.
29908         * modules/wcwidth-tests (Files): Likewise.
29909         * modules/xmemdup0-tests (Files): Likewise.
29910         * modules/xprintf-posix-tests (Files): Likewise.
29911         * modules/xvasprintf-tests (Files): Likewise.
29912
29913 2009-12-24  Eric Blake  <ebb9@byu.net>
29914
29915         test-nanosleep: fix typo
29916         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
29917         patch.
29918         Reported by Bruno Haible.
29919
29920 2009-12-24  Bruno Haible  <bruno@clisp.org>
29921
29922         Reduce namespace pollution on glibc systems.
29923         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
29924         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
29925         systems.
29926         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
29927         <getopt.h> on glibc systems.
29928         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
29929         systems.
29930         * lib/fcntl.c: Include <unistd.h> here instead.
29931
29932 2009-12-24  Bruno Haible  <bruno@clisp.org>
29933
29934         * lib/stdlib.in.h (includes): Fix typo in today's commit.
29935
29936 2009-12-24  Eric Blake  <ebb9@byu.net>
29937
29938         tests: add signature checks
29939         * tests/signature.h (SIGNATURE_CHECK): New file.
29940         * modules/atexit-tests (Files): Use it.
29941         * modules/btowc-tests (Files): Likewise.
29942         * modules/canonicalize-lgpl-tests (Files): Likewise.
29943         * modules/ceilf-tests (Files): Likewise.
29944         * modules/ceill-tests (Files): Likewise.
29945         * modules/chown-tests (Files): Likewise.
29946         * modules/dprintf-posix-tests (Files): Likewise.
29947         * modules/dup2-tests (Files): Likewise.
29948         * modules/dup3-tests (Files): Likewise.
29949         * modules/duplocale-tests (Files): Likewise.
29950         * modules/fchdir-tests (Files): Likewise.
29951         * modules/fcntl-tests (Files): Likewise.
29952         * modules/fdopendir-tests (Files): Likewise.
29953         * modules/fflush-tests (Files): Likewise.
29954         * modules/flock-tests (Files): Likewise.
29955         * modules/floorf-tests (Files): Likewise.
29956         * modules/floorl-tests (Files): Likewise.
29957         * modules/fnmatch-tests (Files): Likewise.
29958         * modules/fopen-tests (Files): Likewise.
29959         * modules/fprintf-posix-tests (Files): Likewise.
29960         * modules/freopen-tests (Files): Likewise.
29961         * modules/frexp-nolibm-tests (Files): Likewise.
29962         * modules/frexp-tests (Files): Likewise.
29963         * modules/frexpl-nolibm-tests (Files): Likewise.
29964         * modules/frexpl-tests (Files): Likewise.
29965         * modules/fseek-tests (Files): Likewise.
29966         * modules/fseeko-tests (Files): Likewise.
29967         * modules/fsync-tests (Files): Likewise.
29968         * modules/ftell-tests (Files): Likewise.
29969         * modules/ftello-tests (Files): Likewise.
29970         * modules/futimens-tests (Files): Likewise.
29971         * modules/getaddrinfo-tests (Files): Likewise.
29972         * modules/getcwd-tests (Files): Likewise.
29973         * modules/getdelim-tests (Files): Likewise.
29974         * modules/getdtablesize-tests (Files): Likewise.
29975         * modules/getgroups-tests (Files): Likewise.
29976         * modules/gethostname-tests (Files): Likewise.
29977         * modules/getline-tests (Files): Likewise.
29978         * modules/getopt-posix-tests (Files): Likewise.
29979         * modules/gettimeofday-tests (Files): Likewise.
29980         * modules/glob-tests (Files): Likewise.
29981         * modules/iconv-tests (Files): Likewise.
29982         * modules/inet_ntop-tests (Files): Likewise.
29983         * modules/inet_pton-tests (Files): Likewise.
29984         * modules/isblank-tests (Files): Likewise.
29985         * modules/lchown-tests (Files): Likewise.
29986         * modules/ldexpl-tests (Files): Likewise.
29987         * modules/link-tests (Files): Likewise.
29988         * modules/linkat-tests (Files): Likewise.
29989         * modules/lseek-tests (Files): Likewise.
29990         * modules/lstat-tests (Files): Likewise.
29991         * modules/mbrtowc-tests (Files): Likewise.
29992         * modules/mbsinit-tests (Files): Likewise.
29993         * modules/mbsnrtowcs-tests (Files): Likewise.
29994         * modules/mbsrtowcs-tests (Files): Likewise.
29995         * modules/memchr-tests (Files): Likewise.
29996         * modules/memcmp-tests (Files): Likewise.
29997         * modules/memmem-tests (Files): Likewise.
29998         * modules/memrchr-tests (Files): Likewise.
29999         * modules/mkdir-tests (Files): Likewise.
30000         * modules/mkfifo-tests (Files): Likewise.
30001         * modules/mkfifoat-tests (Files): Likewise.
30002         * modules/mknod-tests (Files): Likewise.
30003         * modules/nanosleep-tests (Files): Likewise.
30004         * modules/nl_langinfo-tests (Files): Likewise.
30005         * modules/obstack-printf-tests (Files): Likewise.
30006         * modules/open-tests (Files): Likewise.
30007         * modules/openat-tests (Files): Likewise.
30008         * modules/perror-tests (Files): Likewise.
30009         * modules/pipe2-tests (Files): Likewise.
30010         * modules/poll-tests (Files): Likewise.
30011         * modules/popen-tests (Files): Likewise.
30012         * modules/posix_spawn-tests (Files): Likewise.
30013         * modules/posix_spawnp-tests (Files): Likewise.
30014         * modules/pread-tests (Files): Likewise.
30015         * modules/printf-posix-tests (Files): Likewise.
30016         * modules/pty-tests (Files): Likewise.
30017         * modules/random_r-tests (Files): Likewise.
30018         * modules/rawmemchr-tests (Files): Likewise.
30019         * modules/readlink-tests (Files): Likewise.
30020         * modules/remove-tests (Files): Likewise.
30021         * modules/rename-tests (Files): Likewise.
30022         * modules/renameat-tests (Files): Likewise.
30023         * modules/rmdir-tests (Files): Likewise.
30024         * modules/round-tests (Files): Likewise.
30025         * modules/roundf-tests (Files): Likewise.
30026         * modules/roundl-tests (Files): Likewise.
30027         * modules/select-tests (Files): Likewise.
30028         * modules/setenv-tests (Files): Likewise.
30029         * modules/sigaction-tests (Files): Likewise.
30030         * modules/sleep-tests (Files): Likewise.
30031         * modules/snprintf-posix-tests (Files): Likewise.
30032         * modules/snprintf-tests (Files): Likewise.
30033         * modules/sprintf-posix-tests (Files): Likewise.
30034         * modules/stat-tests (Files): Likewise.
30035         * modules/strcasestr-tests (Files): Likewise.
30036         * modules/strchrnul-tests (Files): Likewise.
30037         * modules/strerror-tests (Files): Likewise.
30038         * modules/strsignal-tests (Files): Likewise.
30039         * modules/strstr-tests (Files): Likewise.
30040         * modules/strtod-tests (Files): Likewise.
30041         * modules/strverscmp-tests (Files): Likewise.
30042         * modules/symlink-tests (Files): Likewise.
30043         * modules/symlinkat-tests (Files): Likewise.
30044         * modules/times-tests (Files): Likewise.
30045         * modules/trunc-tests (Files): Likewise.
30046         * modules/truncf-tests (Files): Likewise.
30047         * modules/truncl-tests (Files): Likewise.
30048         * modules/tsearch-tests (Files): Likewise.
30049         * modules/uname-tests (Files): Likewise.
30050         * modules/unlink-tests (Files): Likewise.
30051         * modules/unsetenv-tests (Files): Likewise.
30052         * modules/usleep-tests (Files): Likewise.
30053         * modules/utimensat-tests (Files): Likewise.
30054         * modules/vasprintf-tests (Files): Likewise.
30055         * modules/vdprintf-posix-tests (Files): Likewise.
30056         * modules/vfprintf-posix-tests (Files): Likewise.
30057         * modules/vprintf-posix-tests (Files): Likewise.
30058         * modules/vsnprintf-posix-tests (Files): Likewise.
30059         * modules/vsnprintf-tests (Files): Likewise.
30060         * modules/vsprintf-posix-tests (Files): Likewise.
30061         * modules/wcrtomb-tests (Files): Likewise.
30062         * modules/wcsnrtombs-tests (Files): Likewise.
30063         * modules/wcsrtombs-tests (Files): Likewise.
30064         * modules/wcwidth-tests (Files): Likewise.
30065         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30066         * tests/test-isinf.c (isinf): Likewise.
30067         * tests/test-isnan.c (isnan): Likewise.
30068         * tests/test-signbit.c (signbit): Likewise.
30069         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30070         declaration, either as macro or with correct signature.
30071         (select): Ensure function under test is declared with correct
30072         signature in correct header.
30073         * tests/test-atexit.c (atexit): Likewise.
30074         * tests/test-btowc.c (btowc): Likewise.
30075         * tests/test-canonicalize-lgpl.c (realpath)
30076         (canonicalize_file_name): Likewise.
30077         * tests/test-ceilf1.c (ceilf): Likewise.
30078         * tests/test-ceill.c (ceill): Likewise.
30079         * tests/test-chown.c (chown): Likewise.
30080         * tests/test-dprintf-posix.c (dprintf): Likewise.
30081         * tests/test-dup2.c (dup2): Likewise.
30082         * tests/test-dup3.c (dup3): Likewise.
30083         * tests/test-duplocale.c (duplocale): Likewise.
30084         * tests/test-fchdir.c (fchdir): Likewise.
30085         * tests/test-fchownat.c (fchownat): Likewise.
30086         * tests/test-fcntl.c (fcntl): Likewise.
30087         * tests/test-fdopendir.c (fdopendir): Likewise.
30088         * tests/test-fflush.c (fflush): Likewise.
30089         * tests/test-flock.c (flock): Likewise.
30090         * tests/test-floorf1.c (floorf): Likewise.
30091         * tests/test-floorl.c (floorl): Likewise.
30092         * tests/test-fnmatch.c (fnmatch): Likewise.
30093         * tests/test-fopen.c (fopen): Likewise.
30094         * tests/test-fprintf-posix.c (fprintf): Likewise.
30095         * tests/test-freopen.c (freopen): Likewise.
30096         * tests/test-frexp.c (frexp): Likewise.
30097         * tests/test-frexpl.c (frexpl): Likewise.
30098         * tests/test-fseek.c (fseek): Likewise.
30099         * tests/test-fseeko.c (fseeko): Likewise.
30100         * tests/test-fstatat.c (fstatat): Likewise.
30101         * tests/test-fsync.c (fsync): Likewise.
30102         * tests/test-ftell.c (ftell): Likewise.
30103         * tests/test-ftello.c (ftello): Likewise.
30104         * tests/test-futimens.c (futimens): Likewise.
30105         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30106         (gai_strerror): Likewise.
30107         * tests/test-getcwd.c (getcwd): Likewise.
30108         * tests/test-getdelim.c (getdelim): Likewise.
30109         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30110         * tests/test-getgroups.c (getgroups): Likewise.
30111         * tests/test-gethostname.c (gethostname): Likewise.
30112         * tests/test-getline.c (getline): Likewise.
30113         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30114         Likewise.
30115         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30116         * tests/test-glob.c (glob, globfree): Likewise.
30117         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30118         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30119         * tests/test-inet_pton.c (inet_pton): Likewise.
30120         * tests/test-isblank.c (isblank): Likewise.
30121         * tests/test-lchown.c (lchown): Likewise.
30122         * tests/test-ldexpl.c (ldexpl): Likewise.
30123         * tests/test-link.c (link): Likewise.
30124         * tests/test-linkat.c (linkat): Likewise.
30125         * tests/test-lseek.c (lseek): Likewise.
30126         * tests/test-lstat.c (lstat): Likewise.
30127         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30128         * tests/test-mbsinit.c (mbsinit): Likewise.
30129         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30130         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30131         * tests/test-memchr.c (memchr): Likewise.
30132         * tests/test-memcmp.c (memcmp): Likewise.
30133         * tests/test-memmem.c (memmem): Likewise.
30134         * tests/test-memrchr.c (memrchr): Likewise.
30135         * tests/test-mkdir.c (mkdir): Likewise.
30136         * tests/test-mkdirat.c (mkdirat): Likewise.
30137         * tests/test-mkfifo.c (mkfifo): Likewise.
30138         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30139         * tests/test-mknod.c (mknod): Likewise.
30140         * tests/test-nanosleep.c (nanosleep): Likewise.
30141         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30142         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30143         Likewise.
30144         * tests/test-open.c (open): Likewise.
30145         * tests/test-openat.c (openat): Likewise.
30146         * tests/test-perror.c (perror): Likewise.
30147         * tests/test-pipe2.c (pipe2): Likewise.
30148         * tests/test-poll.c (poll): Likewise.
30149         * tests/test-popen.c (popen, pclose): Likewise.
30150         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30151         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30152         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30153         (posix_spawn_file_actions_destroy)
30154         (posix_spawn_file_actions_addclose)
30155         (posix_spawn_file_actions_addopen)
30156         (posix_spawn_file_actions_adddup2): Likewise.
30157         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30158         * tests/test-pread.c (pread): Likewise.
30159         * tests/test-printf-posix.c (printf): Likewise.
30160         * tests/test-pty.c (openpty, forkpty): Likewise.
30161         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30162         (random_r): Likewise.
30163         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30164         * tests/test-readlink.c (readlink): Likewise.
30165         * tests/test-remove.c (remove): Likewise.
30166         * tests/test-rename.c (rename): Likewise.
30167         * tests/test-renameat.c (renameat): Likewise.
30168         * tests/test-rmdir.c (rmdir): Likewise.
30169         * tests/test-round1.c (round): Likewise.
30170         * tests/test-roundf1.c (roundf): Likewise.
30171         * tests/test-roundl.c (roundl): Likewise.
30172         * tests/test-setenv.c (setenv): Likewise.
30173         * tests/test-sigaction.c (sigaction): Likewise.
30174         * tests/test-sleep.c (sleep): Likewise.
30175         * tests/test-snprintf.c (snprintf): Likewise.
30176         * tests/test-sprintf-posix.c (sprintf): Likewise.
30177         * tests/test-stat.c (stat): Likewise.
30178         * tests/test-stpncpy.c (stpncpy): Likewise.
30179         * tests/test-strcasestr.c (strcasestr): Likewise.
30180         * tests/test-strchrnul.c (strchrnul): Likewise.
30181         * tests/test-strerror.c (strerror): Likewise.
30182         * tests/test-strsignal.c (strsignal): Likewise.
30183         * tests/test-strstr.c (strstr): Likewise.
30184         * tests/test-strtod.c (strtod): Likewise.
30185         * tests/test-strverscmp.c (strverscmp): Likewise.
30186         * tests/test-symlink.c (symlink): Likewise.
30187         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30188         * tests/test-times.c (times): Likewise.
30189         * tests/test-trunc1.c (trunc): Likewise.
30190         * tests/test-truncf1.c (truncf): Likewise.
30191         * tests/test-truncl.c (truncl): Likewise.
30192         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30193         Likewise.
30194         * tests/test-uname.c (uname): Likewise.
30195         * tests/test-unlink.c (unlink): Likewise.
30196         * tests/test-unlinkat.c (unlinkat): Likewise.
30197         * tests/test-unsetenv.c (unsetenv): Likewise.
30198         * tests/test-usleep.c (usleep): Likewise.
30199         * tests/test-utimensat.c (utimensat): Likewise.
30200         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30201         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30202         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30203         * tests/test-vprintf-posix.c (vprintf): Likewise.
30204         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30205         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30206         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30207         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30208         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30209         * tests/test-wcwidth.c (wcwidth): Likewise.
30210
30211         build: pull in conditional headers during GNULIB_POSIXCHECK
30212         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30213         definitions from any conditionally-included headers.
30214         * lib/stdlib.in.h (includes): Likewise.
30215         * lib/unistd.in.h (includes): Likewise.
30216
30217 2009-12-24  Bruno Haible  <bruno@clisp.org>
30218
30219         * tests/test-argv-iter.c: Include header file being tested immediately
30220         after config.h.
30221         * tests/test-base64.c: Likewise.
30222         * tests/test-flock.c: Likewise.
30223         * tests/test-fsync.c: Likewise.
30224         * tests/test-getdate.c: Likewise.
30225         * tests/test-getndelim2.c: Likewise.
30226         * tests/test-isfinite.c: Likewise.
30227         * tests/test-isinf.c: Likewise.
30228         * tests/test-strerror.c: Likewise.
30229         * tests/test-strsignal.c: Likewise.
30230
30231 2009-12-23  Eric Blake  <ebb9@byu.net>
30232
30233         unistd: work around cygwin bug
30234         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30235         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30236         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30237
30238 2009-12-23  Bruno Haible  <bruno@clisp.org>
30239
30240         localename: More tests.
30241         * tests/test-localename.c (SIZEOF): New macro.
30242         (categories): New variable.
30243         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30244         test_locale_name_default): Add test w.r.t. thread locale.
30245         (test_locale_name_thread): New function.
30246         (main): Invoke it.
30247
30248         localename: Make aware of thread locale.
30249         * lib/localename.h (gl_locale_name_thread): New declaration.
30250         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30251         behaviour with respect to thread locale.
30252         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30253         <langinfo.h>, glthread/lock.h.
30254         (SIZE_BITS): New macro.
30255         (string_hash): New function.
30256         (struct hash_node): New type.
30257         (HASH_TABLE_SIZE): New macro.
30258         (struniq_hash_table, struniq_lock): New variables.
30259         (struniq): New function.
30260         (gl_locale_name_thread): New function.
30261         (gl_locale_name): Invoke it.
30262         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30263         * modules/localename (Depends-on): Add lock.
30264         Reported by Mike Gran <spk121@yahoo.com>.
30265
30266 2009-12-23  Eric Blake  <ebb9@byu.net>
30267
30268         va-args: new module
30269         * modules/va-args: New file.
30270         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30271         * MODULES.html.sh (Core language properties): Mention it.
30272
30273         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30274         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30275         named alias for __attribute__((__unused__)).
30276         * lib/chown.c: Update client.
30277         * lib/fchmodat.c: Likewise.
30278         * lib/fts.c: Likewise.
30279         * lib/getdate.y: Likewise.
30280         * lib/getgroups.c: Likewise.
30281         * lib/getopt.c: Likewise.
30282         * lib/getugroups.c: Likewise.
30283         * lib/mkdir.c: Likewise.
30284         * lib/mkfifo.c: Likewise.
30285         * lib/mkfifoat.c: Likewise.
30286         * lib/mknod.c: Likewise.
30287         * lib/mknodat.c: Likewise.
30288         * lib/readlink.c: Likewise.
30289         * lib/se-context.in.h: Likewise.
30290         * lib/se-selinux.in.h: Likewise.
30291         * lib/sockets.c: Likewise.
30292         * lib/symlink.c: Likewise.
30293         * lib/symlinkat.c: Likewise.
30294         * lib/unicodeio.c: Likewise.
30295         * lib/unistr.h: Likewise.
30296         * tests/test-areadlink.c: Likewise.
30297         * tests/test-areadlinkat.c: Likewise.
30298         * tests/test-filenamecat.c: Likewise.
30299         * tests/test-fseeko.c: Likewise.
30300         * tests/test-ftello.c: Likewise.
30301         * tests/test-getdate.c: Likewise.
30302         * tests/test-getgroups.c: Likewise.
30303         * tests/test-gethostname.c: Likewise.
30304         * tests/test-quotearg.c: Likewise.
30305         * tests/test-version-etc.c: Likewise.
30306         * tests/test-xalloc-die.c: Likewise.
30307         * tests/test-xfprintf-posix.c: Likewise.
30308         * tests/test-xprintf-posix.c: Likewise.
30309         * tests/test-xvasprintf.c: Likewise.
30310
30311         tests: avoid compiler warnings
30312         * tests/test-fcntl.c (main): Delete unused parameters.
30313         * tests/test-freopen-safer.c (main): Likewise.
30314         * tests/test-xalloc-die.c (main): Mark unused parameters.
30315         * tests/test-fseeko.c (main): Likewise.
30316         * tests/test-ftello.c (main): Likewise.
30317         * tests/test-nanosleep.c (main): Avoid declaration warning.
30318         * tests/test-sleep.c (main): Likewise.
30319         * tests/test-unsetenv.c (main): Silence warning about string
30320         literal.
30321         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30322
30323 2009-12-23  Bruno Haible  <bruno@clisp.org>
30324
30325         * tests/test-localename.c (test_locale_name): New function, extracted
30326         from main. Also test mixed situations.
30327         (test_locale_name_posix, test_locale_name_environ,
30328         test_locale_name_default): New functions.
30329         (main): Invoke them all.
30330         * modules/localename-tests (configure.ac): Test for newlocale.
30331
30332 2009-12-23  Bruno Haible  <bruno@clisp.org>
30333
30334         unistd: Ensure getcwd gets declared before being overridden.
30335         * lib/unistd.in.h: Conditionally include <io.h>.
30336
30337 2009-12-22  Bruno Haible  <bruno@clisp.org>
30338
30339         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30340         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30341         (gl_WCHAR_H): Invoke it.
30342         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30343         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30344         Reported by Karl Berry <karl@freefriends.org>.
30345
30346 2009-12-22  Eric Blake  <ebb9@byu.net>
30347
30348         math, unistd: avoid redundant includes
30349         * lib/math.in.h (isnan): No need to re-include <math.h>.
30350         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30351
30352         getsubopt: work around cygwin bug
30353         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30354         avoid conflicting with system getsubopt.
30355         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30356         bug.
30357
30358         getopt: synchronize from glibc
30359         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30360         parameter order.  Adjust all callers.
30361         (_getopt_internal_r, main): Adjust quoting in error messages.
30362         Drop considerations for outdated POSIX 1003.2 error message.
30363         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30364         callers.
30365         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30366
30367         test-getopt: test stderr behavior
30368         * modules/getopt-posix-tests (Depends-on): Add dup2.
30369         * tests/test-getopt.c (ASSERT): Avoid stderr.
30370         (main): Move stderr to a temporary file.
30371         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30372         Instead, add parameter to inform caller if output occurred.
30373         (test_getopt): Adjust all existing tests to expect silence, and
30374         add new tests of leading ":".
30375         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30376         glibc shortcomings with leading "-:" or "+:" in optstring.
30377         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30378         Likewise.
30379         * doc/posix-functions/getopt.texi (getopt): Likewise.
30380
30381         test-getopt: enhance test
30382         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30383         supports optind=0.
30384         * tests/test-getopt.c (OPTIND_MIN): Move...
30385         * tests/test-getopt.h (OPTIND_MIN): ...here.
30386         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30387         Require that optind=0 works, since modern BSD supports it in
30388         addition to optreset, and since coreutils expects it.
30389         (test_getopt_long_only): New test.
30390         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30391         glibc shortcomings with 'W;', and enforcement of optind=0.
30392         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30393         Likewise.
30394
30395 2009-12-21  Bruno Haible  <bruno@clisp.org>
30396
30397         localename: Improvements for MacOS X and Cygwin.
30398         * lib/localename.h (gl_locale_name_environ): New declaration.
30399         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30400         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30401         (gl_locale_name_posix): Invoke it.
30402         (gl_locale_name_default): Add comments. Use Windows native API also on
30403         Cygwin.
30404
30405 2009-12-21  Bruno Haible  <bruno@clisp.org>
30406
30407         Update list of Win32 locale ids.
30408         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30409         (LANG_SAMI): Renamed from LANG_SAAMI.
30410         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30411         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30412         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30413         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30414         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30415         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30416         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30417         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30418         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30419         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30420         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30421         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30422         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30423         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30424         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30425         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30426         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30427         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30428         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30429         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30430         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30431         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30432         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30433         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30434         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30435         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30436         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30437         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30438         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30439         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30440         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30441         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30442         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30443         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30444         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30445         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30446         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30447         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30448         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30449         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30450         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30451         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30452         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30453         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30454         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30455         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30456         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30457         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30458         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30459         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30460         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30461         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30462         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30463         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30464         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30465         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30466         Add more languages and countries for Sami, Sorbian. Add more countries
30467         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30468         for Pashto. Change country for Syriac, Tswana.
30469
30470 2009-12-21  Eric Blake  <ebb9@byu.net>
30471
30472         test-utimens: avoid spurious failure
30473         * tests/test-chown.h (nap): Factor...
30474         * tests/nap.h: ...into new file.
30475         * tests/test-lchown.h (nap): Avoid duplication.
30476         * tests/test-utimens-common.h (nap): Use shared implementation,
30477         necessary on file systems with 1-second resolution.
30478         * modules/chown-tests (Files): Include new file.
30479         * modules/fdutimensat-tests (Files): Likewise.
30480         * modules/futimens-tests (Files): Likewise.
30481         * modules/lchown-tests (Files): Likewise.
30482         * modules/openat-tests (Files): Likewise.
30483         * modules/utimens-tests (Files): Likewise.
30484         * modules/utimensat-tests (Files): Likewise.
30485
30486 2009-12-19  Eric Blake  <ebb9@byu.net>
30487
30488         futimens, utimensat: work around Linux bug
30489         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
30490         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30491         * lib/utimensat.c (rpl_utimensat): Work around it.
30492         * lib/futimens.c (rpl_futimens): Adjust comment.
30493
30494         utimens: work around Linux ctime bug
30495         * lib/utimens.c (detect_ctime_bug): New helper function.
30496         (update_timespec): Differentiate between workaround needed for
30497         this bug vs. what is needed for systems that lack utimensat.
30498         (fdutimens, lutimens): Work around bug.
30499
30500         utimens: check for ctime update
30501         * tests/test-utimens-common.h (check_ctime): Define.
30502         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
30503         * tests/test-futimens.h (test_futimens): Likewise.
30504         * tests/test-lutimens.h (test_lutimens): Likewise.
30505         * doc/posix-functions/futimens.texi (futimens): Document the bug.
30506         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30507
30508 2009-12-19  Bruno Haible  <bruno@clisp.org>
30509
30510         dprintf-posix: Check against memory leak fixed on 2009-12-15.
30511         * tests/test-dprintf-posix2.sh: New file.
30512         * tests/test-dprintf-posix2.c: New file.
30513         * modules/dprintf-posix-tests (Files): Add them.
30514         (configure.ac): Check for getrlimit and setrlimit.
30515         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30516
30517 2009-12-19  Bruno Haible  <bruno@clisp.org>
30518
30519         fprintf-posix: Check against memory leak fixed on 2009-12-15.
30520         * tests/test-fprintf-posix3.sh: New file.
30521         * tests/test-fprintf-posix3.c: New file.
30522         * modules/fprintf-posix-tests (Files): Add them.
30523         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30524
30525 2009-12-19  Eric Blake  <ebb9@byu.net>
30526
30527         dirfd: fix prototype
30528         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
30529         * lib/dirfd.c (dirfd): Likewise.
30530
30531         canonicalize: reduce memory usage
30532         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
30533         allocation to size.
30534         Reported by Solar Designer <solar@openwall.com>.
30535
30536 2009-12-19  Bruno Haible  <bruno@clisp.org>
30537
30538         New module attribute 'Applicability'.
30539         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
30540         * gnulib-tool: New option --extract-applicability.
30541         (func_usage): Document it.
30542         (sed_extract_prog): Recognize it.
30543         (func_get_applicability): New function.
30544         (func_import): Generalize handling of 'link-warning' module.
30545         * modules/link-warning (Applicability): New section.
30546         * modules/arg-nonnull (Applicability): New section.
30547         Repoted by Simon Josefsson <simon@josefsson.org>.
30548
30549 2009-12-19  Bruno Haible  <bruno@clisp.org>
30550
30551         fflush: tweak
30552         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
30553         * lib/fseeko.c (rpl_fseeko): Likewise.
30554
30555 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
30556
30557         * lib/gl_list.h: Fix typo in comment.
30558
30559 2009-12-16  Eric Blake  <ebb9@byu.net>
30560
30561         fcntl: use to simplify other modules
30562         * modules/cloexec (Depends-on): Add fcntl.
30563         * modules/fchdir (Depends-on): Likewise.
30564         * modules/fd-safer-flag (Depends-on): Likewise.
30565         * modules/unistd-safer (Depends-on): Likewise.
30566         * modules/dup3 (configure.ac): Set module indicator.
30567         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
30568         missing.
30569         * lib/fchdir.c (_gl_register_dup): Fix comment.
30570         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
30571         * lib/dup-safer.c (dup_safer): Likewise.
30572         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
30573         * lib/dup3.c (dup3): Likewise.
30574         * tests/test-fchdir.c (main): Enhance test.
30575         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
30576
30577         fcntl: port portions of fcntl to mingw
30578         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
30579         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
30580         replacement for mingw.
30581         * modules/fcntl (Description): Update.
30582         (Depends-on): Add dup2.
30583         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
30584         * modules/fcntl-h (Makefile.am): Substitute it.
30585         * lib/fcntl.in.h (fcntl): Update declaration.
30586         (F_DUPFD, F_GETFD): New macros, when needed.
30587         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30588         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
30589         * tests/test-fcntl.c (check_flags, main): Enhance test for items
30590         we now guarantee.
30591
30592         fcntl: work around cygwin bug in F_DUPFD
30593         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
30594         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
30595         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
30596         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
30597         * doc/posix-functions/fcntl.texi (fcntl): Document it.
30598
30599         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
30600         * modules/fcntl (Files): List new files.
30601         (configure.ac): Run a test.
30602         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
30603         * lib/fcntl.c (rpl_fcntl): Likewise.
30604         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
30605         (gl_FCNTL_H): Always replace fcntl.h.
30606         * modules/fcntl-h (Makefile.am): Substitute witnesses.
30607         * lib/fcntl.in.h (fcntl): Declare replacement.
30608         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
30609         needed, plus a witness.
30610         * doc/posix-functions/fcntl.texi (fcntl): Document this.
30611         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30612         * tests/test-fcntl.c: New file.
30613         * modules/fcntl-tests: Likewise.
30614
30615         binary-io: avoid potential compilation warning
30616         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
30617         directives.
30618
30619         fflush: avoid compilation error on NetBSD
30620         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
30621         between off_t and fpos_t, since the latter is sometimes a struct.
30622         * lib/fseeko.c (rpl_fseeko): Likewise.
30623         Reported by Alexander Nasonov <alnsn@yandex.ru>.
30624
30625 2009-12-15  Eric Blake  <ebb9@byu.net>
30626
30627         fcntl-h, stdio, sys_ioctl: fix declarations
30628         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
30629         function must not take arguments.
30630         * lib/sys_ioctl.in.h (ioctl): Likewise.
30631         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
30632         (open): Add a link warning.
30633
30634 2009-12-15  Jim Meyering  <meyering@redhat.com>
30635
30636         areadlink, areadlink-with-size: relax license to LGPLv2+
30637         * modules/areadlink (License): Relax to LGPLv2+.
30638         * modules/areadlink-with-size (License): Likewise.
30639
30640 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
30641             Bruno Haible  <bruno@clisp.org>
30642
30643         *printf: Fix memory leak.
30644         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
30645         * lib/vfprintf.c (vfprintf): Likewise.
30646         * lib/dprintf.c (dprintf): Likewise.
30647         * lib/vdprintf.c (vdprintf): Likewise.
30648
30649 2009-12-14  Eric Blake  <ebb9@byu.net>
30650
30651         accept4: adjust module dependencies
30652         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
30653
30654         utimens: one more try at avoiding compiler warning
30655         * lib/utimens.c (lutimens): Lower scope of result.
30656
30657 2009-12-13  Bruno Haible  <bruno@clisp.org>
30658
30659         Move the malloc checking from module 'list' to new module 'xlist'.
30660         * modules/xlist: New file.
30661         * lib/gl_xlist.h: New file.
30662         * lib/gl_xlist.c: New file.
30663         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
30664         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
30665         gl_list_add_last, gl_list_add_before, gl_list_add_after,
30666         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
30667         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
30668         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
30669         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
30670         gl_sortedlist_nx_add): New declarations.
30671         (struct gl_list_implementation): Rename and change methods accordingly.
30672         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
30673         (gl_list_nx_create): Renamed from gl_list_create.
30674         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30675         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30676         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30677         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30678         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30679         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30680         (gl_list_nx_add_at): Renamed from gl_list_add_at.
30681         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
30682         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
30683         gl_list_create_empty.
30684         (gl_list_nx_create): Renamed from gl_list_create.
30685         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30686         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30687         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30688         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30689         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30690         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30691         (gl_list_nx_add_at): Renamed from gl_list_add_at.
30692         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
30693         * lib/gl_array_list.c: Don't include xalloc.h.
30694         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
30695         NULL upon out-of-memory.
30696         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
30697         out-of-memory.
30698         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
30699         Change return type to 'int'.
30700         (gl_array_nx_set_at): Renamed from gl_array_set_at.
30701         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
30702         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
30703         upon out-of-memory.
30704         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
30705         upon out-of-memory.
30706         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
30707         upon out-of-memory.
30708         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
30709         upon out-of-memory.
30710         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
30711         out-of-memory.
30712         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
30713         Update.
30714         (gl_array_list_implementation): Update.
30715         * lib/gl_carray_list.c: Don't include xalloc.h.
30716         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
30717         Return NULL upon out-of-memory.
30718         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
30719         out-of-memory.
30720         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
30721         Change return type to 'int'.
30722         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
30723         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
30724         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
30725         upon out-of-memory.
30726         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
30727         upon out-of-memory.
30728         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
30729         out-of-memory.
30730         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
30731         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
30732         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
30733         Update.
30734         (gl_carray_list_implementation): Update.
30735         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
30736         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
30737         gl_linked_create_empty. Return NULL upon out-of-memory.
30738         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
30739         out-of-memory.
30740         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
30741         Change return type to 'int'. Return -1 upon out-of-memory.
30742         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
30743         out-of-memory.
30744         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
30745         upon out-of-memory.
30746         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
30747         upon out-of-memory.
30748         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
30749         NULL upon out-of-memory.
30750         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
30751         upon out-of-memory.
30752         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
30753         out-of-memory.
30754         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
30755         Update.
30756         * lib/gl_linked_list.c: Don't include xalloc.h.
30757         (gl_linked_list_implementation): Update.
30758         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
30759         (add_to_bucket): Change return type to 'int'.
30760         (gl_linkedhash_list_implementation): Update.
30761         * lib/gl_anytree_list1.h (free_subtree): New function.
30762         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
30763         gl_tree_create_empty. Return NULL upon out-of-memory.
30764         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
30765         Change return type to 'int'. Return -1 upon out-of-memory.
30766         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
30767         out-of-memory.
30768         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
30769         (gl_tree_remove_node): New function, moved here from
30770         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
30771         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
30772         Update.
30773         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
30774         malloc, not xmalloc. Return NULL upon out-of-memory.
30775         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
30776         out-of-memory.
30777         (gl_tree_remove_node_from_tree): New function, extracted from
30778         gl_tree_remove_node.
30779         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
30780         upon out-of-memory.
30781         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
30782         out-of-memory.
30783         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
30784         upon out-of-memory.
30785         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
30786         upon out-of-memory.
30787         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
30788         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
30789         not xmalloc. Return NULL upon out-of-memory.
30790         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
30791         out-of-memory.
30792         (gl_tree_remove_node_from_tree): New function, extracted from
30793         gl_tree_remove_node.
30794         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
30795         upon out-of-memory.
30796         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
30797         out-of-memory.
30798         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
30799         upon out-of-memory.
30800         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
30801         upon out-of-memory.
30802         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
30803         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
30804         gl_anytree_list1.h before gl_anyavltree_list2.h.
30805         (gl_avltree_list_implementation): Update.
30806         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
30807         gl_anytree_list1.h before gl_anyavltree_list2.h.
30808         (gl_rbtree_list_implementation): Update.
30809         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
30810         Change return type to 'int'. Return -1 upon out-of-memory. Use
30811         __builtin_expect.
30812         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
30813         (gl_avltreehash_list_implementation): Update.
30814         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
30815         (gl_rbtreehash_list_implementation): Update.
30816         * modules/array-list (Depends-on): Remove xalloc.
30817         * modules/carray-list (Depends-on): Likewise.
30818         * modules/linked-list (Depends-on): Likewise.
30819         * modules/linkedhash-list (Depends-on): Likewise.
30820         * modules/avltree-list (Depends-on): Likewise.
30821         * modules/rbtree-list (Depends-on): Likewise.
30822         * modules/avltreehash-list (Depends-on): Likewise.
30823         * modules/rbtreehash-list (Depends-on): Likewise.
30824
30825         * modules/xsublist: New file.
30826         * lib/gl_xsublist.h: New file.
30827         * lib/gl_xsublist.c: New file.
30828         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
30829         (gl_sublist_nx_create): New declaration.
30830         * lib/gl_sublist.c: Don't include xalloc.h.
30831         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
30832         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
30833         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
30834         Change return type to 'int'. Return -1 upon out-of-memory.
30835         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
30836         upon out-of-memory.
30837         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
30838         NULL upon out-of-memory.
30839         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
30840         upon out-of-memory.
30841         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
30842         NULL upon out-of-memory.
30843         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
30844         NULL upon out-of-memory.
30845         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
30846         upon out-of-memory.
30847         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
30848         (gl_sublist_list_implementation): Update.
30849         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
30850         upon out-of-memory.
30851         * modules/sublist (Depends-on): Remove xalloc.
30852
30853         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
30854         * tests/test-carray_list.c: Likewise.
30855         * tests/test-linked_list.c: Likewise.
30856         * tests/test-linkedhash_list.c: Likewise.
30857         * tests/test-avltree_list.c: Likewise.
30858         * tests/test-rbtree_list.c: Likewise.
30859         * tests/test-avltreehash_list.c: Likewise.
30860         * tests/test-rbtreehash_list.c: Likewise.
30861         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
30862         * modules/carray-list-tests (Makefile.am): Likewise.
30863         * modules/linked-list-tests (Makefile.am): Likewise.
30864         * modules/linkedhash-list-tests (Makefile.am): Likewise.
30865         * modules/avltree-list-tests (Makefile.am): Likewise.
30866         * modules/rbtree-list-tests (Makefile.am): Likewise.
30867         * modules/avltreehash-list-tests (Makefile.am): Likewise.
30868         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
30869
30870         * NEWS: Mention the changes.
30871
30872         * lib/clean-temp.c: Include gl_xlist.h.
30873         * modules/clean-temp (Depends-on): Add xlist.
30874
30875         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
30876         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
30877
30878         * tests/test-array_oset.c: Include gl_xlist.h.
30879         * modules/array-oset-tests (Depends-on): Add xlist.
30880
30881         Reported by José E. Marchesi <jemarch@gnu.org>.
30882
30883 2009-12-13  Bruno Haible  <bruno@clisp.org>
30884
30885         Move the malloc checking from module 'oset' to new module 'xoset'.
30886         * modules/xoset: New file.
30887         * lib/gl_xoset.h: New file.
30888         * lib/gl_xoset.c: New file.
30889         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
30890         declarations.
30891         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
30892         (struct gl_oset_implementation): Rename and change methods accordingly.
30893         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
30894         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
30895         'int'. Mark as __warn_unused_result__.
30896         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
30897         gl_oset_create_empty.
30898         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
30899         'int'.
30900         * lib/gl_array_oset.c: Don't include xalloc.h.
30901         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
30902         malloc, not xmalloc.
30903         (grow): Change return type to 'int'. Don't call xalloc_die.
30904         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
30905         to 'int'.
30906         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
30907         'int'.
30908         (gl_array_oset_implementation): Update.
30909         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
30910         gl_tree_create_empty.
30911         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
30912         'int'.
30913         * lib/gl_avltree_oset.c: Don't include xalloc.h.
30914         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
30915         xmalloc.
30916         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
30917         not xmalloc.
30918         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
30919         xmalloc.
30920         (gl_avltree_oset_implementation): Update.
30921         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
30922         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
30923         xmalloc.
30924         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
30925         not xmalloc.
30926         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
30927         xmalloc.
30928         (gl_rbtree_oset_implementation): Update.
30929         * modules/array-oset (Depends-on): Remove xalloc.
30930         * modules/avltree-oset (Depends-on): Likewise.
30931         * modules/rbtree-oset (Depends-on): Likewise.
30932         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
30933         * tests/test-avltree_oset.c: Likewise.
30934         * tests/test-rbtree_oset.c: Likewise.
30935         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
30936         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
30937         * modules/rbtree-oset-tests (Makefile.am): Likewise.
30938         * NEWS: Mention the change.
30939
30940 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
30941
30942         maint.mk: allow a project to override release-prep commands
30943         * top/maint.mk (alpha, beta, stable): Move release-preparatory
30944         commands into a new rule.
30945         (release-prep): New rule.
30946         (release-prep-hook): New overridable variable.
30947
30948 2009-12-13  Bruno Haible  <bruno@clisp.org>
30949
30950         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
30951
30952 2009-12-13  Jim Meyering  <meyering@redhat.com>
30953
30954         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
30955         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
30956
30957 2009-12-12  Bruno Haible  <bruno@clisp.org>
30958
30959         duplocale: Tweak.
30960         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
30961
30962 2009-12-12  Karl Berry  <karl@gnu.org>
30963
30964         * config/srclist.txt (strtoll.c): tab changes, no more sync.
30965
30966 2009-12-12  Bruno Haible  <bruno@clisp.org>
30967
30968         * m4/po.m4: Undo incorrect untabification.
30969
30970 2009-12-12  Bruno Haible  <bruno@clisp.org>
30971
30972         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
30973         * modules/c-strtod (Depends-on): Add locale.
30974         * modules/c-strtold (Depends-on): Likewise.
30975
30976 2009-12-12  Bruno Haible  <bruno@clisp.org>
30977
30978         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
30979
30980 2009-12-11  Eric Blake  <ebb9@byu.net>
30981
30982         setenv: relax requirement in light of POSIX ruling
30983         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
30984         not NULL.
30985         * tests/test-setenv.c (main): Relax test.
30986         * tests/test-unsetenv.c (main): Likewise.
30987         * doc/posix-functions/setenv.texi (setenv): Document this.
30988         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
30989
30990 2009-12-11  Bruno Haible  <bruno@clisp.org>
30991
30992         New module 'fd-safer-flag'.
30993         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
30994         * lib/dup-safer.c (dup_safer_flag): Remove function.
30995         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
30996         * lib/fd-safer.c (fd_safer_flag): Remove function.
30997         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
30998         * modules/cloexec (configure.ac): Drop indicator macro.
30999         * modules/fd-safer-flag: New file.
31000         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31001         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31002         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31003
31004 2009-12-11  Bruno Haible  <bruno@clisp.org>
31005
31006         Tests for module 'nl_langinfo'.
31007         * modules/nl_langinfo-tests: New file.
31008         * tests/test-nl_langinfo.sh: New file.
31009         * tests/test-nl_langinfo.c: New file.
31010
31011         New module 'nl_langinfo'.
31012         * lib/nl_langinfo.c: New file.
31013         * m4/nl_langinfo.m4: New file.
31014         * modules/nl_langinfo: New file.
31015         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31016
31017 2009-12-11  Bruno Haible  <bruno@clisp.org>
31018
31019         Tests for module 'langinfo'.
31020         * modules/langinfo-tests: New file.
31021         * tests/test-langinfo.c: New file.
31022
31023         New module 'langinfo'.
31024         * lib/langinfo.in.h: New file.
31025         * m4/langinfo_h.m4: New file.
31026         * modules/langinfo: New file.
31027         * doc/posix-headers/langinfo.texi: Mention the new module.
31028
31029 2009-12-11  Bruno Haible  <bruno@clisp.org>
31030
31031         * lib/config.charset: Untabify.
31032
31033 2009-12-11  Bruno Haible  <bruno@clisp.org>
31034
31035         * modules/unistd-safer (configure.ac): Drop indicator macro.
31036
31037 2009-12-11  Bruno Haible  <bruno@clisp.org>
31038
31039         Move pipe2-safer code to its own file.
31040         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31041         * lib/pipe-safer.c (pipe2_safer): Remove function.
31042         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31043         (Makefile.am): Add it to lib_SOURCES.
31044
31045 2009-12-10  Bruno Haible  <bruno@clisp.org>
31046
31047         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31048
31049 2009-12-10  Bruno Haible  <bruno@clisp.org>
31050
31051         Declare which arguments expect non-NULL values, for GCC and clang.
31052         * build-aux/arg-nonnull.h: New file.
31053         * modules/arg-nonnull: New file.
31054         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31055         (inet_ntop, inet_pton): Use it.
31056         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31057         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31058         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31059         (open, openat): Use it.
31060         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31061         (fnmatch): Use it.
31062         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31063         (getopt, getopt_long, getopt_long_only): Use it.
31064         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31065         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31066         Use it.
31067         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31068         (iconv_open): Use it.
31069         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31070         (strtoimax, strtoumax): Use it.
31071         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31072         (duplocale): Use it.
31073         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31074         (frexp, frexpl): Use it.
31075         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31076         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31077         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31078         (tsearch, tfind, tdelete, twalk): Use it.
31079         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31080         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31081         sigpending): Use it.
31082         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31083         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31084         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31085         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31086         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31087         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31088         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31089         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31090         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31091         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31092         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31093         Use it.
31094         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31095         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31096         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31097         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31098         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31099         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31100         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31101         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31102         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31103         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31104         strtoull, unsetenv): Use it.
31105         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31106         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31107         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31108         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31109         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31110         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31111         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31112         (strcasecmp, strncasecmp): Use it.
31113         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31114         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31115         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31116         rpl_setsockopt): Use it.
31117         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31118         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31119         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31120         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31121         (gettimeofday): Use it.
31122         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31123         (times): Use it.
31124         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31125         (uname): Use it.
31126         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31127         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31128         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31129         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31130         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31131         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31132         unlinkat, write): Use it.
31133         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31134         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31135         * lib/argv-iter.h: Include arg-nonnull.h.
31136         (_ATTRIBUTE_NONNULL_): Remove macro.
31137         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31138         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31139         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31140         optimization.
31141         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31142         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31143         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31144         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31145         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31146         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31147         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31148         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31149         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31150         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31151         * modules/dirent (Depends-on): Add arg-nonnull.
31152         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31153         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31154         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31155         * modules/fnmatch (Depends-on): Add arg-nonnull.
31156         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31157         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31158         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31159         * modules/glob (Depends-on): Add arg-nonnull.
31160         (Makefile.am): Insert arg-nonnull.h into glob.h.
31161         * modules/iconv_open (Depends-on): Add arg-nonnull.
31162         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31163         * modules/inttypes (Depends-on): Add arg-nonnull.
31164         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31165         * modules/locale (Depends-on): Add arg-nonnull.
31166         (Makefile.am): Insert arg-nonnull.h into locale.h.
31167         * modules/math (Depends-on): Add arg-nonnull.
31168         (Makefile.am): Insert arg-nonnull.h into math.h.
31169         * modules/netdb (Depends-on): Add arg-nonnull.
31170         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31171         * modules/search (Depends-on): Add arg-nonnull.
31172         (Makefile.am): Insert arg-nonnull.h into search.h.
31173         * modules/signal (Depends-on): Add arg-nonnull.
31174         (Makefile.am): Insert arg-nonnull.h into signal.h.
31175         * modules/spawn (Depends-on): Add arg-nonnull.
31176         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31177         * modules/stdio (Depends-on): Add arg-nonnull.
31178         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31179         * modules/stdlib (Depends-on): Add arg-nonnull.
31180         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31181         * modules/string (Depends-on): Add arg-nonnull.
31182         (Makefile.am): Insert arg-nonnull.h into string.h.
31183         * modules/strings (Depends-on): Add arg-nonnull.
31184         (Makefile.am): Insert arg-nonnull.h into strings.h.
31185         * modules/sys_socket (Depends-on): Add arg-nonnull.
31186         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31187         * modules/sys_stat (Depends-on): Add arg-nonnull.
31188         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31189         * modules/sys_time (Depends-on): Add arg-nonnull.
31190         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31191         * modules/sys_times (Depends-on): Add arg-nonnull.
31192         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31193         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31194         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31195         * modules/time (Depends-on): Add arg-nonnull.
31196         (Makefile.am): Insert arg-nonnull.h into time.h.
31197         * modules/unistd (Depends-on): Add arg-nonnull.
31198         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31199         * modules/wchar (Depends-on): Add arg-nonnull.
31200         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31201         * modules/argv-iter (Depends-on): Add arg-nonnull.
31202         * tests/test-canonicalize.c (null_ptr): New function.
31203         (main): Use it.
31204         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31205         (main): Use it.
31206         * tests/test-memmem.c (null_ptr): New function.
31207         (main): Use it.
31208         Reported by Jim Meyering.
31209
31210 2009-12-10  Bruno Haible  <bruno@clisp.org>
31211
31212         Use spaces for indentation, not tabs.
31213         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31214         * m4/*.m4: Untabify.
31215         * build-aux/*.h: Untabify.
31216         * tests/**/*.[hc]: Untabify.
31217         * README: New section "Indent with spaces, not TABs", based on
31218         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31219         * NEWS: Mention the change.
31220
31221 2009-12-10  Bruno Haible  <bruno@clisp.org>
31222
31223         pty test: Fix link error.
31224         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31225         test_pty_LDADD.
31226
31227 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31228
31229         * modules/pty: New file.
31230         * modules/pty-tests: New file.
31231         * m4/pty.m4: New file.
31232         * tests/test-pty.c: New file.
31233         * doc/glibc-headers/pty.texi: Modified.
31234         * doc/glibc-functions/forkpty.texi: Modified.
31235         * doc/glibc-functions/openpty.texi: Modified.
31236
31237 2009-12-10  Bruno Haible  <bruno@clisp.org>
31238
31239         Avoid syntax error in C++ mode.
31240         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31241
31242 2009-12-10  Bruno Haible  <bruno@clisp.org>
31243
31244         Use sed with option -e.
31245         * gnulib-tool (func_version, func_emit_copyright_notice,
31246         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31247         option -e to sed.
31248         * modules/link-warning (Makefile.am): Likewise.
31249
31250 2009-12-10  Jim Meyering  <meyering@redhat.com>
31251
31252         mgetgroups: do not write bytes beyond end of malloc'd buffer
31253         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31254         username, we call getgroups with a one-element-shorter buffer,
31255         but still told it the length was original, max_n_groups.
31256
31257 2009-12-09  Eric Blake  <ebb9@byu.net>
31258
31259         cloexec: relax license
31260         * modules/cloexec (Maintainer): Add myself.
31261         (License): Use LGPL, not GPL.
31262
31263         link-warning: optimize generation
31264         * modules/link-warning (Makefile.am): Reduce process usage.
31265
31266 2009-12-09  Bruno Haible  <bruno@clisp.org>
31267
31268         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31269         workaround was added on 2009-11-17.
31270
31271 2009-12-09  Jim Meyering  <meyering@redhat.com>
31272             Bruno Haible  <bruno@clisp.org>
31273
31274         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31275         * modules/link-warning (Makefile.am): Make the comment-removing sed
31276         command more robust in the face of bootstrap-prepended comment lines.
31277
31278 2009-12-09  Bruno Haible  <bruno@clisp.org>
31279
31280         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31281         most one group.
31282
31283 2009-12-09  Simon Josefsson <simon@josefsson.org>
31284             Bruno Haible  <bruno@clisp.org>
31285
31286         * build-aux/link-warning.h: Add copyright notice.
31287         * modules/link-warning (Makefile.am): Generate link-warning.h from
31288         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31289         * NEWS: Mention change in link-warning module.
31290         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31291         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31292         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31293         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31294         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31295         * modules/math (Makefile.am): Add dependency to math.h.
31296         * modules/search (Makefile.am): Add dependency to search.h.
31297         * modules/signal (Makefile.am): Add dependency to signal.h.
31298         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31299         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31300         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31301         * modules/string (Makefile.am): Add dependency to string.h.
31302         * modules/strings (Makefile.am): Add dependency to strings.h.
31303         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31304         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31305         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31306         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31307         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31308         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31309         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31310         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31311         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31312
31313 2009-12-09  Bruno Haible  <bruno@clisp.org>
31314
31315         fchdir: Optimize away rpl_fstat when possible.
31316         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31317         REPLACE_OPEN_DIRECTORY.
31318         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31319
31320 2009-12-09  Bruno Haible  <bruno@clisp.org>
31321
31322         * lib/fchdir.c: Update comment.
31323
31324 2009-12-09  Bruno Haible  <bruno@clisp.org>
31325
31326         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31327
31328 2009-12-08  Eric Blake  <ebb9@byu.net>
31329
31330         fchdir: avoid memory leak on re-registration.
31331         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31332
31333 2009-12-08  Jim Meyering  <meyering@redhat.com>
31334
31335         init.sh: avoid Solaris 10 /bin/sh portability problem
31336         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31337         sourced script:
31338           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31339           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31340           bar
31341         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31342         and two tests used that idiom.
31343         * tests/init.sh: Update suggested usage comments.
31344         (path_prepend_): New function, to be used in place
31345         of the --src-path=DIR option.
31346         (setup_): Move PATH-prepending code into path_prepend_.
31347         * tests/test-pread.sh: Adapt to new usage.
31348         * tests/test-xalloc-die.sh: Likewise.
31349
31350 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31351
31352         * doc/gnulib.texi (Glibc pty.h): Add.
31353         * doc/glibc-functions/forkpty.texi: Add.
31354         * doc/glibc-functions/openpty.texi: Add.
31355         Suggested by Bruno Haible.
31356
31357 2009-12-08  Eric Blake  <ebb9@byu.net>
31358
31359         fchdir: fix logic bugs
31360         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31361         * tests/test-fchdir.c (main): Enhance test.
31362         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31363         is in use.
31364
31365         dup2: fix logic bugs
31366         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31367         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31368         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31369         exists.
31370         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31371
31372 2009-12-07  Eric Blake  <ebb9@byu.net>
31373
31374         unlink: fix m4 detection
31375         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31376
31377         unistd-safer: add unit test
31378         * modules/unistd-safer-tests: New file.
31379         * tests/test-dup-safer.c: Likewise.
31380         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31381         * tests/test-dup2.c (setmode): Likewise.
31382         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31383
31384         cloexec: preserve text vs. binary across dup_cloexec
31385         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31386         mode.
31387         * modules/dup2-tests (Depends-on): Add binary-io.
31388         * modules/cloexec-tests (Depends-on): Likewise.
31389         * tests/test-dup2.c (setmode, is_mode): New helpers.
31390         (main): Add tests that translation mode is preserved.
31391         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31392         Reported by Bruno Haible.
31393
31394         mgetgroups: reduce duplicate listings
31395         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31396         resulting array.
31397         * tests/test-chown.h (test_chown): Simplify client.
31398         * tests/test-lchown.h (test_lchown): Likewise.
31399
31400 2009-12-06  Bruno Haible  <bruno@clisp.org>
31401
31402         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31403         value.
31404
31405 2009-12-06  Bruno Haible  <bruno@clisp.org>
31406
31407         * lib/progname.c: Include stdio.h, stdlib.h.
31408         (set_program_name): Reject a NULL argument.
31409
31410 2009-12-05  Eric Blake  <ebb9@byu.net>
31411
31412         pipe2-safer: new module
31413         * modules/pipe2-safer: New file.
31414         * lib/unistd-safer.h (pipe2_safer): New prototype.
31415         * lib/unistd--.h (pipe2): New wrapper.
31416         * lib/pipe-safer.c (pipe2_safer): New function.
31417         * modules/pipe (Depends-on): Add pipe2-safer.
31418         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31419
31420         stdlib-safer: preserve cloexec flag for mkostemp[s]
31421         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31422         fd_safer_flag.
31423
31424         unistd-safer: allow preservation of cloexec status via flag
31425         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31426         prototypes.
31427         * lib/dup-safer.c (dup_safer_flag): New function.
31428         * lib/fd-safer.c (fd_safer_flag): Likewise.
31429         * modules/cloexec (configure.ac): Set witness.
31430
31431         test-dup2: enhance test
31432         * modules/dup2-tests (Depends-on): Add cloexec.
31433         * tests/test-dup2.c (main): Enhance test.
31434
31435         cloexec: add dup_cloexec
31436         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31437         header and comments.
31438         * lib/cloexec.c (set_cloexec_flag): Add comments.
31439         (dup_cloexec): New function, with mingw implementation borrowed
31440         from...
31441         * lib/w32spawn.h (dup_noinherit): ...here.
31442         * modules/execute (Depends-on): Add cloexec.
31443         * modules/pipe (Depends-on): Likewise.
31444         * modules/cloexec (Depends-on): Add dup2.
31445         * modules/cloexec-tests (Files): New file.
31446         * tests/test-cloexec.c: Likewise.
31447
31448         test-xalloc-die: fix test for mingw
31449         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31450         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31451         directory and .exe suffix off argv[0] output.
31452
31453         test-fseeko: fix test for mingw
31454         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31455         than undefining fseek, so test will pass on mingw.
31456
31457 2009-12-05  Bruno Haible  <bruno@clisp.org>
31458
31459         * lib/progname.h (set_program_name): Clarify specification.
31460         * lib/progname.c (set_program_name): Likewise.
31461         Reported by Jim Meyering.
31462
31463 2009-12-05  Jim Meyering  <meyering@redhat.com>
31464
31465         maint.mk: backslash-escape parens in default regexp
31466         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31467         backslash-escape the literal parentheses.
31468
31469         maint.mk: news-date-check: use grep -E
31470         * top/maint.mk (today): Define a Make variable, not a...
31471         (news-date-check): ...shell variable.
31472         (news-date-regexp): Use the Make variable.
31473         Use grep's -E option.  Change the failing diagnostic to mention
31474         the variable, $(news-date-regexp).
31475
31476 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
31477
31478         maintainer-makefile: allow customization of NEWS entry format
31479         * top/maint.mk (news-date-regexp): New overridable variable.
31480         (news-date-check): Use it.
31481
31482 2009-12-04  Eric Blake  <ebb9@byu.net>
31483
31484         mgetgroups: add xgetgroups, and avoid ENOSYS failures
31485         * lib/mgetgroups.h (xgetgroups): New prototype.
31486         * lib/mgetgroups.c (xgetgroups): New wrapper.
31487         (mgetgroups): Handle ENOSYS.
31488         * modules/mgetgroups (Depends-on): Add realloc.
31489         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
31490
31491         mgetgroups: avoid argument promotion issues with -1
31492         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
31493         for invalid gid_t.
31494         * tests/test-chown.h (getegid, test_chown): Likewise.
31495         * tests/test-lchown.h (getegid, test_lchown): Likewise.
31496
31497 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
31498
31499         exclude: Fix header file problems.
31500         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
31501
31502 2009-12-01  Jim Meyering  <meyering@redhat.com>
31503
31504         fts: fts_open: do not let an empty string cause immediate failure
31505         This is required in support of GNU rm, for which the command
31506         "rm A '' B" must process and remove both A and B, in spite of
31507         the empty string argument.
31508         * lib/fts.c (fts_open): Do not let the presence of an empty string
31509         cause fts_open to fail immediately.  Most fts-using tools must be
31510         able to process all arguments, in order, and can be expected to
31511         diagnose such arguments themselves.
31512
31513 2009-11-30  Eric Blake  <ebb9@byu.net>
31514
31515         utimens: fix compilation error
31516         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
31517         Declare variable at right scope.
31518
31519 2009-11-29  Jim Meyering  <meyering@redhat.com>
31520
31521         bootstrap: handle perl-5.11's changed --version output
31522         * build-aux/bootstrap (get_version): Handle perl separately,
31523         since perl-5.11's --version output is different.
31524
31525 2009-11-28  Jim Meyering  <meyering@redhat.com>
31526
31527         userspec: depend on the inttostr module, too
31528         * modules/userspec (Depends-on): Add inttostr.
31529
31530         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
31531         * lib/userspec.c (parse_with_separator): Do not accept a user ID
31532         number of MAXUID when it evaluates to (uid_t) -1.
31533         Likewise for group ID.  Reported by Matt McCutchen in
31534         <http://savannah.gnu.org/bugs/?28113>
31535
31536         userspec: reformat to use spaces, not TABs
31537         * lib/userspec.c: Expand TABs to spaces.
31538         Add Emacs' "indent-tabs-mode: nil" hint.
31539
31540 2009-11-27  Eric Blake  <ebb9@byu.net>
31541
31542         getopt-gnu: flush out another BSD bug
31543         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
31544         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
31545         flush out BSD bug.
31546         * tests/test-getopt.h (test_getopt): End lists with NULL.
31547         * tests/test-getopt_long.h (test_getopt_long): Likewise.
31548         (test_getopt_long_posix): Enhance test.
31549         * modules/getopt-posix-tests (Depends-on): Add stdbool.
31550         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
31551         getopt-gnu.
31552         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31553         Likewise.
31554
31555 2009-11-27  Simon Josefsson  <simon@josefsson.org>
31556
31557         * modules/idpriv-droptemp-tests (Notice): Fix text.
31558
31559 2009-11-27  Jim Meyering  <meyering@redhat.com>
31560
31561         test-xalloc-die: avoid spurious failure due to libtool argv difference
31562         In a libtool-enabled project, this test would fail due to a difference
31563         in the emitted program name, e.g.,
31564         -test-xalloc-die: memory exhausted
31565         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
31566         Use program to avoid that.
31567         * modules/xalloc-die-tests (Depends-on): Add progname.
31568         * tests/test-xalloc-die.c: Include progname.h".
31569         (program_name): Remove decl.
31570         (main): Call set_program_name.
31571         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
31572
31573 2009-11-26  Richard Jones  <rjones@redhat.com>
31574
31575         w32sock: leave win32 error in place.
31576         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
31577
31578 2009-11-26  Eric Blake  <ebb9@byu.net>
31579
31580         init.sh: suggest to use skip_ and fail_ functions in comments
31581         * tests/init.sh: Add a sentence.
31582
31583 2009-11-25  Bruno Haible  <bruno@clisp.org>
31584
31585         init.sh: add documentation in comments
31586         * tests/init.sh: Add some developer and user documentation.
31587
31588 2009-11-26  Jim Meyering  <meyering@redhat.com>
31589
31590         init.sh: accommodate even those who specify bogus srcdir manually
31591         * tests/init.sh: Normally, srcdir is guaranteed by automake and
31592         configure-time tests to be sanitized, so that there is no need to
31593         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
31594         (with no double quotes) suffices.  However, since tests may be
31595         invoked manually, and since you may explicitly set srcdir to the
31596         name of a directory containing spaces, do quote its uses here.
31597         * tests/test-pread.sh: Likewise.
31598         Suggested by Bruno Haible.
31599
31600         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
31601         * tests/test-pread.sh: Write no data into the pipe, because
31602         test-pread actually reads none.  This avoids a diagnostic,
31603         "bash: echo: write error: Broken pipe", that arises in the unusual
31604         event something is ignoring SIGPIPE, and might be interpreted
31605         as some sort of failure.  Reported by Bruno Haible.
31606
31607 2009-11-25  Jim Meyering  <meyering@redhat.com>
31608
31609         test-pread: cover failure with ESPIPE and EINVAL
31610         * tests/test-pread.c (main): Test for failure, too.
31611         * tests/test-pread.sh: Invoke with stdin on a pipe.
31612         Suggested by Eric Blake.
31613
31614         pread: improvement and fix
31615         * modules/pread (Depends-on): Depend on lseek, for portability to
31616         e.g., mingw.  Suggested by Eric Blake.
31617         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
31618
31619         unistd.in.h: correct declaration of pread
31620         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
31621         Reported by Richard W.M. Jones.
31622
31623         test-pread.sh: distribute the test script
31624         * modules/pread-tests (Files): Include test-pread.sh.
31625
31626         test-pread.sh: clean up
31627         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
31628         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
31629         That is unnecessary, since it's always ".".
31630         Suggestion from Eric Blake.
31631
31632         test-pread.sh: make executable
31633         * tests/test-pread.sh: Set executable bit.
31634         Reported by Eric Blake.
31635
31636         correct typo in test-pread.sh
31637         * tests/test-pread.sh: Add #! line.
31638
31639         test pread
31640         * tests/test-pread.c: New file.
31641         * tests/test-pread.sh: Likewise.
31642         * modules/pread-tests: Likewise.
31643
31644         pread: new module
31645         * modules/pread: New file.
31646         * lib/unistd.in.h (pread): Define/declare.
31647         * lib/pread.c (pread): New file.
31648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
31649         * modules/unistd (Makefile.am): Substitute witnesses.
31650         * doc/posix-functions/pread.texi (pread): Update.
31651         * MODULES.html.sh: Add pread.
31652
31653 2009-11-25  Jim Meyering  <meyering@redhat.com>
31654
31655         tests/init.sh: new file to be used via most *.sh tests
31656         * tests/init.sh: New file.
31657
31658 2009-11-25  Eric Blake  <ebb9@byu.net>
31659
31660         utimens: work around older Linux failure with symlinks
31661         * lib/utimens.c (lutimensat_works_really): New variable.
31662         (fdutimens, lutimens): Use it to manage kernels that support
31663         nanosecond times on files, but not on symlinks.
31664         Reported by OndÅ™ej Vašík.
31665
31666         utimes: fix configure grammar
31667         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
31668
31669 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
31670
31671         regex: Fix fastmap for multibyte character ranges.
31672         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
31673         characters when a multibyte character range is included.
31674
31675 2009-11-22  Andy Wingo  <wingo@pobox.com>
31676
31677         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
31678         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
31679
31680 2009-11-24  Bruno Haible  <bruno@clisp.org>
31681
31682         doc: Most *_l functions exist in MacOS X 10.5.
31683         * doc/posix-functions/duplocale.texi: Update platforms list.
31684         * doc/posix-functions/freelocale.texi: Likewise.
31685         * doc/posix-functions/newlocale.texi: Likewise.
31686         * doc/posix-functions/uselocale.texi: Likewise.
31687         * doc/posix-functions/isalnum_l.texi: Likewise.
31688         * doc/posix-functions/isalpha_l.texi: Likewise.
31689         * doc/posix-functions/isblank_l.texi: Likewise.
31690         * doc/posix-functions/iscntrl_l.texi: Likewise.
31691         * doc/posix-functions/isdigit_l.texi: Likewise.
31692         * doc/posix-functions/isgraph_l.texi: Likewise.
31693         * doc/posix-functions/islower_l.texi: Likewise.
31694         * doc/posix-functions/isprint_l.texi: Likewise.
31695         * doc/posix-functions/ispunct_l.texi: Likewise.
31696         * doc/posix-functions/isspace_l.texi: Likewise.
31697         * doc/posix-functions/isupper_l.texi: Likewise.
31698         * doc/posix-functions/iswalnum_l.texi: Likewise.
31699         * doc/posix-functions/iswalpha_l.texi: Likewise.
31700         * doc/posix-functions/iswblank_l.texi: Likewise.
31701         * doc/posix-functions/iswcntrl_l.texi: Likewise.
31702         * doc/posix-functions/iswctype_l.texi: Likewise.
31703         * doc/posix-functions/iswdigit_l.texi: Likewise.
31704         * doc/posix-functions/iswgraph_l.texi: Likewise.
31705         * doc/posix-functions/iswlower_l.texi: Likewise.
31706         * doc/posix-functions/iswprint_l.texi: Likewise.
31707         * doc/posix-functions/iswpunct_l.texi: Likewise.
31708         * doc/posix-functions/iswspace_l.texi: Likewise.
31709         * doc/posix-functions/iswupper_l.texi: Likewise.
31710         * doc/posix-functions/iswxdigit_l.texi: Likewise.
31711         * doc/posix-functions/isxdigit_l.texi: Likewise.
31712         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
31713         * doc/posix-functions/strcasecmp_l.texi: Likewise.
31714         * doc/posix-functions/strcoll_l.texi: Likewise.
31715         * doc/posix-functions/strfmon_l.texi: Likewise.
31716         * doc/posix-functions/strftime_l.texi: Likewise.
31717         * doc/posix-functions/strncasecmp_l.texi: Likewise.
31718         * doc/posix-functions/strxfrm_l.texi: Likewise.
31719         * doc/posix-functions/tolower_l.texi: Likewise.
31720         * doc/posix-functions/toupper_l.texi: Likewise.
31721         * doc/posix-functions/towctrans_l.texi: Likewise.
31722         * doc/posix-functions/towlower_l.texi: Likewise.
31723         * doc/posix-functions/towupper_l.texi: Likewise.
31724         * doc/posix-functions/wcscoll_l.texi: Likewise.
31725         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
31726         * doc/posix-functions/wctrans_l.texi: Likewise.
31727         * doc/posix-functions/wctype_l.texi: Likewise.
31728         * doc/glibc-functions/strptime_l.texi: Likewise.
31729         * doc/glibc-functions/strtod_l.texi: Likewise.
31730         * doc/glibc-functions/strtof_l.texi: Likewise.
31731         * doc/glibc-functions/strtol_l.texi: Likewise.
31732         * doc/glibc-functions/strtold_l.texi: Likewise.
31733         * doc/glibc-functions/strtoll_l.texi: Likewise.
31734         * doc/glibc-functions/strtoul_l.texi: Likewise.
31735         * doc/glibc-functions/strtoull_l.texi: Likewise.
31736         * doc/glibc-functions/wcsftime_l.texi: Likewise.
31737         * doc/glibc-functions/wcstod_l.texi: Likewise.
31738         * doc/glibc-functions/wcstof_l.texi: Likewise.
31739         * doc/glibc-functions/wcstol_l.texi: Likewise.
31740         * doc/glibc-functions/wcstold_l.texi: Likewise.
31741         * doc/glibc-functions/wcstoll_l.texi: Likewise.
31742         * doc/glibc-functions/wcstoul_l.texi: Likewise.
31743         * doc/glibc-functions/wcstoull_l.texi: Likewise.
31744
31745 2009-11-24  Bruno Haible  <bruno@clisp.org>
31746
31747         duplocale: Fix logic bug.
31748         * lib/duplocale.c: Don't include <langinfo.h>.
31749         (_NL_LOCALE_NAME): Remove macro.
31750         (rpl_duplocale): Use setlocale instead of nl_langinfo.
31751         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
31752
31753 2009-11-23  Jim Meyering  <meyering@redhat.com>
31754
31755         test-update-copyright: don't hard-code /usr/bin/perl
31756         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
31757         perl to print the current year.  Gilles Espinasse reported that
31758         the replaced use of perl was hard-coded as /usr/bin/perl.
31759
31760 2009-11-23  Bruno Haible  <bruno@clisp.org>
31761
31762         duplocale: Add support for glibc 2.3.x.
31763         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
31764
31765 2009-11-22  Bruno Haible  <bruno@clisp.org>
31766
31767         vasnprintf: Tiny optimization.
31768         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
31769         MacOS X.
31770
31771 2009-11-22  Bruno Haible  <bruno@clisp.org>
31772
31773         Tests for module 'duplocale'.
31774         * modules/duplocale-tests: New file.
31775         * tests/test-duplocale.c: New file.
31776
31777         New module 'duplocale'.
31778         * m4/duplocale.m4: New file.
31779         * lib/locale.in.h (duplocale): New declaration.
31780         * lib/duplocale.c: New file.
31781         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
31782         gl_LOCALE_H_DEFAULTS): New macros.
31783         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
31784         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
31785         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
31786         REPLACE_DUPLOCALE.
31787         * modules/duplocale: New file.
31788         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
31789
31790 2009-11-22  Bruno Haible  <bruno@clisp.org>
31791
31792         * modules/locale-tests (configure.ac): Test for newlocale function.
31793         * tests/test-locale.c: When the system has extended locale functions,
31794         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
31795
31796         locale: Make locale_t available when possible.
31797         * lib/locale.in.h: Include <xlocale.h> when it exists.
31798         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
31799         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
31800         * modules/locale (Depends-on): Add extensions.
31801         (Makefile.am): Also substitute HAVE_XLOCALE_H.
31802         * doc/posix-headers/locale.texi: Document the problem with locale_t.
31803
31804 2009-11-22  Bruno Haible  <bruno@clisp.org>
31805
31806         Add comments.
31807         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
31808         invocation.
31809         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
31810         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31811         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31812
31813 2009-11-22  Bruno Haible  <bruno@clisp.org>
31814
31815         error: account for the possibility of freopen (stdout).
31816         * lib/error.c: Include <unistd.h>.
31817         (flush_stdout): New function, extracted from error and error_at_line.
31818         Determine stdout's fd dynamically.
31819         (error, error_at_line): Invoke flush_stdout.
31820         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
31821         * modules/error (Depends-on): Add unistd.
31822
31823 2009-11-22  Bruno Haible  <bruno@clisp.org>
31824
31825         diffseq: Add comment.
31826         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
31827
31828 2009-11-22  Jim Meyering  <meyering@redhat.com>
31829
31830         c-stack: avoid defining an unused static function
31831         * lib/c-stack.c (find_stack_direction): Do not define this function
31832         when it will not be used.
31833
31834         diffseq: avoid spurious gcc warnings
31835         * lib/diffseq.h (IF_LINT2): Define.
31836         (compareseq): Use it to initialize two members of "part".
31837         This avoids two used-uninitialized warnings.
31838
31839 2009-11-21  Jim Meyering  <meyering@redhat.com>
31840
31841         c-stack: avoid "ignoring return value of `write'" warning
31842         * lib/c-stack.c: Include "ignore-value.h".
31843         (die): Explicitly ignore each write return value.
31844         * modules/c-stack (Depends-on): Add ignore-value.
31845
31846 2009-11-21  Bruno Haible  <bruno@clisp.org>
31847
31848         diffseq: reduce scope of variable 'best'.
31849         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
31850         variable, earlier used for two different purposes.
31851
31852 2009-11-21  Jim Meyering  <meyering@redhat.com>
31853
31854         diffseq: remove useless assignment to "best"
31855         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
31856         assignment.  At that point "best" is already guaranteed to be zero.
31857
31858 2009-11-20  Eric Blake  <ebb9@byu.net>
31859
31860         build: mention ftp redirector in release announcements
31861         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
31862         values that used to come from cfg.mk; mention FTP redirect URL.
31863         * build-aux/announce-gen: Mention the mirror list.
31864         Suggested by Karl Berry.
31865
31866         nanosleep: improve port to mingw
31867         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
31868         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
31869         LIB_NANOSLEEP, but only when needed.
31870         * modules/select (Link): Document LIBSOCKET.
31871         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
31872         enough.
31873
31874         nanosleep: work around cygwin bug
31875         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
31876         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
31877         bug.
31878         (getnow): Delete, not needed.
31879         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
31880         LIB_CLOCK_GETTIME.
31881         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
31882         clock-time, gettime.
31883         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
31884         bug.
31885         * modules/nanosleep-tests: New test.
31886         * tests/test-nanosleep.c: New file.
31887
31888         sleep: work around cygwin bug
31889         * lib/sleep.c (rpl_sleep): Work around the bug.
31890         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
31891         (gl_PREREQ_SLEEP): Delete unused macro.
31892         * modules/sleep (Depends-on): Add verify.
31893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
31894         * modules/unistd (Makefile.am): Substitute witness.
31895         * lib/unistd.in.h (sleep): Update prototype.
31896         * doc/posix-functions/sleep.texi (sleep): Document the bug.
31897         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
31898         * modules/sleep-tests (Depends-on): Check for alarm.
31899
31900 2009-11-20  Jim Meyering  <meyering@redhat.com>
31901
31902         maint.mk: improve sc_prohibit_magic_number_exit
31903         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
31904         so it does not match uses like System.exit(1).
31905         Add comments showing how to correct all offenders.
31906
31907 2009-11-19  Eric Blake  <ebb9@byu.net>
31908
31909         xalloc-die-tests: add missing library
31910         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
31911
31912         test-xvasprintf: silence compiler warnings
31913         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
31914         empty string from gcc.
31915
31916 2009-11-19  Jim Meyering  <meyering@redhat.com>
31917
31918         xfreopen: new module, from coreutils
31919         * modules/xfreopen: New module.
31920         * lib/xfreopen.c: New file.
31921         * lib/xfreopen.h: New file.
31922         * MODULES.html.sh (File stream based Input/Output"): Add it.
31923
31924 2009-11-19  Eric Blake  <ebb9@byu.net>
31925
31926         manywarnings: depend on warnings
31927         * modules/manywarnings (Depends-on): Add warnings.
31928
31929         build: avoid compiler warnings
31930         * lib/select.c (rpl_select): Delete unused variable.
31931         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
31932
31933 2009-11-18  Eric Blake  <ebb9@byu.net>
31934
31935         tests: avoid false negative with --with-packager
31936         * tests/test-version-etc.sh: Discard packager information.
31937         * tests/test-argp-version-etc-1.sh: Likewise.
31938         Reported by Mike Frysinger.
31939
31940         utimens: fix regression on Solaris
31941         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
31942         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
31943         can only change fd timestamps via futimesat.  Instead, use an
31944         additional witness macro to avoid BSD bug.
31945         Reported by Jim Meyering.
31946
31947 2009-11-17  Eric Blake  <ebb9@byu.net>
31948
31949         usleep: use it to simplify tests
31950         * modules/stat-time-tests (Depends-on): Add usleep.
31951         (configure.ac): Drop usleep check.
31952         * modules/chown-tests (Depends-on, configure.ac): Likewise.
31953         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
31954         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
31955         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
31956         * modules/openat-tests (Depends-on, configure.ac): Likewise.
31957         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
31958         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
31959         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
31960         Likewise.
31961         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
31962         * tests/test-lchown.h (nap): Likewise.
31963         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
31964         * tests/test-stat-time.c (nap): Likewise.
31965         * tests/test-utimens-common.h (nap): Update comments.
31966
31967         usleep: new module
31968         * modules/usleep: New file.
31969         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
31970         * lib/usleep.c (usleep): Likewise.
31971         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
31972         * modules/unistd (Makefile.am): Substitute witnesses.
31973         * lib/unistd.in.h (usleep): Add declaration.
31974         * doc/pastposix-functions/usleep.texi (usleep): Document this.
31975         * MODULES.html.sh (Date and time): Likewise.
31976         * modules/usleep-tests (Depends-on): New test.
31977         * tests/test-usleep.c: New file.
31978
31979         chown: work around OpenBSD bug
31980         * lib/chown.c (rpl_chown): Work around the bug.
31981         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
31982         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
31983         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
31984         * modules/chown (Depends-on): Add stdbool.
31985         * modules/lchown (Depends-on): Likewise.
31986         * doc/posix-functions/chown.texi (chown): Document the bug.
31987         * doc/posix-functions/lchown.texi (lchown): Likewise.
31988         * tests/test-lchown.h (test_chown): Relax test.
31989
31990         mkstemp: avoid conflict with C++ keyword template
31991         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
31992         * lib/mkostemp.c (mkostemp): Likewise.
31993         * lib/mkostemps.c (mkostemps): Likewise.
31994         * lib/mkstemp.c (mkstemp): Likewise.
31995         * lib/mkstemps.c (mkstemps): Likewise.
31996
31997         xalloc-die-tests: optimize
31998         * tests/test-xalloc-die.sh: Reduce number of processes.
31999
32000 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32001
32002         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32003         patch from ludo@gnu.org (Ludovic Courtès).
32004
32005 2009-11-17  Jim Meyering  <meyering@redhat.com>
32006
32007         version-etc: use proper license string
32008         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32009         * modules/version-etc-fsf: Likewise.
32010
32011 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32012
32013         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32014         printed to stdout.  Deal with EOL differences.
32015
32016 2009-11-17  Eric Blake  <ebb9@byu.net>
32017
32018         unsetenv: work around Solaris bug
32019         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32020         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32021         Reported by Jim Meyering.
32022
32023         vasnprintf: avoid compiler warnings
32024         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32025         variables.
32026         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32027
32028 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32029
32030         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32031         settings since xalloc-die is no longer the self test,
32032         xalloc-die.sh is.
32033
32034 2009-11-17  Jim Meyering  <meyering@redhat.com>
32035
32036         test-xalloc-die.sh: make the code agree with the commit log
32037         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32038         at the end, just in case you happen to have a test-xalloc-die
32039         program in some other PATH directory.
32040
32041         test-xalloc-die.sh: fix a portability bug
32042         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32043         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32044         Otherwise, argv[0] (as often seen in diagnostics) would be too
32045         system-dependent, sometimes with, and sometimes without the leading "./".
32046
32047         version-etc-fsf: relax license to LGPLv3+
32048         * modules/version-etc-fsf (License): Relax license.
32049
32050 2009-11-16  Eric Blake  <ebb9@byu.net>
32051
32052         xalloc-die-tests: avoid printing null pointer
32053         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32054         shell script.
32055         * tests/test-xalloc-die.c (program_name): Declare.
32056         * tests/test-xalloc-die.sh (tmpfiles): New file.
32057
32058         setenv, unsetenv: work around various bugs
32059         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32060         (setenv) [HAVE_SETENV]: Work around bugs.
32061         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32062         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32063         for bugs.
32064         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32065         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32066         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32067         * modules/stdlib (Makefile.am): Update substitutions.
32068         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32069         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32070         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32071         * modules/setenv-tests: New test.
32072         * modules/unsetenv-tests: Likewise.
32073         * tests/test-setenv.c: New file.
32074         * tests/test-unsetenv.c: Likewise.
32075
32076 2009-11-16  Jim Meyering  <meyering@redhat.com>
32077
32078         version-etc: relax license to LGPLv3+
32079         * modules/version-etc (License): Relax license.
32080
32081         better AC_REQUIRE expanded-before-required-warning avoidance
32082         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32083         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32084         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32085         which is no longer needed.
32086
32087 2009-11-16  Eric Blake  <ebb9@byu.net>
32088
32089         test-freading: clean up temporary file
32090         * tests/test-freading.c (main): Remove file on success, and use
32091         ASSERT more liberally.
32092         Reported by Jim Meyering.
32093
32094 2009-11-16  Jim Meyering  <meyering@redhat.com>
32095
32096         avoid new AC_REQUIRE expanded-before-required warnings
32097         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32098         merely using it.
32099         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32100         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32101
32102 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32103
32104         * tests/test-xalloc-die.c: New file.
32105         * modules/xalloc-die-tests: New file.
32106         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32107         XFAIL_TESTS so it can be appended by modules.
32108
32109 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32110
32111         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32112         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32113
32114 2009-11-14  Eric Blake  <ebb9@byu.net>
32115
32116         fnmatch: avoid compiler warning
32117         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32118         to silence compiler warning about mismatch signedness in ?:.
32119         Reported by Robert Millan.
32120
32121         intprops: add double-inclusion guard
32122         * lib/intprops.h: Allow idempotent includes.
32123         Suggested by Bruce Korb.
32124
32125         openat: detect Solaris fchownat bug
32126         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32127         penalizing glibc chownat when only lchownat is broken.
32128         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32129         trailing slash bugs.
32130         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32131         * modules/openat-tests (Files): Include more files.
32132         (Depends-on): Add mgetgroups, sleep, stat-time.
32133         (configure.ac): Add additional checks.
32134         (Makefile.am): Build new test.
32135         * tests/test-fchownat.c: New file.
32136
32137         lchown: detect Solaris and FreeBSD bug
32138         * lib/lchown.c (rpl_lchown): Work around bug.
32139         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32141         * modules/unistd (Makefile.am): Populate it.
32142         * lib/unistd.in.h (lchown): Update declaration.
32143         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32144         * modules/lchown-tests: New file.
32145         * tests/test-lchown.h (test_lchown): Likewise.
32146         * tests/test-lchown.c (main): Likewise.
32147
32148         chown: detect Solaris and FreeBSD bug
32149         * lib/chown.c (rpl_chown): Work around bug.
32150         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32151         (gl_PREREQ_CHOWN): Delete.
32152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32153         * modules/unistd (Makefile.am): Populate it.
32154         * lib/unistd.in.h (chown): Update declaration.
32155         * lib/lchown.c (chown): Update client.
32156         * modules/lchown (Depends-on): Add lstat.
32157         * doc/posix-functions/chown.texi (chown): Document the bug.
32158         * doc/posix-functions/getgroups.texi (getgroups): Document
32159         getgroups pitfall.
32160         * modules/chown-tests: New file.
32161         * tests/test-chown.h (test_chown): Likewise.
32162         * tests/test-chown.c (main): Likewise.
32163
32164 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32165
32166         gnulib-tool: correctly detect absence of m4 directories
32167         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32168
32169 2009-11-14  Jim Meyering  <meyering@redhat.com>
32170
32171         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32172         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32173
32174 2009-11-14  John W. Eaton  <jwe@gnu.org>
32175
32176         strftime.h: wrap funtion declaration in extern "C" block
32177         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32178
32179 2009-11-13  Eric Blake  <ebb9@byu.net>
32180
32181         getgroups: avoid compiler warning
32182         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32183
32184         getgroups: work around FreeBSD bug
32185         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32186         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32187         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32188         * tests/test-getgroups.c (main): Fix buffer overrun.
32189
32190         getgroups: avoid compilation failure
32191         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32192         * modules/getgroups (Depends-on): Add stdint.
32193
32194 2009-11-13  Jim Meyering  <meyering@redhat.com>
32195
32196         test-getgroups: avoid compilation failure
32197         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32198
32199 2009-11-13  Eric Blake  <ebb9@byu.net>
32200
32201         mgetgroups: new module, taken from coreutils
32202         * modules/mgetgroups: New file.
32203         * lib/mgetgroups.h: Likewise.
32204         * lib/mgetgroups.c (mgetgroups): Likewise.
32205         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32206         * MODULES.html.sh (Users and groups): Mention it.
32207
32208         getgroups: don't expose GETGROUPS_T to user
32209         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32210         an element at a time if GETGROUPS_T is wrong size.
32211         * lib/getugroups.h (getugroups): Change signature.
32212         * lib/unistd.in.h (getgroups): Likewise.
32213         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32214         signature needs fixing.
32215         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32216         AC_TYPE_GETGROUPS.
32217         * modules/group-member (Depends-on): Add getgroups.
32218         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32219         (group_member): Rely on getgroups replacement.
32220         * lib/getugroups.c (getugroups): Use gid_t.
32221         * tests/test-getgroups.c (main): Likewise.
32222         * NEWS: Mention the signature change.
32223         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32224         problem with signature.
32225         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32226         GETGROUPS_T is still useful for setgroups.
32227
32228         getgroups, getugroups: provide stubs for mingw
32229         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32230         * lib/getugroups.c (getugroups): Likewise.
32231         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32232         function.  Modernize replacement scheme.
32233         (gl_PREREQ_GETGROUPS): Delete.
32234         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32235         * modules/getgroups (configure.ac): Declare witness.
32236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32237         * modules/unistd (Depends-on): Substitute witness.
32238         * lib/unistd.in.h (getgroups): Declare replacement.
32239
32240         getgroups: avoid calling exit
32241         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32242         drop xalloc.
32243         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32244         dependencies.
32245         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32246         exiting, in the rare case of malloc failure.
32247
32248         getgroups: fix logic error
32249         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32250         has more than 20 groups.
32251         * modules/getgroups-tests: New test.
32252         * tests/test-getgroups.c: New file.
32253
32254 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32255
32256         * tests/test-base64.c: Improve.
32257
32258 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32259
32260         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32261         Blake <ebb9@byu.net>.
32262
32263 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32264
32265         * tests/test-xvasprintf.c: Add %s%s related checks.
32266
32267 2009-11-12  Eric Blake  <ebb9@byu.net>
32268
32269         version-etc: match standards.texi style
32270         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32271         and use <> only for URLs.
32272
32273 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32274
32275         fts: do not fail on a submount during traversal
32276         * lib/fts.c (fts_build): Read the stat info again after opening
32277         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32278         Original report at http://bugzilla.redhat.com/501848.
32279
32280 2009-11-12  Jim Meyering  <meyering@redhat.com>
32281
32282         bootstrap: sync from coreutils
32283         * build-aux/bootstrap (bootstrap_epilogue): New function.
32284         Use git_modules_config in one more place.  This make bootstrap's
32285         --gnulib-srcdir option more useful for testing.
32286
32287         bootstrap: generalize autoheader check
32288         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32289         AC_CONFIG_HEADERS.
32290
32291 2009-11-11  Eric Blake  <ebb9@byu.net>
32292
32293         mkfifoat: use new modules for Solaris and BSD bugs
32294         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32295         * lib/mkfifoat.c (mknodat): Split...
32296         * lib/mknodat.c (mknodat): ...into new file.
32297         * modules/mkfifoat (Files): Ship new file.
32298         (Depends-on): Add mkfifo, mknod.
32299         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32300         (Depends-on): Add symlink.
32301         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32302         redundant with test_mkfifo.h.
32303         (do_mkfifoat, do_mknodat): New helpers.
32304
32305         mknod: new module
32306         * modules/mknod: New file.
32307         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32308         * lib/mknod.c (mknod): Likewise.
32309         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32310         defaults.
32311         * modules/sys_stat (Makefile.am): Substitute them.
32312         * lib/sys_stat.in.h (mknod): Declare replacement.
32313         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32314         Document it.
32315         * doc/posix-functions/mknod.texi (mknod): Likewise.
32316         * modules/mknod-tests: New test.
32317         * tests/test-mknod.c: Likewise.
32318
32319         mkfifo: new module
32320         * modules/mkfifo: New file.
32321         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32322         * lib/mkfifo.c (mkfifo): Likewise.
32323         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32324         defaults.
32325         * modules/sys_stat (Makefile.am): Substitute them.
32326         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32327         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32328         Document it.
32329         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32330         * modules/mkfifo-tests: New test.
32331         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32332         from test-mkfifoat.c.
32333         * tests/test-mkfifo.c: New file.
32334
32335         readlink: detect FreeBSD bug
32336         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32337         slash on symlink.
32338         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32339         * tests/test-readlink.h (test_readlink): Enhance test.
32340
32341         symlink: detect FreeBSD bug
32342         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32343         slash on symlink.
32344         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32345         * tests/test-symlink.h (test_symlink): Enhance test.
32346
32347 2009-11-10  Eric Blake  <ebb9@byu.net>
32348
32349         link: detect FreeBSD bug
32350         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32351         symlink.
32352         * doc/posix-functions/link.texi (link): Document the bug.
32353         * tests/test-link.h (test_link): Enhance test.
32354         * tests/test-linkat.c (main): Update caller.
32355
32356         unlink, remove: detect FreeBSD bug
32357         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32358         slash on symlink.
32359         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32360         * doc/posix-functions/remove.texi (remove): Likewise.
32361         * tests/test-unlink.h (test_unlink): Enhance test.
32362         * tests/test-remove.c (main): Likewise.
32363
32364 2009-11-09  Eric Blake  <ebb9@byu.net>
32365
32366         rename: detect FreeBSD bug
32367         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32368         slash on symlink.
32369         * modules/renameat-tests (Depends-on): Add filenamecat.
32370         * tests/test-rename.h (test_rename): Allow one more errno.
32371         * tests/test-renameat.c (main): Likewise.
32372         * doc/posix-functions/rename.texi (rename): Document the bug.
32373
32374         open: detect FreeBSD bug
32375         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32376         symlink.
32377         * doc/posix-functions/open.texi (open): Document the bug.
32378         * doc/posix-functions/utimes.texi (utimes): Likewise.
32379         * tests/test-open.h (test_open): Add parameters, and test symlink
32380         handling.
32381         * tests/test-open.c (main): Adjust caller.
32382         * tests/test-fcntl-safer.c (main): Likewise.
32383         * modules/open-tests (Depends-on): Add stdbool, symlink.
32384         * modules/fcntl-safer-tests (Depends-on): Likewise.
32385         * tests/test-openat.c (main): Add test-open tests.
32386
32387         stat: detect FreeBSD bug
32388         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32389         symlink.
32390         * doc/posix-functions/stat.texi (stat): Document the bug.
32391         * tests/test-stat.h (test_stat_func): Add argument.
32392         * tests/test-stat.c (main): Adjust caller.
32393         * tests/test-fstatat.c (main): Likewise.
32394         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32395         Reported by Jim Meyering.
32396
32397 2009-11-09  James Youngman  <jay@gnu.org>
32398
32399         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32400         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32401
32402 2009-11-08  Jim Meyering  <meyering@redhat.com>
32403
32404         utimens: remove invalid futimesat call
32405         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32406         It used the file descriptor of the target file as the DIR_FD
32407         parameter and NULL as the file name.  That caused failure with
32408         errno == EFAULT on FreeBSD-8.0-rc2
32409
32410 2009-11-07  Eric Blake  <ebb9@byu.net>
32411
32412         fflush, freadseek: use fseeko, not fseek
32413         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32414         (clear_ungetc_buffer): Avoid potential problems on large files.
32415         * lib/freadseek.c (freadseek): Likewise.
32416         * modules/freadseek (Depends-on): Add fseeko.
32417         * modules/fseek (configure.ac): Set a witness.
32418         * tests/test-fflush.c (main): Use fseeko.
32419         * tests/test-fpurge.c (fseek): Disable link warning.
32420         * tests/test-freadable.c (fseek): Likewise.
32421         * tests/test-freading.c (fseek): Likewise.
32422         * tests/test-fseeko.c (fseek): Likewise.
32423         * tests/test-ftell.c (fseek): Likewise.
32424         * tests/test-ftello.c (fseek): Likewise.
32425         * tests/test-fwritable.c (fseek): Likewise.
32426         * tests/test-fwriting.c (fseek): Likewise.
32427
32428 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32429
32430         * modules/memchr (Depends-on): Drop getpagesize dependency.
32431
32432 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32433
32434         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32435         Reported by Ludovic Courtès.
32436         * build-aux/pmccabe2html: Improve example usage.
32437         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32438
32439 2009-11-06  Jim Meyering  <meyering@redhat.com>
32440
32441         do-release-commit-and-tag: New module.
32442         Automate the release-commit and tag process.
32443         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32444         * modules/do-release-commit-and-tag: New file.
32445         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32446
32447 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32448
32449         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32450         because test-select.c uses inet_pton.
32451
32452 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32453
32454         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32455         GETADDRINFO_LIB.  Bump serial number.
32456         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32457         Suggested by Eric Blake <ebb9@byu.net>.
32458
32459 2009-11-05  Eric Blake  <ebb9@byu.net>
32460
32461         strtod: detect darwin bug
32462         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32463         Reported by Leo Davis.
32464
32465         freopen-safer: new module
32466         * modules/freopen-safer: New module.
32467         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32468         * lib/freopen-safer.c (freopen_safer): New file.
32469         * lib/stdio-safer.h (freopen_safer): New declaration.
32470         * lib/stdio--.h (freopen): New override.
32471         * MODULES.html.sh (File stream based Input/Output): Mention it.
32472         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
32473         freopen-safer module.
32474         * doc/posix-functions/stderr.texi (stderr): Likewise.
32475         * doc/posix-functions/stdin.texi (stdin): Likewise.
32476         * doc/posix-functions/stdout.texi (stdout): Likewise.
32477         * modules/freopen-safer-tests: New test.
32478         * tests/test-reopen-safer.c: New file.
32479
32480 2009-11-05  Jim Meyering  <meyering@redhat.com>
32481
32482         maint.mk: Prohibit inclusion of "close-stream.h" without use.
32483         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32484
32485 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32486
32487         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
32488
32489 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32490
32491         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
32492
32493 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32494
32495         Fix link error.
32496         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32497         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32498
32499 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32500
32501         * tests/test-func.c: Also test value of __func__.
32502
32503 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32504
32505         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
32506         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
32507
32508 2009-11-05  Bruno Haible  <bruno@clisp.org>
32509
32510         Fix link error.
32511         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32512         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32513         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
32514
32515 2009-11-05  Bruno Haible  <bruno@clisp.org>
32516
32517         Tests for module 'inet_pton'.
32518         * modules/inet_pton-tests: New file.
32519         * tests/test-inet_pton.c: New file.
32520
32521 2009-11-05  Bruno Haible  <bruno@clisp.org>
32522
32523         Tests for module 'inet_ntop'.
32524         * modules/inet_ntop-tests: New file.
32525         * tests/test-inet_ntop.c: New file.
32526
32527 2009-11-04  Eric Blake  <ebb9@byu.net>
32528
32529         stdlib-safer: wrap all mkstemp variants
32530         * modules/mkostemp (configure.ac): Set witness.
32531         * modules/mkostemps (configure.ac): Likewise.
32532         * modules/mkstemps (configure.ac): Likewise.
32533         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
32534         (mkstemps_safer): Wrap more functions.
32535         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
32536         wrapping.
32537         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
32538         (mkstemps_safer): Implement the wrappers.
32539
32540         mkstemps, mkostemps: new modules
32541         * modules/mkostemps: New module.
32542         * modules/mkstemps: Likewise.
32543         * lib/mkostemps.c (mkostemps): New file.
32544         * lib/mkstemps.c (mkstemps): Likewise.
32545         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
32546         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
32547         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
32548         * modules/stdlib (Makefile.am): Substitute them.
32549         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
32550         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
32551         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
32552         * doc/gnulib.texi (Glibc stdlib.h): Include them.
32553         * MODULES.html.sh (File system functions): Mention them.
32554
32555         tempname: resync from glibc
32556         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
32557         same values for __GT_FILE as glibc.  Abort even when assertions
32558         are disabled.
32559         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
32560         match its value otherwise.  Allow idempotent inclusion.
32561         * lib/mkdtemp.c (mkdtemp): Adjust caller.
32562         * lib/mkostemp.c (mkostemp): Likewise.
32563         * lib/mkstemp.c (mkstemp): Likewise.
32564         * lib/tmpfile.c (tmpfile): Likewise.
32565         * NEWS: Document this.
32566
32567         utimens: fix use of futimens on older Linux
32568         * lib/utimens.c (fdutimens): Use updated, rather than original,
32569         timespec to avoid bug in older Linux kernel.
32570         Reported by Simon Josefsson.
32571
32572 2009-11-04  Bruno Haible  <bruno@clisp.org>
32573
32574         Make num_processors more flexible and consistent.
32575         * lib/nproc.h (enum nproc_query): New type.
32576         (num_processors): Add a 'query' argument.
32577         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
32578         (num_processors): Add a 'query' argument. Test the value of the
32579         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
32580         mingw, count the number of CPUs available for the current process.
32581         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
32582         Check for sched_getaffinity and sched_getaffinity_np.
32583         * modules/nproc (Depends-on): Add c-ctype, extensions.
32584         * NEWS: Mention the change.
32585
32586 2009-11-03  Bruno Haible  <bruno@clisp.org>
32587
32588         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
32589
32590 2009-11-03  Jim Meyering  <meyering@redhat.com>
32591
32592         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
32593         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
32594         if it is defined.
32595
32596 2009-11-02  Eric Blake  <ebb9@byu.net>
32597
32598         mktime, timegm: share common declaration
32599         * lib/mktime-internal.h: New file.
32600         * lib/mktime.c: Use it rather than open-coding a declaration.
32601         * lib/timegm.c: Likewise.
32602         * modules/mktime (Files): Ship it.
32603         * modules/timegm (Files): Likewise.
32604         Suggested by Bruno Haible.
32605
32606         test-update-copyright: update test to match script changes
32607         * tests/test-update-copyright.sh: Avoid hard-coding perl
32608         location.  Don't update *.bak created by earlier runs.
32609
32610 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32611             Simon Josefsson  <simon@josefsson.org>
32612             Bruno Haible  <bruno@clisp.org>
32613
32614         Fix link error on Solaris 8.
32615         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
32616         also in libnsl. Define also INET_PTON_LIB.
32617         * modules/inet_pton (Link): New section.
32618
32619 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32620             Bruno Haible  <bruno@clisp.org>
32621
32622         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
32623         * modules/inet_ntop (Link): New section.
32624         Reported by Boyan Kasarov <bkasarov@gmail.com>.
32625
32626 2009-11-02  Eric Blake  <ebb9@byu.net>
32627
32628         maint: avoid compiler warnings in m4 macros
32629         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
32630         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
32631
32632 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32633
32634         * m4/pmccabe2html.m4: Remove file.
32635         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
32636         function.  Change maintainer.
32637         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
32638         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
32639         Courtès).
32640
32641 2009-10-31  Eric Blake  <ebb9@byu.net>
32642
32643         fseeko: fix m4 regression
32644         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
32645         regression from 2009-10-27.
32646         Reported by Ralf Wildenhues.
32647
32648 2009-10-31  Jim Meyering  <meyering@redhat.com>
32649
32650         inttostr: aesthetics and improved (compile-time) safety
32651         Define inttype_is_signed rather than inttype_is_unsigned,
32652         since the sole use is via "#if inttype_is_signed".
32653         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
32654         inttype_is_unsigned.
32655         * lib/offtostr.c (inttype_is_signed): Likewise.
32656         * lib/uinttostr.c (inttype_is_signed): Likewise.
32657         * lib/umaxtostr.c (inttype_is_signed): Likewise.
32658         * lib/inttostr.c (inttostr): Use verify to cross-check the
32659         inttype_is_signed value and the signedness of the actual type.
32660         * modules/inttostr (Depends-on): Add verify.
32661
32662 2009-10-30  Eric Blake  <ebb9@byu.net>
32663
32664         build: avoid compiler warnings
32665         * lib/fchmodat.c (lchmod): Mark unused variables.
32666         * lib/getopt.c (_getopt_initialize): Likewise.
32667         * lib/mktime.c (__mktime_internal): Provide prototype.
32668         * lib/inttostr.c (inttostr): Avoid compiler warning even with
32669         older gcc that do not understand #pragma GCC diagnostic.
32670         * lib/uinttostr.c (inttype_is_unsigned): Define.
32671         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
32672
32673 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
32674
32675         stat: fix compilation on AIX
32676         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
32677         only see struct stat64.
32678
32679 2009-10-30  Eric Blake  <ebb9@byu.net>
32680
32681         exclude: make more robust
32682         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
32683         rather than masking a coding bug.
32684         Suggested by Bruno Haible.
32685
32686 2009-10-30  Jim Meyering  <meyering@redhat.com>
32687
32688         perl scripts: remove #!/usr/bin/perl in favor of more portable...
32689         Rather than putting #!/usr/bin/perl on the first line,
32690         start with a variant of what's recommended by "man perlrun" that
32691         invokes the first "perl" program from your shell's search path.
32692         * build-aux/gitlog-to-changelog: Replace #!... as above.
32693         Add a "Local Variables" perl mode setting.
32694         Prompted by a patch from Ludovic Courtès.
32695         Improved by Eric Blake.
32696         * build-aux/useless-if-before-free: Likewise.
32697         * build-aux/announce-gen: Likewise.
32698         * build-aux/update-copyright: Likewise.
32699
32700 2009-10-29  Eric Blake  <ebb9@byu.net>
32701
32702         filenamecat-lgpl: adjust clients
32703         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
32704         filenamecat.
32705         * modules/renameat (Depends-on): Likewise.
32706
32707         filenamecat: split into filenamecat-lgpl
32708         * modules/filenamecat-lgpl: New module.
32709         * modules/filenamecat (Files): Move library-safe files into
32710         filenamecat-lgpl.
32711         (Depends-on): Add filenamecat-lgpl.
32712         (configure.ac): Declare witness.
32713         * lib/filenamecat.h (file_name_concat): Only declare when using
32714         GPL module.
32715         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
32716         Move...
32717         * lib/filenamecat-lgpl.c: ...into new file.
32718         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
32719         (gl_FILE_NAME_CONCAT): Use it.
32720         * MODULES.html.sh (File system functions): Mention new module.
32721
32722         argp: avoid memory leak
32723         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
32724         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
32725         base_name, since the latter malloc()s and can call exit().
32726         Leak introduced 2006-07-03.
32727
32728         dirname-lgpl: adjust clients that don't need full dirname
32729         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
32730         * modules/filenamecat (Depends-on): Likewise.
32731         * modules/linkat (Depends-on): Likewise.
32732         * modules/mkancesdirs (Depends-on): Likewise.
32733         * modules/mkdir (Depends-on): Likewise.
32734         * modules/openat (Depends-on): Likewise.
32735         * modules/savewd (Depends-on): Likewise.
32736         * modules/rename (Depends-on): Likewise.
32737         (License): Relax license.
32738         * modules/mkdir-tests (Depends-on): Drop progname.
32739         (Makefile.am): Delete unneeded LDADD.
32740         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
32741
32742         dirname: split into dirname-lgpl
32743         * modules/dirname-lgpl: New module.
32744         * modules/dirname (Files): Move library-safe files into
32745         dirname-lgpl.
32746         (Depends-on): Add dirname-lgpl.
32747         (configure.ac): Declare witness.
32748         * modules/double-slash-root (License): Relax license.
32749         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
32750         module.
32751         * lib/dirname.c (dir_len, mdir_name): Move...
32752         * lib/dirname-lgpl.c: ...into new file.
32753         * lib/basename.c (last_component, base_len): Move...
32754         * lib/basename-lgpl.c: ...into new file.
32755         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
32756         (gl_DIRNAME): Use it.
32757         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
32758         Mention new module.
32759         * modules/dirname-tests (Depends-on): Add progname.
32760         * tests/test-dirname.c (program_name): Delete.
32761
32762         mkdir: make safe for libraries
32763         * modules/mkdir (Depends-on): Drop xalloc.
32764         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
32765         exit.
32766
32767         tests: avoid some compiler warnings
32768         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
32769         literals.
32770         * tests/test-memchr.c (main): Avoid type mismatch.
32771         * tests/test-arpa_inet.c (main): Avoid unused parameters.
32772         * tests/test-base64.c (main): Likewise.
32773         * tests/test-getdelim.c (main): Likewise.
32774         * tests/test-gethostname.c (main): Likewise.
32775         * tests/test-getline.c (main): Likewise.
32776         * tests/test-netinet_in.c (main): Likewise.
32777         * tests/test-select.c (open_server_socket, main): Likewise.
32778         * tests/test-select-stdin.c (main): Likewise.
32779         * tests/test-sockets.c (main): Likewise.
32780         * tests/test-strsignal.c (main): Likewise.
32781         * tests/test-sys_select.c (main): Likewise.
32782         * tests/test-sys_socket.c (main): Likewise.
32783         * tests/test-u64.c (main): Likewise.
32784         * tests/test-xfprintf-posix.c (main): Likewise.
32785         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
32786
32787         sockets: avoid compiler warning
32788         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
32789
32790         maint: detect usage(1) and other suspicious exits
32791         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
32792
32793 2009-10-29  Jim Meyering  <meyering@redhat.com>
32794
32795         timespec: long-to-int truncation could make timespec_cmp malfunction
32796         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
32797         a multiple of 2^32 nanoseconds as no difference.
32798
32799 2009-10-28  Jim Meyering  <meyering@redhat.com>
32800
32801         fprintftime: wrap macro code argument in "do {...} while(0)"
32802         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
32803         cpy macro must be a statement that can be followed by a semicolon.
32804         Now that the else clause contains a comment and is hence longer
32805         than one line, I require curly braces.  That in turn requires
32806         that we wrap this code block in the standard do...while(0).
32807
32808         fprintftime: remove stray semicolon from previous change
32809         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
32810
32811         fprintftime: avoid a warning about ignored fwrite return value
32812         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
32813         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
32814         that is unsafe.
32815         * modules/fprintftime (Depends-on): Add ignore-value.
32816
32817         exclude: avoid an unwarranted warning
32818         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
32819
32820 2009-10-27  Eric Blake  <ebb9@byu.net>
32821
32822         fseek: avoid compilation failure when fflush is replaced
32823         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
32824         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
32825         module is in use.
32826         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
32827         module is not in use; since REPLACE_FSEEK worked otherwise.
32828         (GNULIB_FTELLO): Likewise for ftell.
32829         Reported by Ian Beckwith and others.
32830
32831 2009-10-27  Bruno Haible  <bruno@clisp.org>
32832
32833         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
32834         Reported by Jim Meyering.
32835
32836 2009-10-27  Jim Meyering  <jim@meyering.net>
32837             Bruno Haible  <bruno@clisp.org>
32838
32839         Avoid warning despite dropping the return value of fwrite.
32840         * lib/unicodeio.c: Include ignore-value.h.
32841         (fwrite_success_callback): Explicitly ignore fwrite's return value.
32842         * modules/unicodeio (Depends-on): Add ignore-value.
32843
32844 2009-10-26  Eric Blake  <ebb9@byu.net>
32845
32846         areadlinkat: fix fallback path
32847         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
32848         pointer and zero.
32849
32850 2009-10-22  Pádraig Brady  <P@draigBrady.com>
32851
32852         Use a better IO block size for modern systems
32853         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
32854         * lib/md2.c: Likewise.
32855         * lib/md4.c: Likewise.
32856         * lib/md5.c: Likewise.
32857         * lib/sha1.c: Likewise.
32858         * lib/sha256.c: Likewise.
32859         * lib/sha512.c: Likewise.
32860
32861 2009-10-22  Eric Blake  <ebb9@byu.net>
32862
32863         tests: avoid several compiler warnings
32864         * tests/test-getcwd.c (main): Avoid buffer underflow.
32865         * tests/test-getdate.c (main): String literals are not safe with
32866         putenv, so use setenv.  Declare unused argument.
32867         * modules/getdate-tests (Depends-on): Add setenv.
32868         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
32869         problems with string literals in char *.
32870         * tests/test-hash.c (main): Avoid shadowing declaration.
32871         (insert_new): Treat string literals as char const *.
32872         * tests/test-getopt.h (test_getopt): Likewise.
32873         (getopt_loop): Alter types to minimize casting elsewhere.
32874         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
32875         (test_getopt_long_posix): Likewise.
32876         (do_getopt_long): Add wrapper to minimize casting.
32877         * tests/test-atexit.c (clear_temp_file): Use void.
32878         * tests/test-areadlink-with-size.c (main): Declare unused
32879         arguments.
32880         * tests/test-areadlink.c (main): Likewise.
32881         * tests/test-areadlinkat-with-size.c (main): Likewise.
32882         * tests/test-areadlinkat.c (main): Likewise.
32883         * tests/test-canonicalize-lgpl.c (main): Likewise.
32884         * tests/test-canonicalize.c (main): Likewise.
32885         * tests/test-dirent-safer.c (main): Likewise.
32886         * tests/test-dirname.c (main): Likewise.
32887         * tests/test-dup2.c (main): Likewise.
32888         * tests/test-fchdir.c (main): Likewise.
32889         * tests/test-fcntl-h.c (main): Likewise.
32890         * tests/test-fcntl-safer.c (main): Likewise.
32891         * tests/test-fdopendir.c (main): Likewise.
32892         * tests/test-fdutimensat.c (main): Likewise.
32893         * tests/test-fflush.c (main): Likewise.
32894         * tests/test-filenamecat.c (main): Likewise.
32895         * tests/test-filevercmp.c (main): Likewise.
32896         * tests/test-fopen-safer.c (main): Likewise.
32897         * tests/test-fopen.c (main): Likewise.
32898         * tests/test-fpending.c (main): Likewise.
32899         * tests/test-fpurge.c (main): Likewise.
32900         * tests/test-freading.c (main): Likewise.
32901         * tests/test-fstatat.c (main): Likewise.
32902         * tests/test-fsync.c (main): Likewise.
32903         * tests/test-futimens.c (main): Likewise.
32904         * tests/test-getndelim2.c (main): Likewise.
32905         * tests/test-gettimeofday.c (main): Likewise.
32906         * tests/test-getopt.c (main): Likewise.
32907         * tests/test-i-ring.c (main): Likewise.
32908         * tests/test-inttypes.c (main): Likewise.
32909         * tests/test-link.c (main): Likewise.
32910         * tests/test-lstat.c (main): Likewise.
32911         * tests/test-math.c (main): Likewise.
32912         * tests/test-md5.c (main): Likewise.
32913         * tests/test-memchr2.c (main): Likewise.
32914         * tests/test-memrchr.c (main): Likewise.
32915         * tests/test-mkdir.c (main): Likewise.
32916         * tests/test-mkdirat.c (main): Likewise.
32917         * tests/test-mkfifoat.c (main): Likewise.
32918         * tests/test-open.c (main): Likewise.
32919         * tests/test-openat-safer.c (main): Likewise.
32920         * tests/test-openat.c (main): Likewise.
32921         * tests/test-quotearg.c (main): Likewise.
32922         * tests/test-rawmemchr.c (main): Likewise.
32923         * tests/test-readlink.c (main): Likewise.
32924         * tests/test-remove.c (main): Likewise.
32925         * tests/test-rename.c (main): Likewise.
32926         * tests/test-renameat.c (main): Likewise.
32927         * tests/test-rmdir.c (main): Likewise.
32928         * tests/test-sha1.c (main): Likewise.
32929         * tests/test-signal.c (main): Likewise.
32930         * tests/test-sigaction.c (main): Likewise.
32931         * tests/test-stat.c (main): Likewise.
32932         * tests/test-stat-time.c (main): Likewise.
32933         * tests/test-stddef.c (main): Likewise.
32934         * tests/test-stdint.c (main): Likewise.
32935         * tests/test-stdio.c (main): Likewise.
32936         * tests/test-stdlib.c (main): Likewise.
32937         * tests/test-strchrnul.c (main): Likewise.
32938         * tests/test-strerror.c (main): Likewise.
32939         * tests/test-string.c (main): Likewise.
32940         * tests/test-strtod.c (main): Likewise.
32941         * tests/test-strverscmp.c (main): Likewise.
32942         * tests/test-symlink.c (main): Likewise.
32943         * tests/test-symlinkat.c (main): Likewise.
32944         * tests/test-sys_stat.c (main): Likewise.
32945         * tests/test-sys_time.c (main): Likewise.
32946         * tests/test-time.c (main): Likewise.
32947         * tests/test-unistd.c (main): Likewise.
32948         * tests/test-unlink.c (main): Likewise.
32949         * tests/test-unlinkat.c (main): Likewise.
32950         * tests/test-utimens.c (main): Likewise.
32951         * tests/test-utimensat.c (main): Likewise.
32952         * tests/test-version-etc.c (main): Likewise.
32953         * tests/test-wchar.c (main): Likewise.
32954         * tests/test-wctype.c (main): Likewise.
32955         * tests/test-xprintf-posix.c (main): Likewise.
32956         * tests/test-posixtm.c (main): Likewise.
32957         (STREQ): Delete unused macro.
32958         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
32959         shadowed variables.
32960         * tests/test-memchr.c (main): Likewise.
32961
32962 2009-10-21  Eric Blake  <ebb9@byu.net>
32963
32964         areadlinkat: avoid failure on older glibc
32965         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
32966         rather than mis-comparing 0 against FUNC_RESULT of char*.
32967
32968 2009-10-21  Bruno Haible  <bruno@clisp.org>
32969
32970         * modules/stpncpy (License): Relicense under LGPLv2+.
32971         Reported by David Lutterkort <lutter@redhat.com>.
32972
32973 2009-10-20  Eric Blake  <ebb9@byu.net>
32974
32975         utimensat: work around Solaris 9 bug
32976         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
32977         has trailing slash bugs.
32978         * tests/test-lutimens.h (test_lutimens): Enhance test.
32979         * tests/test-utimens.h (test_utimens): Likewise.
32980         * doc/posix-functions/utime.texi (utime): Enhance documentation.
32981         * doc/posix-functions/utimes.texi (utimes): Likewise.
32982         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
32983         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
32984         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
32985         * doc/posix-functions/futimens.texi (futimens): Likewise.
32986
32987         fdutimensat: new module
32988         * modules/fdutimensat: New file.
32989         * lib/fdutimensat.c (fdutimensat): Likewise.
32990         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
32991         * MODULES.html.sh (File system functions): Mention module.
32992         * modules/fdutimensat-tests: New test.
32993         * tests/test-fdutimensat.c: Likewise.
32994
32995         doc: regenerate INSTALL
32996         * doc/INSTALL: Reflect recent autoconf update.
32997         * doc/INSTALL.ISO: Likewise.
32998         * doc/INSTALL.UTF-8: Likewise.
32999
33000 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33001
33002         acl: warn if ACL support is not detected
33003         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33004
33005 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33006
33007         * lib/nproc.h: Add extern "C" block for C++.
33008
33009 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33010             Bruno Haible  <bruno@clisp.org>
33011
33012         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33013         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33014         * doc/posix-functions/isalpha.texi: Likewise.
33015         * doc/posix-functions/isblank.texi: Likewise.
33016         * doc/posix-functions/iscntrl.texi: Likewise.
33017         * doc/posix-functions/isdigit.texi: Likewise.
33018         * doc/posix-functions/isgraph.texi: Likewise.
33019         * doc/posix-functions/islower.texi: Likewise.
33020         * doc/posix-functions/isprint.texi: Likewise.
33021         * doc/posix-functions/ispunct.texi: Likewise.
33022         * doc/posix-functions/isspace.texi: Likewise.
33023         * doc/posix-functions/isupper.texi: Likewise.
33024         * doc/posix-functions/isxdigit.texi: Likewise.
33025
33026 2009-10-18  Bruno Haible  <bruno@clisp.org>
33027
33028         Tests for module 'isblank'.
33029         * modules/isblank-tests: New file.
33030         * tests/test-isblank.c: New file.
33031
33032         New module 'isblank'.
33033         * lib/isblank.c: New file.
33034         * m4/isblank.m4: New file.
33035         * modules/isblank: New file.
33036         * doc/posix-functions/isblank.texi: Mention the new module.
33037
33038 2009-10-18  Bruno Haible  <bruno@clisp.org>
33039
33040         New module 'ctype'.
33041         * lib/ctype.in.h: New file.
33042         * m4/ctype.m4: New file.
33043         * modules/ctype: New file.
33044         * doc/posix-headers/ctype.texi: Mention the new module.
33045
33046 2009-10-18  Jim Meyering  <meyering@redhat.com>
33047
33048         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33049         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33050         right after its initialization, rather than farther down.
33051         Keeping these in close proximity makes it easier to ensure
33052         that each such variable is initialized.  E.g.,
33053
33054             LIB_CLOCK_GETTIME=
33055             AC_SUBST([LIB_CLOCK_GETTIME])
33056
33057         This change also increments these serial numbers.
33058         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33059         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33061
33062 2009-10-18  Bruno Haible  <bruno@clisp.org>
33063
33064         Don't let environment variables perturb build.
33065         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33066         (gl_PREREQ_GETHRXTIME): ... not here.
33067
33068 2009-10-18  Bruno Haible  <bruno@clisp.org>
33069
33070         Avoid symlink attack in localcharset module.
33071         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33072         (O_NOFOLLOW): Define fallback.
33073         (get_charset_aliases): Don't open the file if it is a symbolic link.
33074         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33075         gl_FCNTL_H.
33076         (gl_FCNTL_H): Require it.
33077         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33078         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33079         Reported by Fergal Glynn <fglynn@veracode.com>.
33080
33081 2009-10-18  Bruno Haible  <bruno@clisp.org>
33082
33083         Implement nproc for mingw.
33084         * lib/nproc.c: Include <windows.h>
33085         (num_processors): On native Windows platforms, try GetSystemInfo.
33086
33087 2009-10-18  Bruno Haible  <bruno@clisp.org>
33088
33089         Implement nproc for IRIX.
33090         * lib/nproc.c: Include <sys/sysmp.h>.
33091         (num_processors): On IRIX systems, try sysmp.
33092         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33093
33094 2009-10-18  Bruno Haible  <bruno@clisp.org>
33095
33096         Implement nproc for HP-UX.
33097         * lib/nproc.c: Include <sys/pstat.h>
33098         (num_processors): On HP-UX systems, try pstat_getdynamic.
33099         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33100         pstat_getdynamic.
33101
33102 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33103             Bruno Haible  <bruno@clisp.org>
33104
33105         Implement nproc for NetBSD, OpenBSD.
33106         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33107         (ARRAY_SIZE): New macro.
33108         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33109         * m4/nproc.m4: New file.
33110         * modules/nproc (Files): Add m4/nproc.m4.
33111         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33112         (Makefile.am): Instead, augment lib_SOURCES.
33113
33114 2009-10-18  Bruno Haible  <bruno@clisp.org>
33115
33116         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33117         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33118         sys/param.h.
33119
33120 2009-10-16  Eric Blake  <ebb9@byu.net>
33121
33122         utimensat: new module
33123         * modules/utimensat: New file.
33124         * lib/utimensat.c (utimensat): Likewise.
33125         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33126         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33127         so we can work around Linux bugs.
33128         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33129         * modules/sys_stat (Makefile.am): Substitute them.
33130         * lib/sys_stat.in.h (utimensat): Declare it.
33131         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33132         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33133         * modules/utimensat-tests: New test.
33134         * tests/test-utimensat.c: Likewise.
33135
33136         utimens: let lutimens work on non-symlinks
33137         * lib/utimens.c (lutimens): Fall back to utimens rather than
33138         failing with ENOSYS, when file is not a symlink.
33139         (utimens): Reduce redirection.
33140         * tests/test-lutimens.h (test_lutimens): Update test to cover
33141         non-symlinks.
33142         * tests/test-utimens.h (test_utimens): Update test to cover
33143         symlinks.
33144         * tests/test-utimens.c (main): Update caller.
33145
33146         utimens: cache whether utimensat syscall works
33147         * lib/utimens.c (utimensat_works_really): New cache variable.
33148         (fdutimens, lutimens): Use it to avoid failing syscall.
33149
33150         test-stat-time, test-utimens: improve portability
33151         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33152         ext4 on alpha, and for cygwin.
33153         * tests/test-utimens-common.h: New file.
33154         (nap): Factor delays into single function.
33155         * tests/test-lutimens.h (test_lutimens): Use new header.
33156         * tests/test-futimens.h (test_futimens): Likewise.
33157         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33158         timestamps to occur from same machine, as was done previously for
33159         test_utimens.
33160         * modules/utimens-tests (Files): Ship new file.
33161         * modules/futimens-tests (Files): Likewise.
33162         Reported in part by Jim Meyering.
33163
33164         sys_stat: sort replacement declarations
33165         * lib/sys_stat.in.h: Sort declarations.
33166         * lib/futimens.c (futimens): Fix typo.
33167
33168 2009-10-15  Jim Meyering  <meyering@redhat.com>
33169
33170         don't let environment settings perturb build
33171         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33172         could cause a configure-time and/or build-time malfunction.
33173         Typically, a configure-time function-in-library test is performed
33174         via code like this:
33175
33176           LIB_VAR=
33177           AC_SUBST([LIB_VAR])
33178           prefix_saved_LIBS=$LIBS
33179             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33180                        [test "$ac_cv_search_FUNC" = "none required" ||
33181                         LIB_VAR=$ac_cv_search_FUNC])
33182           LIBS=$prefix_saved_LIBS
33183
33184         However, in each of the files affected by this change, the LIB_VAR=
33185         initialization was omitted.  Thus, when set in the environment, its
33186         value would propagate into generated Makefiles when FUNC is not found
33187         in LIB_NAME.
33188         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33189         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33190         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33191
33192 2009-10-14  Eric Blake  <ebb9@byu.net>
33193
33194         fchdir: avoid infinite recursion in mingw
33195         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33196         recursing.
33197
33198         test-stat-time: port to mingw
33199         * tests/test-stat-time.c (force_unlink): Return a value.
33200         (test_ctime) [W32]: Fix compilation error.
33201         (nap): Don't call usleep with too large an argument.  Use
33202         force_unlink.
33203         * doc/pastposix-functions/usleep.texi (usleep): Document the
33204         portability issue.
33205
33206 2009-10-13  Jim Meyering  <meyering@redhat.com>
33207
33208         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33209         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33210         * modules/pipe-filter-ii: Likewise.
33211         * modules/sys_socket-tests: Likewise.
33212         * modules/tsearch-tests: Likewise.
33213         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33214         (check): Depend on it.
33215
33216 2009-10-12  Eric Blake  <ebb9@byu.net>
33217
33218         utimens-tests: port to NFS file systems
33219         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33220         comparisons to avoid spurious failures from timestamp drift
33221         between NFS machines.
33222
33223 2009-10-12  Eric Blake  <ebb9@byu.net>
33224
33225         stat-time-tests: minor cleanups
33226         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33227         * tests/test-stat-time.c (nap): Separate assignment from call.
33228         Suggested by Paolo Bonzini and Bruno Haible.
33229
33230         sys_stat: guarantee struct timespec
33231         * lib/sys_stat.in.h (includes): Always include <time.h>
33232         * modules/sys_stat (Depends-on): Add time.
33233         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33234         mode_t permission values.
33235         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33236         get at subsecond timestamps.
33237
33238 2009-10-10  Eric Blake  <ebb9@byu.net>
33239
33240         futimens: new module
33241         * modules/futimens: New file.
33242         * lib/futimens.c (futimens): Likewise.
33243         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33244         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33245         we can work around Linux bugs.
33246         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33247         * modules/sys_stat (Makefile.am): Substitute them.
33248         * lib/sys_stat.in.h (futimens): Declare it.
33249         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33250         * doc/posix-functions/futimens.texi (futimens): Likewise.
33251         * modules/futimens-tests: New test.
33252         * tests/test-futimens.c: Likewise.
33253
33254         utimens: introduce fdutimens
33255         * lib/utimens.h (fdutimens): New prototype.
33256         * lib/utimens.c (gl_futimens): Move guts...
33257         (fdutimens): ...to new interface.
33258         * tests/test-utimens.c (do_fdutimens): Use it.
33259
33260         utimens: add UTIME_NOW and UTIME_OMIT support
33261         * lib/utimens.c (validate_timespec, update_timespec): New helper
33262         functions.
33263         (gl_futimens, lutimens): Use them.
33264         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33265         stdbool, sys_stat.
33266         (Link): Mention resulting library dependency.
33267         * modules/utimecmp (Link): Likewise.
33268         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33269         (Makefile.am): Pick up library dependency.
33270         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33271         definition.
33272         * tests/test-sys_stat.c: Test the definitions.
33273         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33274         * NEWS: Document library dependency.
33275
33276         utimecmp: support symlink timestamps
33277         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33278         hashing when possible.  Use pathconf when available.
33279         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33280         * modules/utimecmp (Depends-on): Add lstat.
33281
33282         utimens: add lutimens interface
33283         * lib/utimens.c (lutimens): New function.
33284         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33285         * lib/utimens.h (lutimens): Declare new interface.
33286         * tests/test-utimens.c (main): Enhance test.
33287         * tests/test-lutimens.h (test_lutimens): New file.
33288         * modules/utimens-tests (Files): Distribute it.
33289         (Depends-on): Add symlink.
33290         (configure.ac): Check for usleep.
33291
33292         utimens: validate futimens usage
33293         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33294         fewer syscalls on failure later on.  Avoid compiler warning on
33295         mingw.
33296         * modules/utimens (Depends-on): Add dup2.
33297
33298         utimens: add test
33299         * modules/utimens-tests: New test.
33300         * tests/test-utimens.h: New file.
33301         * tests/test-futimens.h: Likewise.
33302         * tests/test-utimens.c: Likewise.
33303
33304         doc: mention timestamp portability issues
33305         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33306         instead.
33307         * doc/posix-functions/utime.texi (utime): Likewise.
33308         * doc/posix-functions/utimes.texi (utimes): Likewise.
33309         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33310         instead.
33311         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33312         module.
33313         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33314         Mention weakness with symlink timestamps.
33315         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33316         to utimensat/futimens instead.
33317         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33318
33319         test-dup2: enhance test
33320         * tests/test-dup2.c (main): Also check AT_FDCWD.
33321
33322         test-stat-time: avoid more spurious failures
33323         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33324         xfs; and avoid race if the two timestamps cross quantization edge.
33325
33326         relocatable: prefer 'file system' over 'filesystem'
33327         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33328         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33329         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33330         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33331         * lib/relocatable.c (compute_curr_prefix): Likewise.
33332
33333 2009-10-10  Jim Meyering  <meyering@redhat.com>
33334
33335         stat-time-tests: check for the usleep function
33336         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33337
33338 2009-10-10  Bruno Haible  <bruno@clisp.org>
33339
33340         * modules/xnanosleep: Put the Link section after the Include section.
33341
33342 2009-10-09  Eric Blake  <ebb9@byu.net>
33343
33344         dup2: work around FreeBSD 6.1 bug
33345         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33346         * doc/posix-functions/dup2.texi (dup2): Document it.
33347         Reported by Nelson H. F. Beebe and Jim Meyering.
33348
33349         test-stat-time: port to buggy NFS clients
33350         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33351         (test_ctime): Also skip test if mtime and ctime are skewed.
33352
33353         maint: prefer 'file system' over 'filesystem'
33354         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33355         * doc/posix-functions/lstat.texi (lstat): Likewise.
33356         * lib/file-has-acl.c (file_has_acl): Likewise.
33357         * lib/fwriteerror.c [TEST]: Likewise.
33358         * tests/test-areadlink.h (test_areadlink): Likewise.
33359         * tests/test-areadlinkat-with-size.c (main): Likewise.
33360         * tests/test-areadlinkat.c (main): Likewise.
33361         * tests/test-canonicalize-lgpl.c (main): Likewise.
33362         * tests/test-canonicalize.c (main): Likewise.
33363         * tests/test-fstatat.c (main): Likewise.
33364         * tests/test-linkat.c (main): Likewise.
33365         * tests/test-lstat.h (test_lstat_func): Likewise.
33366         * tests/test-mkdir.h (test_mkdir): Likewise.
33367         * tests/test-readlink.h (test_readlink): Likewise.
33368         * tests/test-remove.c (main): Likewise.
33369         * tests/test-rename.h (test_rename): Likewise.
33370         * tests/test-renameat.c (main): Likewise.
33371         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33372         * tests/test-symlink.h (test_symlink): Likewise.
33373         * tests/test-symlinkat.c (main): Likewise.
33374         * tests/test-unlink.h (test_unlink_func): Likewise.
33375         * tests/test-unlinkat.c (main): Likewise.
33376
33377         maint: make realtime library usage explicit
33378         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33379         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33380         * modules/settime (Link): Likewise.
33381         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33382
33383         test-stat-time: speed up execution
33384         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33385         warning on mingw.
33386         (nap): New helper function.
33387         (prepare_test): Use it to reduce sleep time.
33388         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33389         execution.
33390         * modules/stat-time-tests (configure.ac): Check for usleep.
33391
33392 2009-10-09  Jim Meyering  <meyering@redhat.com>
33393
33394         selinux-h: always use getfilecon wrappers
33395         * lib/getfilecon.c: New file.
33396         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33397         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33398         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33399         (fgetfilecon): Provide a stub.
33400         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33401         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33402         file unconditionally.
33403         When <selinux/selinux.h> is found, arrange to use wrappers.
33404         * modules/selinux-h (Files): Add getfilecon.c.
33405         (Makefile.am): Substitute include-next-related bits
33406         into the now-always-generated selinux/selinux.h file.
33407         * doc/glibc-functions/lgetfilecon.texi: New file.
33408         * doc/glibc-functions/fgetfilecon.texi: New file.
33409         * doc/glibc-functions/getfilecon.texi: New file.
33410         * doc/glibc-functions/getfilecon-desc.texi: New file.
33411         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33412         which to pull in the new files.
33413         * MODULES.html.sh (Misc): Add selinux-h.
33414
33415 2009-10-08  Jim Meyering  <meyering@redhat.com>
33416
33417         unistd: fix comment typo
33418         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33419
33420 2009-10-08  Eric Blake  <ebb9@byu.net>
33421
33422         areadlink: use SIZE_MAX consistently
33423         * modules/areadlink (Depends-on): Add stdint.
33424         * modules/areadlink-with-size (Depends-on): Likewise.
33425         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33426         gives NULL; drop sys/types, since unistd gives size_t; and add
33427         stdint for SIZE_MAX.
33428         (SIZE_MAX): Rely on headers.
33429         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33430         and add stdint.
33431         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33432         (SIZE_MAX): Likewise.
33433         (INITIAL_BUF_SIZE): Turn into enum.
33434         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33435
33436 2009-10-08  Jim Meyering  <meyering@redhat.com>
33437
33438         areadlinkat: avoid compilation failure
33439         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33440         Fix typo in comment.
33441
33442 2009-10-07  Eric Blake  <ebb9@byu.net>
33443
33444         areadlinkat-with-size: new module
33445         * modules/areadlinkat-with-size: New module.
33446         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33447         * lib/areadlink.h (areadlinkat): Declare it.
33448         * MODULES.html.sh (File system functions): Mention it.
33449         * modules/areadlinkat-with-size-tests: New test.
33450         * tests/test-areadlinkat-with-size.c: New file.
33451
33452         xreadlinkat: new module
33453         * modules/xreadlinkat: New module.
33454         * lib/xreadlinkat.c (xreadlinkat): New file.
33455         * lib/xreadlink.h (xreadlinkat): Declare it.
33456         * MODULES.html.sh (File system functions): Mention it.
33457
33458         areadlinkat: new module
33459         * lib/at-func.c (FUNC_FAIL): New define.
33460         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33461         * modules/areadlinkat: New module.
33462         * lib/linkat.c (areadlinkat): Move...
33463         * lib/areadlinkat.c (areadlinkat): ...to new file.
33464         * lib/areadlink.h (areadlinkat): Declare it.
33465         * modules/linkat (Depends-on): Add areadlinkat.
33466         * MODULES.html.sh (File system functions): Mention it.
33467         * modules/areadlinkat-tests: New test.
33468         * tests/test-areadlinkat.c: New file.
33469
33470         areadlink, areadlink-with-size: add tests
33471         * modules/areadlink-tests: New test.
33472         * modules/areadlink-with-size-tests: Likewise.
33473         * tests/test-areadlink.h: New file.
33474         * tests/test-areadlink.c: Likewise.
33475         * tests/test-areadlink-with-size.c: Likewise.
33476
33477         maint: minor cleanups
33478         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
33479         _UNUSED_PARAMETER_ instead.
33480         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
33481         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
33482         * modules/linkat-tests (Files): Distribute test-link.h.
33483
33484         openat, utimens: whitespace cleanup
33485         * lib/openat.c: Prefer space throughout, rather than mix of 8
33486         spaces vs. tabs.
33487         * lib/at-func.c: Likewise.
33488         * lib/utimens.c: Likewise.
33489
33490         openat: avoid using wrong fd
33491         * lib/openat.c (openat_permissive): Reject user's fd if saving the
33492         working directory chooses same fd.
33493         * lib/at-func.c (AT_FUNC_NAME): Likewise.
33494
33495         mkdir, mkdirat: fix cygwin 1.5.x bug
33496         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
33497         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
33498         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
33499         bug.
33500         (gl_PREREQ_MKDIR): Delete unused macro.
33501         * modules/mkdir (Files): Track file rename.
33502         (configure.ac): Update macro name.
33503         * modules/openat (Depends-on): Add mkdir.
33504         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
33505
33506         mkdir, mkdirat: add tests
33507         * modules/mkdir-tests: New test.
33508         * tests/test-mkdir.h: New file.
33509         * tests/test-mkdir.c: Likewise.
33510         * tests/test-mkdirat.c: Likewise.
33511         * modules/openat-tests (Files): Add new files.
33512         (Makefile.am): Run new test.
33513
33514 2009-10-06  Eric Blake  <ebb9@byu.net>
33515
33516         doc: tweak *at function documentation
33517         * doc/posix-functions/faccessat.texi (faccessat): Mention
33518         known issue with replacement.
33519         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
33520         * doc/posix-functions/linkat.texi (linkat): Likewise.
33521         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33522         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33523         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33524         * doc/posix-functions/renameat.texi (renameat): Likewise.
33525         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33526
33527         openat: fix GNU/Hurd bug in unlinkat
33528         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
33529         broken.
33530         * doc/posix-functions/unlink.texi (unlink): Document this.
33531         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
33532
33533         fdopendir: fix GNU/Hurd bug
33534         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
33535         allowing non-directory fds.
33536         * lib/fdopendir.c (rpl_fdopendir): Work around it.
33537         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33538         * modules/dirent (Makefile.am): Substitute it.
33539         * lib/dirent.in.h (fdopendir): Declare replacement.
33540         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
33541         * tests/test-fdopendir.c (main): Test something other than
33542         /dev/null, since on Hurd that behaves like a directory.
33543
33544         test-symlink: port to GNU/Hurd
33545         * tests/test-symlink.h (test_symlink): Relax expected errno.
33546
33547         doc: tweak more cygwin information
33548         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
33549         now compatible with glibc.
33550         * doc/posix-functions/getopt.texi (getopt): Likewise.
33551
33552         getopt-gnu: add another test
33553         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
33554         guarantee behavior relied on by m4.
33555         * tests/test-getopt.c (main): Use it.
33556         * modules/getopt-posix-tests (Depends-on): Add setenv.
33557         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
33558
33559         getopt: fix compilation on darwin
33560         * lib/getopt.in.h (includes): Leave breadcrumbs during system
33561         include.
33562         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
33563         Reported by Ludovic Courtès.
33564
33565 2009-10-06  Bruno Haible  <bruno@clisp.org>
33566
33567         * modules/size_max (Description): Discourage its use.
33568         Reported by Simon Josefsson.
33569
33570 2009-10-06  Jim Meyering  <meyering@redhat.com>
33571
33572         linkat: avoid compilation failure
33573         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
33574
33575 2009-10-05  Eric Blake  <ebb9@byu.net>
33576
33577         linkat: support Linux 2.6.17
33578         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
33579         linkat on Linux, but allow cache variable override.
33580         * lib/linkat.c (rpl_linkat): Define override.
33581         * modules/linkat (Depends-on): Add symlinkat.
33582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
33583         * modules/unistd (Makefile.am): Substitute it.
33584         * lib/unistd.in.h (linkat): Declare replacement.
33585         Reported by Pádraig Brady.
33586
33587         quotearg: port test to systems with C.UTF-8 locale
33588         * tests/test-quotearg.c (struct result_strings): Add another
33589         member, differentiating between C.ASCII and C.UTF-8 handling.
33590         (compare_strings): Add parameter.
33591         (main): Adjust all callers.
33592
33593         getopt: avoid clash with FreeBSD _getopt_internal
33594         * lib/getopt.in.h (_getopt_internal): Override the name.
33595         * lib/getopt_int.h (includes): Pick up any overrides.
33596         Reported by Reuben Thomas.
33597
33598         hash: allow C89 compilation
33599         * lib/hash.c (check_tuning): Move declaration before statement.
33600         Reported by Reuben Thomas.
33601
33602 2009-10-05  Karl Berry  <karl@gnu.org>
33603
33604         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
33605
33606 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
33607             Bruno Haible  <bruno@clisp.org>
33608
33609         * lib/uname.c (uname): Use a table-driven algorithm to compute
33610         Windows NT versions.
33611
33612 2009-10-04  Bruno Haible  <bruno@clisp.org>
33613
33614         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
33615         program_invocation_short_name.
33616         * modules/progname (configure.ac): Test for presence of
33617         program_invocation_short_name.
33618         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33619
33620 2009-10-04  Bruno Haible  <bruno@clisp.org>
33621
33622         * lib/progname.c (set_program_name): Fix comment.
33623         Reported by Jim Meyering.
33624
33625 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33626             Bruno Haible  <bruno@clisp.org>
33627
33628         * lib/uname.c: Include <string.h>.
33629         (uname): Do only one call to GetVersionEx in the common case.
33630
33631 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33632             Bruno Haible  <bruno@clisp.org>
33633
33634         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
33635         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
33636         (uname): Add support for Windows CE and various non-x86 CPU types.
33637
33638 2009-10-03  Bruno Haible  <bruno@clisp.org>
33639
33640         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
33641         invocation to tests/configure.ac.
33642         Reported by Ian Beckwith <ianb@erislabs.net>.
33643
33644 2009-10-02  Eric Blake  <ebb9@byu.net>
33645
33646         fchdir: avoid compiler warning
33647         * lib/fchdir.c (canonicalize_file_name)
33648         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
33649
33650         test-open: support mingw errno values
33651         * tests/test-open.h (test_open): Relax test.
33652         * tests/test-fopen.h (test_fopen): Likewise.
33653         * tests/test-openat-safer.c (main): Likewise.
33654
33655         open: fix opening directory on mingw
33656         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
33657
33658         test-open: on GNU/Hurd, /dev/null is a directory
33659         * tests/test-fopen.h (main): Rename...
33660         (test_fopen): ...to this.  Use a guaranteed non-directory when
33661         confirming open behavior on trailing slash.
33662         * tests/test-openat-safer.c (main): Likewise.
33663         * tests/test-open.h (main): Likewise....
33664         (test_open): ...to this.
33665         * tests/test-fopen.c (main): Adjust caller.
33666         * tests/test-fopen-safer.c (main): Likewise.
33667         * tests/test-open.c (main): Likewise.
33668         * tests/test-fcntl-safer.c (main): Likewise.
33669         Reported by Samuel Thibault.
33670
33671         rename, fchdir: don't ignore chdir failure
33672         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
33673         * lib/rename.c (rpl_rename) [W32]: Likewise.
33674         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
33675         an empty destination directory if source cannot be renamed,
33676         although there is still possibility for failure.
33677         * doc/posix-functions/rename.texi (rename): Document the race.
33678         Reported by Jim Meyering.
33679
33680         maint: cleanup whitespace in recent commits
33681         * lib/rename.c (rpl_rename): Remove tabs.
33682         * tests/test-link.h (test_link): Likewise.
33683         * lib/fchdir.c (get_name): Likewise.
33684         Reported by Jim Meyering.
33685
33686 2009-10-02  Ben Pfaff  <blp@gnu.org>
33687
33688         relocatable-prog-wrapper: Add missing dependency on
33689         double-slash-root.
33690         * modules/relocatable-prog-wrapper: Add dependency.
33691         Reported by Ian Beckwith <ianb@erislabs.net>.
33692
33693 2009-10-02  Eric Blake  <ebb9@byu.net>
33694
33695         renameat: fix Solaris bugs
33696         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
33697         needed fixing.
33698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
33699         * modules/stdio (Makefile.am): Substitute it.
33700         * lib/stdio.in.h (renameat): Declare replacement.
33701         * lib/renameat.c (rpl_renameat): Implement fix.
33702
33703         renameat: new module
33704         * modules/renameat: New file.
33705         * lib/renameat.c (renameat): Likewise.
33706         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
33707         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
33708         * modules/stdio (Makefile.am): Substitute them.
33709         * lib/stdio.in.h (renameat): Declare it.
33710         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33711         * doc/posix-functions/renameat.texi (renameat): Likewise.
33712         * modules/renameat-tests: New test.
33713         * tests/test-renameat.c: Likewise.
33714
33715         rename: fix mingw bugs
33716         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
33717         directory overwrite bugs.
33718
33719         rename: fix another cygwin 1.5 bug
33720         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
33721         checks.
33722         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
33723         unnecessary cygwin workarounds.  Also work around bug with moving
33724         full directory onto an empty one.
33725         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
33726
33727         rename-dest-slash: merge into rename module
33728         * modules/rename-dest-slash (Status): Mark obsolete.
33729         (Depends-on): Add rename.
33730         (Files): Let rename do it all.
33731         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
33732         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
33733         * m4/rename-dest-slash.m4: ...so this file can be deleted.
33734         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
33735         * lib/rename.c (rpl_rename): Update comments.
33736
33737         rename: fix cygwin 1.5.x bugs
33738         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
33739         * lib/rename.c (rpl_rename): Work around them.
33740         * modules/rename (Depends-on): Add same-inode.
33741
33742         rename: fix Solaris 10 bug
33743         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
33744         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
33745         was the only bug.
33746
33747         rename: fix Solaris 9 bug
33748         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
33749         on non-directory.  Avoid calling exit.
33750         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
33751         strdup.
33752         * modules/rename-tests (Depends-on): Drop lstat.
33753         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
33754         (gl_PREREQ_RENAME): Delete unused macro.
33755
33756         rename-dest-slash: fix NetBSD bug
33757         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
33758         links.
33759         * modules/rename-dest-slash (Depends-on): Add same-inode.
33760
33761         rename-tests: new test, exposes several platform bugs
33762         * modules/rename-tests: New file.
33763         * tests/test-rename.h: Likewise.
33764         * tests/test-rename.c: Likewise.
33765         * doc/posix-functions/rename.texi (rename): Improve documentation,
33766         including bugs that will eventually be fixed in gnulib.
33767
33768 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
33769
33770         * lib/uname.c: Include <stdlib.h>
33771         (uname): Assume version info is available.
33772
33773 2009-10-02  Jim Meyering  <meyering@redhat.com>
33774
33775         gnu-web-doc-update: correct --help output
33776         * build-aux/gnu-web-doc-update: Make --help output relevant.
33777
33778         gnu-web-doc-update: add standard options
33779         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
33780
33781         gnu-web-doc-update: New module.
33782         Use this script to automatically update the on-line web documentation
33783         for your GNU project at http://www.gnu.org/software/$pkg/manual/
33784         * modules/gnu-web-doc-update: New file, from coreutils.
33785         * build-aux/gnu-web-doc-update: New script.
33786
33787 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
33788
33789         link: LoadLibrary is not needed.
33790         * lib/link.c: Use GetModuleHandle.
33791
33792 2009-10-01  Eric Blake  <ebb9@byu.net>
33793
33794         getopt: bump serial number
33795         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
33796         change.
33797
33798         tests: tighten link, rmdir, and remove tests
33799         * tests/test-link.h (includes): No need to use <config.h> here.
33800         Clean up if directory hard link was created, otherwise test for
33801         trailing '.'.
33802         * tests/test-linkat.c (main): Simplify.
33803         * tests/test-remove.c (main): Enhance test for trailing '.'.
33804         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33805
33806 2009-10-01  Jim Meyering  <meyering@redhat.com>
33807
33808         maint.mk: requiring "make major" was annoying, for a "minor" release.
33809         What is intended is "stable", to contrast with alpha and beta,
33810         so require "make stable", not "make major".
33811         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
33812         (get_tool_versions): Likewise.
33813         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
33814
33815 2009-09-30  Ben Pfaff  <blp@gnu.org>
33816
33817         Fix broken build of replacement for Windows tmpfile().
33818         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
33819         flags argument added along with the 'mkostemp' module.
33820
33821 2009-09-28  Bruno Haible  <bruno@clisp.org>
33822
33823         Avoid identifier clash with POSIX function 'remove' defined as a macro.
33824         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
33825         to 'remove_elt'.
33826         (gl_list_remove): Update.
33827         * lib/gl_list.c (gl_list_remove): Update.
33828         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
33829         to 'remove_elt'.
33830         (gl_oset_remove): Update.
33831         * lib/gl_list.c (gl_oset_remove): Update.
33832         Reported by Eric Blake.
33833
33834 2009-09-28  Eric Blake  <ebb9@byu.net>
33835
33836         doc: mention yet more cygwin 1.7 status
33837         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
33838         cygwin.
33839         * doc/glibc-functions/execvpe.texi (execvpe): New file.
33840         * doc/gnulib.texi (Glibc unistd.h): Mention it.
33841
33842         argp: fix test failure
33843         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
33844         that are not upper-case.  Pass correct range to tolower.
33845
33846 2009-09-27  Jim Meyering  <meyering@redhat.com>
33847
33848         test-yesno: work around sparc-dash here-document infelicity
33849         Without this change, the literal \177 byte in a here document
33850         would make dash 0.5.5.1-3 access uninitialized memory.
33851         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
33852         Instead, use a marker, "@", and filter through tr to create the desired
33853         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
33854
33855 2009-09-27  Bruno Haible  <bruno@clisp.org>
33856
33857         Disable untested support for new flavours of ACLs on AIX.
33858         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
33859         progress.
33860         * lib/set-mode-acl.c (qset_acl): Likewise.
33861
33862 2008-12-07  Bruno Haible  <bruno@clisp.org>
33863
33864         Add support for new flavours of ACLs on AIX. (Untested.)
33865         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
33866         (file_has_acl): Add support for newer AIX.
33867         * lib/set-mode-acl.c (qset_acl): Likewise.
33868         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
33869         Rainer Tammer <tammer@tammer.net>.
33870
33871 2009-09-26  Eric Blake  <ebb9@byu.net>
33872
33873         argp: fix compilation of getopt
33874         * lib/getopt.in.h (includes): Use different guard than glibc.
33875         Reported by Sergey Poznyakoff.
33876
33877         doc: mention more cygwin 1.7 status
33878         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
33879         bug.
33880         * doc/posix-functions/execl.texi (execl): Likewise.
33881         * doc/posix-functions/execle.texi (execle): Likewise.
33882         * doc/posix-functions/execlp.texi (execlp): Likewise.
33883         * doc/posix-functions/execv.texi (execv): Likewise.
33884         * doc/posix-functions/execve.texi (execve): Likewise.
33885         * doc/posix-functions/execvp.texi (execvp): Likewise.
33886         * doc/glibc-functions/canonicalize_file_name.texi
33887         (canonicalize_file_name): Cygwin 1.7 now provides this.
33888         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
33889         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
33890         on AT_SYMLINK_NOFOLLOW.
33891
33892 2009-09-24  Eric Blake  <ebb9@byu.net>
33893
33894         test-linkat: make test more robust
33895         * tests/test-linkat.c (main): Avoid collision with EEXIST.
33896
33897         getopt: fix inclusion guards for cygwin
33898         * modules/getopt-posix (Depends-on): Add include-next.
33899         (Makefile.am): Substitute more items in replacement header.
33900         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
33901         <getopt.h>.
33902         * lib/getopt.in.h (includes): Use split inclusion guard, and
33903         prefer <getopt.h> over include <unistd.h> when one is present.
33904         (option): Also override name of 'struct option'.
33905
33906         same-inode: revert prior change; it is not yet ready
33907         * NEWS: Undo mention of this change.
33908         * lib/same-inode.h (same-inode.h): Undo tri-state change.
33909         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
33910         * lib/cycle-check.c (cycle_check): Likewise.
33911         * lib/same.c (same_name): Likewise.
33912         * lib/at-func2.c (at_func2): Likewise.
33913
33914 2009-09-23  Eric Blake  <ebb9@byu.net>
33915
33916         linkat: new module
33917         * modules/linkat: New file.
33918         * lib/at-func2.c (at_func2): Likewise.
33919         * lib/linkat.c (linkat): Likewise.
33920         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
33921         * lib/openat-priv.h (at_func2): Add declaration.
33922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
33923         * modules/unistd (Makefile.am): Substitute them.
33924         * lib/unistd.in.h (linkat): Declare it.
33925         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33926         * doc/posix-functions/linkat.texi (linkat): Likewise.
33927         * doc/posix-functions/link.texi (link): Tweak wording.
33928         * tests/test-link.c (main): Move guts...
33929         * tests/test-link.h (test_link): ...into new file.
33930         * modules/linkat-tests: New test.
33931         * tests/test-linkat.c: Likewise.
33932         * modules/link-tests (Files): Ship new file.
33933         (Depends-on): Add stdbool.
33934
33935         dirname: add library-safe mdir_name
33936         * lib/dirname.h (mdir_name): New prototype.
33937         * lib/dirname.c (dir_name): Move guts...
33938         (mdir_name): ...to new function that avoids xalloc_die.
33939
33940         fchdir: another mingw fix
33941         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
33942         * lib/fchdir.c (get_name): New helper method; skips canonicalize
33943         on mingw (where it has not yet been ported), and make it optional
33944         elsewhere.
33945         (_gl_register_fd): Use it.
33946
33947         same-inode: make SAME_INODE tri-state, to port to mingw
33948         * NEWS: Mention this change.
33949         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
33950         st_ino always being 0.
33951         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
33952         * lib/cycle-check.c (cycle_check): Likewise.
33953         * lib/same.c (same_name): Likewise.
33954
33955         lstat: avoid mingw compilation error
33956         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
33957         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
33958         lstat ourselves.
33959         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
33960         was adequate.
33961         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
33962         the checks for lstat.
33963         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
33964
33965         link: fix test failure on Solaris 9
33966         * lib/link.c (rpl_link): Don't assume link will catch bogus
33967         trailing slash on source.
33968
33969         test-symlinkat: enhance test
33970         * tests/test-readlink.c (main): Move guts...
33971         * tests/test-readlink.h (test_readlink): ...into new file.
33972         * tests/test-symlink.c (main): Move guts...
33973         * tests/test-symlink.h (test_symlink): ...into new file.
33974         * tests/test-symlinkat.c (main): Use new files for further
33975         coverage.
33976         (do_symlink, do_readlink): New helper functions.
33977         * modules/symlink-tests (Files): Ship new file.
33978         (Depends-on): Add stdbool.
33979         * modules/readlink-tests (Files): Ship new file.
33980         (Depends-on): Add stdbool.
33981         * modules/symlinkat-tests (Files): Use new files.
33982
33983 2009-09-23  Eric Blake  <ebb9@byu.net>
33984
33985         readlink: document portability issue with symlink length
33986         * doc/posix-functions/lstat.texi (lstat): Mention that some file
33987         systems have bogus st_size on symlinks, and mention the
33988         areadlink-with-size module.
33989         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33990         * doc/posix-functions/readlink.texi (readlink): Mention the
33991         areadlink module, and ERANGE failure.
33992         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33993         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
33994
33995         readlink: fix Solaris 9 bug with trailing slash
33996         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
33997         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
33998         * doc/posix-functions/readlink.texi (readlink): Document this.
33999         * modules/readlink-tests: New test.
34000         * tests/test-readlink.c: Likewise.
34001
34002         readlink: fix cygwin 1.5.x bug with return type
34003         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34004         * lib/unistd.in.h (readlink): Use ssize_t.
34005         * lib/readlink.c (readlink): Likewise.
34006         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34007         * modules/unistd (Makefile.am): Substitute it.
34008         * lib/unistd.in.h (readlink): Declare replacement.
34009         * doc/posix-functions/readlink.texi (readlink): Document this.
34010
34011         symlink: use throughout gnulib
34012         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34013         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34014         symlink is not used.
34015         * modules/symlinkat (Depends-on): Add symlink.
34016         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34017         * modules/canonicalize-tests (Depends-on): Likewise.
34018         * modules/lstat-tests (Depends-on): Likewise.
34019         * modules/openat-tests (Depends-on): Likewise.
34020         * modules/remove-tests (Depends-on): Likewise.
34021         * modules/rmdir-tests (Depends-on): Likewise.
34022         * modules/unlink-tests (Depends-on): Likewise.
34023         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34024         * tests/test-canonicalize.c (symlink): Likewise.
34025         * tests/test-fstatat.c (symlink): Likewise.
34026         * tests/test-lstat.c (symlink): Likewise.
34027         * tests/test-remove.c (symlink): Likewise.
34028         * tests/test-rmdir.c (symlink): Likewise.
34029         * tests/test-unlink.c (symlink): Likewise.
34030         * tests/test-unlinkat.c (symlink): Likewise.
34031
34032         symlink: new module, for Solaris 9 bug
34033         * modules/symlink: New file.
34034         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34035         * lib/symlink.c: Likewise.
34036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34037         * modules/unistd (Makefile.am): Substitute them.
34038         * lib/unistd.in.h (symlink): Declare replacement.
34039         * MODULES.html.sh (File system functions): Mention it.
34040         * doc/posix-functions/symlink.texi (symlink): Likewise.
34041         * modules/symlink-tests: New test.
34042         * tests/test-symlink.c: Likewise.
34043
34044 2009-09-23  Bruno Haible  <bruno@clisp.org>
34045
34046         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34047         when needed.
34048         Test case: gnulib-tool --import --with-tests atexit inttypes.
34049         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34050
34051 2009-09-23  Bruno Haible  <bruno@clisp.org>
34052
34053         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34054         subcommand, not in a subshell.
34055
34056 2009-09-22  Eric Blake  <ebb9@byu.net>
34057
34058         unistd: sort replacement declarations
34059         * lib/unistd.in.h: Sort declarations.
34060
34061         open, openat: minor optimization
34062         * lib/open.c (open): If open succeeded, len is non-zero.
34063         * lib/openat.c (rpl_openat): Likewise.
34064
34065         link-follow: ensure correct result
34066         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34067         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34068         distinguish between possible failures.
34069
34070 2009-09-21  Eric Blake  <ebb9@byu.net>
34071
34072         fts: avoid compiler warning
34073         * lib/fts.c (dirent_inode_sort_may_be_useful)
34074         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34075
34076 2009-09-19  Bruno Haible  <bruno@clisp.org>
34077
34078         * lib/progreloc.c (canonicalize_file_name): New declaration.
34079
34080 2009-09-19  Eric Blake  <ebb9@byu.net>
34081
34082         link: fix quoting
34083         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34084
34085         openat: fix openat bugs on Solaris 9
34086         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34087         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34088         * modules/openat (Depends-on): Add open.
34089         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34090         * modules/fcntl-h (Makefile.am): Substitute it.
34091         * lib/fcntl.in.h (openat): Declare replacement.
34092         * doc/posix-functions/openat.texi (openat): Document this.
34093
34094         openat: move fstatat and unlinkat into correct files
34095         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34096         compiled.
34097         * lib/openat.c (fstatat, unlinkat): Move...
34098         * lib/fstatat.c (fstatat): ...into correct files.
34099         * lib/unlinkat.c (unlinkat): Likewise.
34100
34101         openat: fix unlinkat bugs on Solaris 9
34102         * lib/unlinkat.c (unlinkat): New file.
34103         * modules/openat (Depends-on): Add unlink.
34104         (Files): Distribute it.
34105         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34106         trailing slash behavior is broken.
34107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34108         * modules/unistd (Makefile.am): Substitute it.
34109         * lib/unistd.in.h (unlinkat): Declare replacement.
34110         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34111
34112         openat: fix fstatat bugs on Solaris 9
34113         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34114         stat.
34115         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34116
34117         test-unlinkat: enhance test, to expose Solaris 9 bug
34118         * tests/test-unlink.c (main): Factor guts...
34119         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34120         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34121         * tests/test-rmdir.c (main): Adjust caller.
34122         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34123         (unlinker): New helper function.
34124         (rmdirat): Enhance check.
34125         * modules/rmdir-tests (Depends-on): Add stdbool.
34126         * modules/unlink-tests (Depends-on): Likewise.
34127         (Files): Add test-unlink.h.
34128         * modules/openat-tests (Files): Likewise.
34129         (Depends-on): Add unlinkdir.
34130
34131         test-fstatat: new test, to expose Solaris 9 bugs
34132         * tests/test-stat.c (main): Factor guts...
34133         * tests/test-stat.h (test_stat_func): ...into new file.
34134         * tests/test-lstat.c (main): Factor guts...
34135         * tests/test-lstat.h (test_lstat_func): ...into new file.
34136         * tests/test-fstatat.c: New file.
34137         * modules/stat-tests (Files): Add test-stat.h.
34138         * modules/lstat-tests (Files): Add test-lstat.h.
34139         (Depends-on): Add stdbool.
34140         * modules/openat-tests (Depends-on): Add pathmax.
34141         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34142         (Makefile.am): Run new test.
34143
34144         remove: new module, for mingw and Solaris 9 bugs
34145         * modules/remove: New file.
34146         * lib/remove.c: Likewise.
34147         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34148         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34149         * modules/stdio (Makefile.am): Use them.
34150         * lib/stdio.in.h (remove): Declare replacement.
34151         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34152         * doc/posix-functions/remove.texi (remove): Likewise.
34153         * modules/remove-tests: New test.
34154         * tests/test-remove.c: Likewise.
34155
34156         unlink: new module, for Solaris 9 bug
34157         * modules/unlink: New file.
34158         * lib/unlink.c: Likewise.
34159         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34161         * modules/unistd (Makefile.am): Use them.
34162         * lib/unistd.in.h (stat): Declare replacement.
34163         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34164         * doc/posix-functions/unlink.texi (unlink): Likewise.
34165         * modules/unlink-tests: New test.
34166         * tests/test-unlink.c: Likewise.
34167
34168         lstat: fix Solaris 9 bug
34169         * lib/lstat.c (lstat): Also check for trailing slash on
34170         non-symlink, non-directories.  Use stat module to simplify logic.
34171         * doc/posix-functions/lstat.texi (lstat): Document it.
34172         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34173         (configure.ac): Check for symlink.
34174         * tests/test-lstat.c (main): Add more tests.
34175
34176         stat: add as dependency to other modules
34177         * modules/chown (Depends-on): Add stat.
34178         * modules/euidaccess (Depends-on): Likewise.
34179         * modules/fchdir (Depends-on): Likewise.
34180         * modules/isdir (Depends-on): Likewise.
34181         * modules/link (Depends-on): Likewise.
34182         * modules/lstat (Depends-on): Likewise.
34183         * modules/mkdir-p (Depends-on): Likewise.
34184         * modules/modechange (Depends-on): Likewise.
34185         * modules/open (Depends-on): Likewise.
34186         * modules/readlink (Depends-on): Likewise.
34187         * modules/same (Depends-on): Likewise.
34188
34189         stat: fix Solaris 9 bug
34190         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34191         slash.
34192         * lib/stat.c (rpl_stat): Work around it.
34193         * doc/posix-functions/stat.texi (stat): Update documentation.
34194
34195         stat: new module, for mingw bug
34196         * modules/stat: New file.
34197         * lib/stat.c: Likewise.
34198         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34199         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34200         * modules/sys_stat (Makefile.am): Use them.
34201         * lib/sys_stat.in.h (stat): Declare replacement.
34202         * lib/openat.c (fstatat): Deal with lstat and stat being function
34203         macros.
34204         * modules/openat (Depends-on): Add inline.
34205         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34206         * doc/posix-functions/stat.texi (stat): Likewise.
34207         * modules/stat-tests: New test.
34208         * tests/test-stat.c: Likewise.
34209
34210 2009-09-19  Jim Meyering  <meyering@redhat.com>
34211
34212         syntax-check: detect unnecessary inclusion of canonicalize.h
34213         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34214
34215 2009-09-19  Eric Blake  <ebb9@byu.net>
34216
34217         canonicalize-lgpl: adjust clients to use correct header
34218         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34219         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34220         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34221         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34222         * lib/progreloc.c (includes): Likewise.
34223
34224 2009-09-19  Jim Meyering  <meyering@redhat.com>
34225
34226         test-posixtm.c: correct a comment
34227         * tests/test-posixtm.c: Correct first-line comment.
34228         Spotted by Eric Blake.
34229
34230 2009-09-16  Jim Meyering  <meyering@redhat.com>
34231
34232         posixtm-tests: make T const-correct; add a test case
34233         * tests/test-posixtm.c (T): Declare const.
34234         Add a test for -(2^31+1).
34235         Remove useless can-succeed-only-in-2002 test.
34236
34237         posixtm-tests: adjust the sole failing test
34238         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34239         expected output matches what mktime now produces.  Cross-checked via
34240         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34241
34242         posixtm: move #ifdef'd tests into a new module
34243         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34244         * tests/test-posixtm.c: ... this new file.
34245         * modules/posixtm-tests: New module.
34246
34247 2009-09-19  Eric Blake  <ebb9@byu.net>
34248
34249         openat: simplify use of at-func.c
34250         * lib/at-func.c (includes): Include prerequisites here, to
34251         simplify requirements on client files.
34252         * lib/openat-priv.h: Add double-inclusion guard.
34253         * lib/faccessat.c (includes): Simplify.
34254         * lib/fchmodat.c (includes): Likewise.
34255         * lib/fchownat.c (includes): Likewise.
34256         * lib/mkdirat.c (includes): Likewise.
34257         * lib/mkfifoat.c (includes): Likewise.
34258         * lib/symlinkat.c (includes): Likewise.
34259
34260         openat: allow return of fd 0
34261         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34262         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34263         unistd-safer.
34264         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34265         <fcntl.h>; this module does not leak fds.
34266         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34267         must be allowed to return 0, leaving openat_safer to add the
34268         safety.
34269         (openat_permissive): Avoid writing to just-opened fd 2 if
34270         restoring the current directory fails.
34271         * lib/openat-die.c (openat_restore_fail): Add comment.
34272         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34273         (save_cwd): Guarantee safe fd, but without use of open_safer.
34274         * tests/test-openat.c: New test.
34275         * modules/openat-tests (Files, Makefile.am): Distribute and build
34276         new file.
34277
34278         relocatable-prog-wrapper: fix build
34279         * modules/relocatable-prog-wrapper (Files): Update name of
34280         canonicalize m4 file, broken on 2009-09-17.
34281         Reported by emad hajjar <aleppos@hotmail.com>.
34282
34283 2009-09-19  Bruno Haible  <bruno@clisp.org>
34284
34285         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34286         * lib/safe-alloc.c: Likewise.
34287         Reported by Ian Beckwith <ianb@erislabs.net>.
34288
34289 2009-09-18  Bruno Haible  <bruno@clisp.org>
34290
34291         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34292         Reported by <erobles@sensacd.com.mx>.
34293
34294 2009-09-17  Eric Blake  <ebb9@byu.net>
34295
34296         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34297         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34298         slashes when checking if last component is missing.
34299         * tests/test-canonicalize.c (main): Test this.
34300
34301         canonicalize, canonicalize-lgpl: honor // if distinct from /
34302         * modules/canonicalize (Files): Add double-slash-root.m4.
34303         * modules/canonicalize-lgpl (Files): Likewise.
34304         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34305         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34306         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34307         fallback definition.
34308         (canonicalize_filename_mode): Use it to protect //.
34309         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34310         (__realpath): Likewise.
34311         * tests/test-canonicalize.c (main): Test this.
34312         * tests/test-canonicalize-lgpl.c (main): Likewise.
34313         * modules/canonicalize-tests (Depends-on): Add same-inode.
34314         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34315
34316         canonicalize-lgpl: fix glibc bug with trailing slash
34317         * m4/canonicalize-lgpl.m4: Move contents...
34318         * m4/canonicalize.m4: ...here.
34319         (gl_CANONICALIZE_LGPL): Factor realpath check...
34320         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34321         glibc 2.3.5 bug, fixed 2005-04-27.
34322         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34323         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34324         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34325         * modules/canonicalize-lgpl (Files): Manage file rename.
34326         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34327         * modules/stdlib (Makefile.am): Substitute witness.
34328         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34329         is needed.
34330         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34331         replacement is required.
34332         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34333         * doc/glibc-functions/canonicalize_file_name.texi
34334         (canonicalize_file_name): Document this.
34335         * doc/posix-functions/realpath.texi (realpath): Likewise.
34336
34337         canonicalize-lgpl: reject non-directory with trailing slash
34338         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34339         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34340         catches failures in glibc 2.3.5.
34341         * tests/test-canonicalize.c (main): Likewise.
34342
34343         canonicalize-lgpl: use native realpath if it works
34344         * lib/canonicalize-lgpl.c (realpath): Guard with
34345         FUNC_REALPATH_WORKS.
34346         * lib/stdlib.in.h (realpath): Make declaration optional based on
34347         HAVE_REALPATH.
34348         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34349         native realpath works.
34350         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34351         * modules/stdlib (Makefile.am): Substitute witness.
34352
34353         canonicalize, canonicalize-lgpl: use <stdlib.h>
34354         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34355         (Include): Mention <stdlib.h>.
34356         (configure.ac): Mention functions we provide.
34357         * modules/canonicalize (configure.ac): Likewise.
34358         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34359         realpath if canonicalize_file_name is missing.
34360         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34361         * modules/stdlib (Makefile.am): Substitute witnesses.
34362         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34363         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34364         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34365         * NEWS: Document this.
34366         * doc/glibc-functions/canonicalize_file_name.texi
34367         (canonicalize_file_name): Likewise.
34368         * doc/posix-functions/realpath.texi (realpath): Likewise.
34369         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34370
34371         test-canonicalize: consolidate into single C program
34372         * tests/test-canonicalize.sh: Delete; move setup into...
34373         * tests/test-canonicalize.c (main): ...the program, making it
34374         easier to run in debugger.  Add some tests.
34375         * modules/canonicalize-tests (Files): Remove unused file.
34376         (Depends-on): Add progname.
34377         (configure.ac, Makefile.am): Simplify.
34378
34379         test-canonicalize-lgpl: consolidate into single C program
34380         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34381         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34382         easier to run in debugger.  Add some tests.
34383         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34384         (configure.ac, Makefile.am): Simplify.
34385
34386         canonicalize: avoid resolvepath
34387         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34388         unnecessary checks.
34389         * lib/canonicalize.c (includes): Simplify.
34390         (canonicalize_file_name): Drop resolvepath implementation.
34391         * modules/canonicalize (Depends-on): Drop filenamecat.
34392
34393         canonicalize: don't lose errno
34394         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34395         over calls to free.
34396
34397         canonicalize: simplify errno handling
34398         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34399         assignment.
34400
34401         canonicalize, canonicalize-lgpl: update module dependencies
34402         * modules/canonicalize (Depends-on): Add extensions, lstat,
34403         pathmax, stdlib.
34404         (Files): Drop pathmax.h.
34405         (configure.ac): Adjust macro name.
34406         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34407         lstat, stdlib, sys_stat.
34408         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34409         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34410         extensions.
34411         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34412         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34413         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34414         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34415         declaration, if available.
34416         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34417         we can rely on the readlink module.
34418         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34419         (includes): Use <unistd.h> unconditionally.
34420
34421 2009-09-17  Eric Blake  <ebb9@byu.net>
34422
34423         maint: make Include sections of modules consistent
34424         * modules/alloca: Use only header name; no need to list #include.
34425         * modules/alloca-opt: Likewise.
34426         * modules/arpa_inet: Likewise.
34427         * modules/canon-host: Likewise.
34428         * modules/configmake: Likewise.
34429         * modules/dirent: Likewise.
34430         * modules/eealloc: Likewise.
34431         * modules/environ: Likewise.
34432         * modules/fchdir: Likewise.
34433         * modules/fcntl: Likewise.
34434         * modules/fcntl-h: Likewise.
34435         * modules/gethrxtime: Likewise.
34436         * modules/gettime: Likewise.
34437         * modules/ignore-value: Likewise.
34438         * modules/inet_ntop: Likewise.
34439         * modules/inet_pton: Likewise.
34440         * modules/inttypes: Likewise.
34441         * modules/isnand-nolibm: Likewise.
34442         * modules/isnanf-nolibm: Likewise.
34443         * modules/mbchar: Likewise.
34444         * modules/mbfile: Likewise.
34445         * modules/mbiter: Likewise.
34446         * modules/mbuiter: Likewise.
34447         * modules/netdb: Likewise.
34448         * modules/netinet_in: Likewise.
34449         * modules/nproc: Likewise.
34450         * modules/pagealign_alloc: Likewise.
34451         * modules/poll: Likewise.
34452         * modules/printf-frexp: Likewise.
34453         * modules/pthread: Likewise.
34454         * modules/putenv: Likewise.
34455         * modules/random_r: Likewise.
34456         * modules/relocatable-prog: Likewise.
34457         * modules/search: Likewise.
34458         * modules/select: Likewise.
34459         * modules/selinux-h: Likewise.
34460         * modules/settime: Likewise.
34461         * modules/signal: Likewise.
34462         * modules/size_max: Likewise.
34463         * modules/socklen: Likewise.
34464         * modules/ssize_t: Likewise.
34465         * modules/stdarg: Likewise.
34466         * modules/stdbool: Likewise.
34467         * modules/stddef: Likewise.
34468         * modules/stdint: Likewise.
34469         * modules/stdio: Likewise.
34470         * modules/stdlib: Likewise.
34471         * modules/string: Likewise.
34472         * modules/strings: Likewise.
34473         * modules/sys_file: Likewise.
34474         * modules/sys_ioctl: Likewise.
34475         * modules/sys_select: Likewise.
34476         * modules/sys_socket: Likewise.
34477         * modules/sys_stat: Likewise.
34478         * modules/sys_time: Likewise.
34479         * modules/sys_times: Likewise.
34480         * modules/sys_utsname: Likewise.
34481         * modules/sys_wait: Likewise.
34482         * modules/sysexits: Likewise.
34483         * modules/time: Likewise.
34484         * modules/times: Likewise.
34485         * modules/tmpfile: Likewise.
34486         * modules/trim: Likewise.
34487         * modules/unistd: Likewise.
34488         * modules/wchar: Likewise.
34489         * modules/wctype: Likewise.
34490
34491 2009-09-17  Bruno Haible  <bruno@clisp.org>
34492
34493         Make getdate.y compile on QNX and NetBSD 5 / i386.
34494         * m4/getdate.m4 (gl_GETDATE): Conditionally define
34495         TIME_T_FITS_IN_LONG_INT.
34496         * lib/getdate.y (long_time_t): New type.
34497         (relative_time): Change type of 'seconds' field to long_time_t.
34498         (get_date): Update types of local variables. Check against overflow
34499         during conversion from long_time_t to time_t.
34500         Reported by Matt Kraai <kraai@ftbfs.org>
34501         and Hasso Tepper <hasso@netbsd.org>.
34502
34503 2009-09-17  Bruno Haible  <bruno@clisp.org>
34504
34505         * modules/COPYING: Update copyright years.
34506         * modules/README: Likeiwse.
34507         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
34508         Reported by Ian Beckwith <ianb@erislabs.net>.
34509
34510 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34511
34512         * users.txt: Update references for gnuit package.
34513
34514 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34515
34516         * m4/getdelim.m4: Fix typo in copyright line.
34517
34518 2009-09-17  Bruno Haible  <bruno@clisp.org>
34519
34520         * lib/atoll.c: Use the standard header with GPL copyright.
34521         * lib/argz.in.h: Likewise.
34522         * lib/glob.c: Likewise.
34523         * lib/glob-libc.h: Likewise.
34524         * lib/random_r.c: Likewise.
34525         * lib/siglist.h: Likewise.
34526         * lib/strsignal.c: Likewise.
34527         Reported by Ian Beckwith <ianb@erislabs.net>.
34528
34529 2009-09-17  Eric Blake  <ebb9@byu.net>
34530
34531         rmdir: ensure correct dependency order
34532         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
34533
34534 2009-09-17  Bruno Haible  <bruno@clisp.org>
34535
34536         Disable assertion that fails on NetBSD 5 / i386.
34537         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
34538         Reported by Sam Steingold <sds@gnu.org>
34539         and Hasso Tepper <hasso@netbsd.org>.
34540
34541 2009-09-16  Eric Blake  <ebb9@byu.net>
34542
34543         unlinkdir: port to mingw
34544         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
34545         on which no one can unlink a directory.
34546
34547         stdlib: sort witness names
34548         * modules/stdlib (Makefile.am): Sort replacements.
34549         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34550         * lib/stdlib.in.h: Likewise.
34551
34552         parse-duration-tests: avoid link failure
34553         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
34554         LIBINTL.
34555         Reported by Tom G. Christensen.
34556
34557         openat-tests: ensure unlinkat behaves like rmdir
34558         * tests/test-rmdir.c (main): Factor guts...
34559         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
34560         * modules/rmdir-tests (Files): Ship new file.
34561         * modules/openat-tests: New test.
34562         * tests/test-unlinkat.c: Likewise.
34563
34564         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
34565         * modules/rmdir-errno (Status, Notice): Now obsolete.
34566
34567         rmdir: work around cygwin 1.5.x and mingw bugs
34568         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
34569         * lib/rmdir.c (rmdir): Work around it.
34570         * modules/rmdir (Status, Notice): No longer obsolete.
34571         (Files): Add dos.m4.
34572         (Depends-on): Add unistd.
34573         (configure.ac): Set witnesses.
34574         (License): Relax to LGPLv2+.
34575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
34576         * modules/unistd (Makefile.am): Substitute witnesses.
34577         * lib/unistd.in.h (rmdir): Declare replacement.
34578         * doc/posix-functions/rmdir.texi (rmdir): Document this.
34579         * modules/rmdir-tests: New tests.
34580         * tests/test-rmdir.c: Likewise.
34581
34582 2009-09-15  Eric Blake  <ebb9@byu.net>
34583
34584         fchdir: improve use of replacement functions
34585         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
34586         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
34587         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
34588         REPLACE_CLOSEDIR.
34589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
34590         * modules/sys_stat (Makefile.am): Substitute correct witness.
34591         * modules/dirent (Makefile.am): Likewise.
34592         * modules/unistd (Makefile.am): Likewise.
34593         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
34594         * lib/unistd.in.h (dup): Likewise.
34595         * lib/sys_stat.in.h (fstat): Likewise.
34596
34597         maint: ignore gnulib-tool temp files
34598         * .gitignore: Ignore files created during gnulib-tool --test.
34599
34600 2009-09-13  Jim Meyering  <meyering@redhat.com>
34601
34602         posixtm: don't reject a time that specify "60" as the number of seconds
34603         * lib/posixtm.c (posixtime): The code to reject invalid dates
34604         would also reject a time specified with the .60 suffix.
34605         But POSIX allows that, in order to accommodate leap seconds.
34606         So don't reject it.
34607         (main): Adjust tests accordingly.
34608         * modules/posixtm (Depends-on): Add stpcpy.
34609
34610 2009-09-11  Jim Meyering  <meyering@redhat.com>
34611
34612         announce-gen: include [$release_type] in emitted Subject:
34613         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
34614         e.g., [stable] in the emitted Subject: line.
34615
34616 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34617
34618         Remove obsolete macros from several modules.
34619         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
34620         obsolete Autoconf macros with their modern counterparts.
34621         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
34622         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
34623         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
34624         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
34625         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
34626         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
34627         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
34628         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34629         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
34630         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
34631         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34632         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34633         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
34634         * m4/sockets.m4 (gl_SOCKETS): Likewise.
34635         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
34636         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
34637         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34638         * m4/time_r.m4 (gl_TIME_R): Likewise.
34639         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
34640         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
34641         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34642
34643         Fix copyright header in build-aux scripts.
34644         * build-aux/git-version-gen: Fix copyright header to match GPLv3
34645         recommendation.
34646         * build-aux/ncftpput-ftp: Likewise.
34647         * build-aux/update-copyright: Likewise.
34648
34649 2009-09-09  Eric Blake  <ebb9@byu.net>
34650
34651         test-link: allow Linux choice of errno
34652         * tests/test-link.c (main): Relax test for alternate error.
34653
34654         strndup: fix improper m4 caching
34655         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
34656         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
34657         (gl_PREREQ_STRNDUP): Delete.
34658         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
34659         * modules/string (Makefile.am): Substitute it.
34660         * lib/string.in.h (strndup): Modernize prototype.
34661
34662         getcwd: port to mingw
34663         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
34664         different from the POSIX assumptions made throughout the getcwd
34665         module; fortunately, the mingw getcwd does not need replacement.
34666         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
34667         * modules/getcwd-tests: New test.
34668         * tests/test-getcwd.c: Likewise.
34669
34670         link: fix platform bugs
34671         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
34672         * lib/link.c (link): Work around them.  Fix related mingw bug.
34673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
34674         * modules/unistd (Makefile.am): Substitute it.
34675         * lib/unistd.in.h (link): Declare replacement.
34676         * doc/posix-functions/link.texi (link): Document this.
34677         * modules/link (Depends-on): Add strdup-posix, sys_stat.
34678
34679         test-link: consolidate into single C program, test more cases
34680         * tests/test-link.sh: Delete.
34681         * tests/test-link.c: Test more error conditions.  Exposes bugs on
34682         at least Cygwin and Solaris.
34683         * modules/link-tests (Files): Remove unused file.
34684         (Depends-on): Add errno, sys_stat.
34685         (Makefile.am): Simplify.
34686
34687 2009-09-08  Bruno Haible  <bruno@clisp.org>
34688
34689         Work around towlower, towupper bug on mingw.
34690         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
34691         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
34692         * doc/posix-functions/towlower.texi: Mention the mingw bug.
34693         * doc/posix-functions/towupper.texi: Likewise.
34694         Reported by Eric Blake.
34695
34696 2009-09-08  Jim Meyering  <meyering@redhat.com>
34697
34698         build: don't try to run autoheader if we don't use it
34699         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
34700         is not used in configure.ac.
34701
34702 2009-09-08  Eric Blake  <ebb9@byu.net>
34703
34704         euidaccess: fix compilation error
34705         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
34706
34707         rawmemchr: relax license
34708         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
34709         okay.
34710         Reported by Jim Meyering.
34711
34712         mkfifoat: new module
34713         * modules/mkfifoat: New file.
34714         * lib/mkfifoat.c: Likewise.
34715         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
34716         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34717         * modules/sys_stat (Makefile.am): Use them.
34718         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
34719         * MODULES.html.sh (File system functions): Mention module.
34720         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
34721         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
34722         * modules/mkfifoat-tests: New test.
34723         * tests/test-mkfifoat.c: Likewise.
34724
34725         strchrnul: relax license
34726         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
34727         okay.
34728         Reported by Jim Meyering.
34729
34730 2009-09-08  Eric Blake  <ebb9@byu.net>
34731
34732         fstatat: fix compilation on Solaris
34733         * lib/fstatat.c (includes): Add fcntl.h.
34734         Reported by Pádraig Brady.
34735
34736 2009-09-07  Eric Blake  <ebb9@byu.net>
34737
34738         rename: modernize replacement
34739         * modules/rename (Depends-on): Add stdio.
34740         (configure.ac): Declare witness.
34741         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
34742         stdio take care of replacement.
34743         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
34744         * modules/stdio (Makefile.am): Substitute them.
34745         * lib/stdio.in.h (rename): Declare replacement.
34746         * lib/rename.c (includes): Allow cross-compilation to non-windows
34747         machines.
34748         * doc/posix-functions/rename.texi (rename): Improve
34749         documentation.
34750
34751         stdio: sort witness names
34752         * modules/stdio (Makefile.am): Sort replacements.
34753         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34754         * lib/stdio.in.h: Likewise.
34755
34756         getcwd: minor cleanups
34757         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
34758         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
34759
34760         openat: provide more convenience names
34761         * modules/faccessat (configure.ac): Add C witness.
34762         * lib/unistd.in.h (readlinkat): Fix typo.
34763         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
34764         convenience wrappers.
34765         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
34766         wrappers in syntax checks.
34767
34768 2009-09-06  Eric Blake  <ebb9@byu.net>
34769
34770         doc: fix comments in recent patches
34771         * lib/faccessat.c: Mention correct function.
34772         * lib/fchmodat.c: Likewise.
34773         * lib/fchownat.c: Likewise.
34774         * lib/symlinkat.c: Likewise.
34775         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
34776         constants.
34777
34778         faccessat, symlinkat: continue cleanup of previous patch
34779         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
34780         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
34781         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
34782         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
34783         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
34784         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
34785         set.
34786
34787 2009-09-06  Bruno Haible  <bruno@clisp.org>
34788
34789         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
34790         (fstatat): Declare if GNULIB_FSTATAT is set.
34791         (mkdirat): Declare if GNULIB_MKDIRAT is set.
34792         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
34793         (unlinkat): Declare if GNULIB_UNLINKAT is set.
34794         * modules/fcntl-h (Files): Remove m4/openat.m4.
34795         * modules/sys_stat (Files): Remove m4/openat.m4.
34796         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
34797         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
34798         * modules/unistd (Files): Remove m4/openat.m4.
34799         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
34800         GNULIB_OPENAT.
34801         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
34802         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
34803         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
34804         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
34805         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
34806         gl_OPENAT_DEFAULTS.
34807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
34808         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
34809         Don't require gl_OPENAT_DEFAULTS.
34810         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
34811         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
34812         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
34813         (gl_OPENAT_DEFAULTS): Remove macro.
34814
34815 2009-09-06  Bruno Haible  <bruno@clisp.org>
34816
34817         * modules/openat (configure.ac): Remove unneeded witness.
34818
34819 2009-09-06  Bruno Haible  <bruno@clisp.org>
34820
34821         Set errno to ENOSYS when a function is entirely unsupported.
34822         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
34823         EOPNOTSUPP.
34824         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
34825         * modules/chown (Depends-on): Remove errno.
34826
34827 2009-09-06  Bruno Haible  <bruno@clisp.org>
34828
34829         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
34830
34831 2009-09-06  Bruno Haible  <bruno@clisp.org>
34832
34833         * lib/sys_stat.in.h: Fix preprocessor command indentation.
34834
34835 2009-09-06  Ben Pfaff  <blp@gnu.org>
34836             Bruno Haible  <bruno@clisp.org>
34837
34838         Work around a glibc bug in strtok_r.
34839         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
34840         Undefine if UNDEFINE_STRTOK_R is set.
34841         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
34842         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34843         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
34844         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
34845         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
34846         UNDEFINE_STRTOK_R.
34847         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
34848
34849 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
34850
34851         exclude: minor fix
34852         * lib/exclude.c: Include wctype.h
34853
34854 2009-09-06  Akim Demaille  <demaille@gostai.com>
34855
34856         bootstrap: improve error message
34857         * build-aux/bootstrap (find_tool): Upon failure, report the list
34858         of candidates.
34859         Honor the initial value of the envvar.
34860
34861 2009-09-05  Eric Blake  <ebb9@byu.net>
34862
34863         symlinkat: new module
34864         * modules/symlinkat: New file.
34865         * lib/symlinkat.c: Likewise.
34866         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
34867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34868         * modules/unistd (Makefile.am): Use them.
34869         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
34870         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
34871         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
34872         * MODULES.html.sh (File system functions): Mention module.
34873         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34874         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34875         * modules/symlinkat-tests: New test.
34876         * tests/test-symlinkat.c: Likewise.
34877
34878         test-openat-safer: add more checks
34879         * tests/test-openat-safer.c (main): Check more code paths.
34880
34881 2009-09-05  Jim Meyering  <meyering@redhat.com>
34882
34883         syntax-check: detect unnecessary inclusion of openat.h
34884         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
34885
34886 2009-09-05  Bruno Haible  <bruno@clisp.org>
34887
34888         Support towlower, towupper.
34889         * doc/posix-functions/towlower.texi: Mention module wctype.
34890         * doc/posix-functions/towupper.texi: Likewise.
34891         * lib/wctype.in.h (towlower, towupper): New functions.
34892         * tests/test-wctype.c: Include stdio.h, stdlib.h.
34893         (ASSERT): New macro.
34894         (e): New variable.
34895         (main): Test also towlower, towupper. Test WEOF argument.
34896         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34897
34898 2009-09-05  Bruno Haible  <bruno@clisp.org>
34899
34900         Fix conversion behaviour when the input is invalid.
34901         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
34902         mark occurring in first pass of indirect conversion.
34903         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
34904         input.
34905         Found by clang's static analyzer.
34906
34907 2009-09-05  Bruno Haible  <bruno@clisp.org>
34908
34909         * tests/test-striconveh.c (main): Test indirect conversion on platforms
34910         where direct conversion is possible.
34911
34912 2009-09-04  Eric Blake  <ebb9@byu.net>
34913
34914         openat: fail with ENOENT on empty name
34915         * lib/openat-proc.c (openat_proc_name): Special-case the empty
34916         buffer.
34917
34918         link-follow: fix logic bug in prior patch
34919         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
34920         reversed sense of yes and no in prior patch.  Avoid confusing
34921         compilation failure with desired semantics.
34922
34923         link-follow: accomodate mingw and cross-compilation
34924         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
34925         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
34926         cross-compilation results to -1, to make linkat easier to
34927         implement when cross-compiling.  Trivially support mingw.
34928         * modules/link-follow (configure.ac): Call new name.
34929         * NEWS: Mention this.
34930
34931 2009-09-03  Eric Blake  <ebb9@byu.net>
34932
34933         faccessat: compile replacement
34934         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
34935         needed.
34936
34937         fts: fix compilation error
34938         * lib/fts.c (includes): Re-add "openat.h", for
34939         openat_needs_fchdir.
34940
34941         faccessat: new module
34942         * modules/faccessat: New file.
34943         * lib/faccessat.c: Likewise.
34944         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
34945         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34946         * modules/unistd (Makefile.am): Use it.
34947         * lib/unistd.in.h (faccessat): Declare it.
34948         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
34949         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
34950         * MODULES.html.sh (File system functions): Mention it.
34951         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
34952         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
34953
34954         euidaccess: prefer POSIX over non-standard implementation
34955         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
34956         * lib/euidaccess.c (euidaccess): Use it if available.
34957
34958         openat: make template easier to use
34959         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
34960         AT_FUNC_F2 to be undefined.
34961         (VALIDATE_FLAG): New macro; use it to reject bad flags.
34962         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
34963         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
34964         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
34965         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
34966         Likewise.
34967         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
34968         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
34969         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
34970         Likewise.
34971
34972         openat: declare in POSIX headers
34973         * NEWS: Mention this.
34974         * modules/openat (configure.ac): Declare witnesses.
34975         (Depends-on): Add fcntl-h, sys_stat, unistd.
34976         (Include): Mention correct headers.
34977         * modules/fcntl-h (Depends-on): Add link-warning.
34978         (Files): Add openat.m4.
34979         (Makefile.am): Substitute witnesses.
34980         * modules/sys_stat (Files, Makefile.am): Likewise.
34981         * modules/unistd (Files, Makefile.am): Likewise.
34982         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
34983         (gl_OPENAT_DEFAULTS): New macro.
34984         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
34985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
34986         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
34987         (SYS_STAT_H): Remove unused variable.
34988         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
34989         * lib/fcntl--.h (includes): Remove unneeded header.
34990         * lib/openat-safer.c (includes): Likewise.
34991         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
34992         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
34993         appropriate headers.
34994         (__OPENAT_PREFIX): Delete.
34995         * lib/fcntl.in.h (openat): Provide declaration.
34996         (AT_FDCWD): Fix Solaris bug.
34997         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
34998         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
34999         * lib/fchmodat.c (includes):  Adjust to find declaration.
35000         * lib/fchownat.c (includes): Likewise.
35001         * lib/mkdirat.c (includes): Likewise.
35002         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35003         still visible.
35004
35005 2009-09-02  Eric Blake  <ebb9@byu.net>
35006
35007         errno: use consistently
35008         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35009         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35010         * lib/canonicalize.c (ELOOP): Likewise.
35011         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35012         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35013         * lib/lchown.c (EOPNOTSUPP): Likewise.
35014         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35015         * lib/savewd.c (ESTALE): Likewise.
35016         * lib/settime.c (ENOSYS): Likewise.
35017         * lib/utimens.c (ENOSYS): Likewise.
35018         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35019         * lib/chdir-safer.c (ELOOP): Likewise.
35020         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35021         * modules/c-stack (Depends-on): Add errno.
35022         * modules/canonicalize (Depends-on): Likewise.
35023         * modules/chdir-safer (Depends-on): Likewise.
35024         * modules/fdopendir (Depends-on): Likewise.
35025         * modules/inet_ntop (Depends-on): Likewise.
35026         * modules/inet_pton (Depends-on): Likewise.
35027         * modules/lchown (Depends-on): Likewise.
35028         * modules/openat (Depends-on): Likewise.
35029         * modules/savewd (Depends-on): Likewise.
35030         * modules/settime (Depends-on): Likewise.
35031         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35032
35033         fts: avoid leaking fds
35034         * modules/fts (Depends-on): Add cloexec.
35035         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35036         flag.
35037
35038         fts: make directory fds more robust
35039         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35040         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35041
35042         backupfile, chdir-long, fts, savedir: make safer
35043         * lib/backupfile.c (includes): Use "dirent--.h", since
35044         numbered_backup can write to stderr during readdir.
35045         * lib/savedir.c (includes): Likewise.
35046         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35047         emulation can write to stderr on failure.
35048         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35049         * lib/getcwd.c: Document why opendir_safer is unused.
35050         * lib/glob.c: Likewise.
35051         * lib/scandir.c: Likewise.
35052         * lib/openat-proc.c: Likewise, for open_safer.
35053         * modules/backupfile (Depends-on): Add dirent-safer.
35054         * modules/savedir (Depends-on): Likewise.
35055         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35056         * modules/chdir-long (Depends-on): Add openat-safer.
35057
35058         openat-safer: new module
35059         * modules/openat-safer: New file.
35060         * lib/openat-safer.c: Likewise.
35061         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35062         * lib/fcntl-safer.h (openat_safer): Declare.
35063         * lib/fcntl--.h (openat): Override.
35064         * MODULES.html.sh (File descriptor based I/O): Mention it.
35065         * lib/openat.h: Add double-inclusion guards.
35066         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35067         "fcntl--.h", so we can implement openat.
35068         * modules/openat-safer-tests: New test.
35069         * tests/test-openat-safer.c: New file.
35070
35071         dirent-safer: new module
35072         * modules/dirent-safer: New file.
35073         * lib/dirent--.h: Likewise.
35074         * lib/dirent-safer.h: Likewise.
35075         * lib/opendir-safer.c: Likewise.
35076         * m4/dirent-safer.m4: Likewise.
35077         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35078         * modules/dirent-safer-tests: New test.
35079         * tests/test-dirent-safer.c: New file.
35080         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35081
35082         fdopendir: optimize on mingw
35083         * lib/unistd.in.h (_gl_directory_name): New prototype.
35084         * lib/fchdir.c (_gl_directory_name): Implement it.
35085         (fchdir): Use it to simplify implementation.
35086         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35087         fchdir, when available, to avoid calling [f]chdir().
35088
35089         fdopendir: split into its own module
35090         * lib/openat.c (fdopendir): Move...
35091         * lib/fdopendir.c: ...into new file.
35092         * modules/fdopendir: New module.
35093         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35094         * modules/openat (Depends-on): Add fdopendir.
35095         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35096         fdopendir here.
35097         * modules/savedir (Depends-on): Only need fdopendir, not full
35098         openat.
35099         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35100         * lib/openat.h (fdopendir): Drop prototype.
35101         * lib/dirent.in.h (fdopendir): Provide prototype.
35102         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35103         * modules/dirent (Makefile.am): Substitute them.
35104         * MODULES.html.sh (File system functions): Mention it.
35105         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35106         * modules/fdopendir-tests: New file.
35107         * tests/test-fdopendir.c: Likewise.
35108
35109         fchdir: use more consistent macro convention
35110         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35111         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35112         REPLACE_FCHDIR, rather than relying on config.h macros.
35113         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35114         inside a single make-time REPLACE_FCHDIR block, rather than using
35115         the config.h FCHDIR_REPLACEMENT.
35116         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35117         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35118         Manage fstat replacement.
35119         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35120         REPLACE_FCHDIR.
35121         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35122         (Makefile.am): Substitute REPLACE_FCHDIR.
35123         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35124         FCHDIR_REPLACEMENT.
35125         * lib/dup-safer.c (dup_safer): Likewise.
35126         * lib/dup2.c (rpl_dup2): Likewise.
35127         * lib/dup3.c (rpl_dup3): Likewise.
35128         * lib/open.c (rpl_open): Likewise.
35129
35130         fchdir: simplify error handling, and support dup3
35131         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35132         stdbool, malloc-posix, realloc-posix.
35133         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35134         (ensure_dirs_slot): Return false on allocation failure.
35135         (rpl_dup2): Delete.
35136         (_gl_register_dup): New function.
35137         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35138         (_gl_register_fd): Close fd on allocation failure.
35139         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35140         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35141         prototype.
35142         (rpl_dup2_fchdir): Delete prototype.
35143         * lib/open.c (open): Update caller.
35144         * lib/dup2.c (dup2): Track fchdir metadata.
35145         * lib/dup3.c (dup3): Likewise.
35146         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35147         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35148
35149 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35150
35151         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35152         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35153         don't pass arguments to AC_OUTPUT.
35154
35155 2009-09-02  Bruno Haible  <bruno@clisp.org>
35156
35157         * modules/mkdtemp (License): Relicense under LGPLv2+.
35158         Reported by Paolo Bonzini.
35159
35160 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35161
35162         Replace uses of obsolete autoconf macros in Jim's modules.
35163         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35164         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35165         can evoke a warning from autoconf when run with -Wobsolete
35166         enabled.  They were declared obsolete for good reasons (see
35167         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35168         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35169         should not continue using the deprecated macros.
35170         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35171         obsolete Autoconf macros with modern counterparts.
35172         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35173         * m4/dos.m4 (gl_AC_DOS): Likewise.
35174         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35175         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35176         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35177         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35178         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35179         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35180         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35181         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35182         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35183         Likewise.
35184         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35185         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35186         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35187         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35188         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35189         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35190
35191 2009-09-01  Eric Blake  <ebb9@byu.net>
35192
35193         fchdir: fix off-by-one bug in previous patch
35194         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35195         (_gl_unregister_fd): Delete useless if.
35196
35197 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35198
35199         maint.mk: sort the list of syntax-check rules
35200         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35201         easier to get a sense of progress when the rules are run sequentially
35202         and take a long time.
35203
35204 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35205
35206         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35207         * modules/netinet_in: Likewise.
35208         * modules/sys_file: Likewise.
35209         * modules/sys_ioctl: Likewise.
35210         * modules/sys_select: Likewise.
35211         * modules/sys_socket: Likewise.
35212         * modules/sys_stat: Likewise.
35213         * modules/sys_time: Likewise.
35214         * modules/sys_times: Likewise.
35215         * modules/sys_utsname: Likewise.
35216         * modules/sys_wait: Likewise.
35217
35218 2009-09-01  Jim Meyering  <meyering@redhat.com>
35219
35220         fts: help ensure that return values are not ignored
35221         * lib/fts_.h (__GNUC_PREREQ): Define.
35222         (__attribute_warn_unused_result__): Define.
35223         (fts_children, fts_close, fts_open, fts_read): Declare with
35224         __attribute_warn_unused_result__.
35225
35226         fts: fts_close now fails also when closing a dir file descriptor fails
35227         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35228         and propagate to caller, along with errno.
35229
35230         announce-gen: correct formatting in --help output
35231         * build-aux/announce-gen (usage): Move the one-line description in
35232         --help output "up", to where it belongs, just after Usage:.
35233
35234 2009-08-31  Eric Blake  <ebb9@byu.net>
35235
35236         fchdir: port to mingw
35237         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35238         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35239         opened, then use a substitute.
35240         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35241         replacement.
35242         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35243         (_gl_register_fd): No need to check stat if open already filters
35244         all directories.
35245         (fchdir): Fix error condition to match POSIX.
35246         * modules/fchdir (Depends-on): Add sys_stat.
35247         * doc/posix-functions/open.texi (open): Document the limitation.
35248         * modules/fchdir-tests: New file.
35249         * tests/test-fchdir.c: Likewise.
35250
35251         canonicalize: allow cross-testing from cygwin to mingw
35252         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35253         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35254         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35255         Likewise.
35256         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35257         target does not support symlinks.
35258         * tests/test-canonicalize-lgpl.sh: Likewise.
35259
35260         chown: avoid compilation warning on mingw
35261         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35262         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35263         mingw.
35264         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35265         * modules/chown (Depends-on): Add errno.
35266
35267 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35268
35269         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35270         command.
35271
35272 2009-08-31  Jim Meyering  <meyering@redhat.com>
35273
35274         canonicalize: remove useless initialization
35275         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35276         initialization of local, "end".
35277
35278 2009-08-30  Bruno Haible  <bruno@clisp.org>
35279
35280         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35281         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35282         ENOSYS.
35283
35284 2009-08-30  Bruno Haible  <bruno@clisp.org>
35285
35286         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35287         /usr/xpg4/bin/tr when it exists.
35288         * tests/test-pipe-filter-gi1.sh: Likewise.
35289
35290 2009-08-30  Bruno Haible  <bruno@clisp.org>
35291
35292         Work around deficient /usr/bin/id program on Solaris.
35293         * tests/test-file-has-acl.sh (ID): New variable.
35294         * tests/test-set-mode-acl.sh (ID): Likewise.
35295         * tests/test-copy-acl.sh (ID): Likewise.
35296         * tests/test-copy-file.sh (ID): Likewise.
35297
35298 2009-08-30  Bruno Haible  <bruno@clisp.org>
35299
35300         New module 'xstriconveh'.
35301         * lib/xstriconveh.h: New file.
35302         * lib/xstriconveh.c: New file.
35303         * modules/xstriconveh: New file.
35304
35305 2009-08-30  Bruno Haible  <bruno@clisp.org>
35306
35307         Make it easier to use mem_cd_iconveh.
35308         * lib/striconveh.h (iconveh_t): New type.
35309         (iconveh_open, iconveh_close): New declarations.
35310         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35311         with a single 'const iconveh_t *' argument.
35312         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35313         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35314         with a single 'const iconveh_t *' argument.
35315         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35316         * tests/test-striconveh.c (main): Update.
35317         * NEWS: Mention the change.
35318
35319 2009-08-30  Bruno Haible  <bruno@clisp.org>
35320
35321         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35322         problem.
35323
35324 2009-08-30  Bruno Haible  <bruno@clisp.org>
35325
35326         Work around iconv_open problem on Solaris.
35327         * lib/iconv_open-solaris.gperf: New file.
35328         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35329         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35330         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35331         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35332         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35333         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35334
35335 2009-08-29  Jim Meyering  <meyering@redhat.com>
35336
35337         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35338         * top/maint.mk (cvs-check): Remove target; it was just an alias
35339         to the better-named vc-diff-check.
35340         (maintainer-distcheck): Remove rule.  It was used only from
35341         the (alpha/beta/major) target, and all of its commands but one
35342         were coreutils-specific.
35343         (vc-dist): Remove rule.
35344         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35345         Run vc-diff-check, not vc-dist.
35346         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35347
35348 2009-08-27  Bruno Haible  <bruno@clisp.org>
35349
35350         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35351         of 0.
35352
35353 2009-08-27  Bruno Haible  <bruno@clisp.org>
35354
35355         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35356         compilers.
35357         * doc/func.texi: Document the SunPRO C bug.
35358
35359 2009-08-27  Bruno Haible  <bruno@clisp.org>
35360
35361         Fix link error on Solaris.
35362         * tests/test-parse-duration.c (xstrdup): Remove function.
35363
35364 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35365
35366         ignore-value: handle pointer types, too
35367         * lib/ignore-value.h (__attribute__): Remove definition.
35368         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35369         of a more concise and more-often effective "(void) i" statement.
35370         (ignore_ptr): New function to suppress warnings from functions that
35371         return pointers, and to make it explicit that one function doesn't
35372         handle all cases.
35373
35374 2009-08-25  Bruno Haible  <bruno@clisp.org>
35375
35376         dup2: work around a Linux bug.
35377         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35378         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35379         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35380         Reported by Simon Josefsson.
35381
35382 2009-08-25  Jim Meyering  <meyering@redhat.com>
35383
35384         libguestfs uses gnulib
35385         * users.txt: Add libguestfs.
35386
35387 2009-08-24  Eric Blake  <ebb9@byu.net>
35388
35389         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35390         * lib/pipe2.c (includes): Add binary-io.h.
35391         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35392
35393 2009-08-24  Bruno Haible  <bruno@clisp.org>
35394
35395         Tolerate declared but missing accept4 syscall.
35396         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35397         available.
35398         * lib/sys_socket.in.h (accept4): If the function is already present,
35399         override it.
35400         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35401         * modules/accept4 (Makefile.am): Compile accept4.c always.
35402         Reported by Paolo Bonzini and Eric Blake.
35403
35404 2009-08-23  Bruno Haible  <bruno@clisp.org>
35405
35406         New module 'accept4'.
35407         * lib/sys_socket.in.h (accept4): New declaration.
35408         * lib/accept4.c: New file.
35409         * m4/accept4.m4: New file.
35410         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35411         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35412         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35413         HAVE_ACCEPT4.
35414         * modules/accept4: New file.
35415         * doc/glibc-functions/accept4.texi: Mention the new module.
35416
35417 2009-08-24  Jim Meyering  <meyering@redhat.com>
35418
35419         progname: also set global program_invocation_name, when possible
35420         Before this change, a libtool-enabled program that calls glibc's
35421         error function would report the program name as
35422         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35423         * modules/progname (configure.ac): Check for a declaration of
35424         program_invocation_name.
35425         * lib/progname.c:  Include <errno.h>.
35426         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35427         Set program_invocation_name.
35428
35429 2009-08-23  Bruno Haible  <bruno@clisp.org>
35430
35431         * lib/dup3.c: Include <string.h>.
35432
35433 2009-08-23  Bruno Haible  <bruno@clisp.org>
35434
35435         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35436         * lib/pipe2.c (pipe2): Likewise.
35437         Suggested by Eric Blake.
35438
35439 2009-08-23  Bruno Haible  <bruno@clisp.org>
35440
35441         Tolerate declared but missing dup3 syscall.
35442         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35443         * lib/unistd.in.h (dup3): If the function is already present,
35444         override it.
35445         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35446         * modules/dup3 (Makefile.am): Compile dup3.c always.
35447         Reported by Paolo Bonzini.
35448
35449 2009-08-23  Bruno Haible  <bruno@clisp.org>
35450
35451         Tolerate declared but missing pipe2 syscall.
35452         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35453         available.
35454         * lib/unistd.in.h (pipe2): If the function is already present,
35455         override it.
35456         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35457         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35458         Reported by Paolo Bonzini.
35459
35460 2009-08-23  Bruno Haible  <bruno@clisp.org>
35461
35462         * lib/pipe2.c (pipe2): Move #ifs inside function.
35463
35464 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35465
35466         quotearg: document limitations of quote_these_too
35467         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35468         those limitations are created.
35469         * lib/quotearg.h (set_char_quoting): Document that digits and
35470         letters that are special after backslash are not permitted.
35471         (quotearg_char): Cross-reference set_char_quoting documentation.
35472
35473 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
35474
35475         quotearg: implement custom_quoting_style
35476         * lib/quotearg.c: (struct quoting_options): Add left_quote and
35477         right_quote fields.
35478         (set_custom_quoting): New public function.
35479         (quotearg_buffer_restyled): Add left_quote and right_quote
35480         arguments, handle them very much like locale quoting, and update
35481         all uses.
35482         (quotearg_n_custom): New public function.
35483         (quotearg_n_custom_mem): New public function.
35484         (quotearg_custom): New public function.
35485         (quotearg_custom_mem): New public function.
35486         * lib/quotearg.h: Prototype and document new public functions.
35487         (enum quoting_style): For escape_quoting_style and
35488         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
35489         ignored even though they're otherwise like c_quoting_style.
35490         Add custom_quoting_style member and document with comparison to
35491         clocale_quoting_style.
35492         * tests/test-quotearg.c (custom_quotes): New array.
35493         (custom_results): New array.
35494         (main): Extend to test custom quoting.
35495
35496 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35497
35498         quotearg: fix right quote escaping when it's in quote_these_too
35499         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
35500         quote, be sure to prepend only one backslash.
35501         * tests/test-quotearg.c (use_quote_double_quotes): New function.
35502         (main): Test it.
35503
35504 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35505
35506         quotearg-tests: test escaping of embedded locale quotes
35507         * tests/test-quotearg.c (struct result_strings): Add member for
35508         new input.
35509         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
35510         (inputs): Add new input.
35511         (results_g): Add expected results.
35512         (flag_results): Likewise.
35513         (locale_results): Likewise.
35514         (compare_strings): Check those.
35515
35516 2009-08-23  Bruno Haible  <bruno@clisp.org>
35517
35518         Tests for module 'dup3'.
35519         * modules/dup3-tests: New file.
35520         * tests/test-dup3.c: New file.
35521
35522         New module 'dup3'.
35523         * lib/unistd.in.h (dup3): New declaration.
35524         * lib/dup3.c: New file.
35525         * m4/dup3.m4: New file.
35526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
35527         HAVE_DUP3.
35528         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
35529         * modules/dup3: New file.
35530         * doc/glibc-functions/dup3.texi: Mention the new module.
35531
35532 2009-08-23  Bruno Haible  <bruno@clisp.org>
35533
35534         Tweak the dup2 test.
35535         * tests/test-dup2.c (main): Create the test file empty. Verify that an
35536         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
35537         the test file is still empty. Fix argument order of lseek.
35538
35539 2009-08-23  Bruno Haible  <bruno@clisp.org>
35540
35541         Avoid test link errors when the modules getopt-gnu, gettext are used.
35542         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
35543         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35544
35545 2009-08-23  Bruno Haible  <bruno@clisp.org>
35546
35547         Fix getdtablesize() on mingw.
35548         * lib/getdtablesize.c (getdtablesize): Implement differently.
35549         * lib/unistd.in.h (getdtablesize): Improve comment.
35550
35551 2009-08-23  Bruno Haible  <bruno@clisp.org>
35552
35553         New module 'mkostemp'.
35554         Based on Ulrich Drepper's 2007-08-10 change in glibc.
35555         * lib/stdlib.in.h (mksotemp): New declaration.
35556         * lib/mkostemp.c: New file, from glibc with modifications.
35557         * lib/tempname.h (GT_FILE): Remove outdated comment.
35558         (gen_tempname): Add flags argument.
35559         * lib/tempname.c (__GT_BIGFILE): Remove macro.
35560         (__GT_FILE): Map to 1.
35561         (small_open, large_open): Remove macros.
35562         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
35563         * lib/mkstemp.c (mkstemp): Update.
35564         * lib/mkdtemp.c (mkdtemp): Likewise.
35565         * m4/mkostemp.m4: New file.
35566         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
35567         HAVE_MKOSTEMP.
35568         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
35569         HAVE_MKOSTEMP.
35570         * modules/mkostemp: New file, based on modules/mkstemp.
35571         * doc/glibc-functions/mkostemp.texi: Mention the new module.
35572         * NEWS: Mention the change.
35573
35574 2009-08-23  Bruno Haible  <bruno@clisp.org>
35575
35576         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
35577         Reported by Eric Blake.
35578
35579 2009-08-23  Bruno Haible  <bruno@clisp.org>
35580
35581         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
35582         Reported by Eric Blake.
35583
35584 2009-08-23  Bruno Haible  <bruno@clisp.org>
35585
35586         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
35587         * modules/pipe2 (Depends-on): Likewise.
35588
35589 2009-08-23  Eric Blake  <ebb9@byu.net>
35590
35591         fcntl-h: add O_TTY_INIT support
35592         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
35593         * tests/test-fcntl-h.c (o): Test it.
35594         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35595
35596         fcntl-h: rename from fcntl, in preparation for fcntl(2)
35597         * modules/fcntl: Move <fcntl.h> header replacement...
35598         * modules/fcntl-h: ...to new name, so as not to collide with
35599         like-named function.
35600         * tests/test-fcntl.c: Rename...
35601         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
35602         * modules/fcntl-tests: Rename...
35603         * modules/fcntl-h-tests: ...to this.  Update test file name.
35604         * modules/chdir-long (Depends-on): Update clients.
35605         * modules/chdir-safer (Depends-on): Likewise.
35606         * modules/fcntl-safer (Depends-on): Likewise.
35607         * modules/fts (Depends-on): Likewise.
35608         * modules/mkancesdirs (Depends-on): Likewise.
35609         * modules/mkdir-p (Depends-on): Likewise.
35610         * modules/open (Depends-on): Likewise.
35611         * modules/savewd (Depends-on): Likewise.
35612         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
35613         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35614
35615 2009-08-22  Bruno Haible  <bruno@clisp.org>
35616
35617         * modules/binary-io (License): Relicense under LGPL.
35618         * modules/pipe2 (License): Likewise.
35619
35620 2009-08-22  Bruno Haible  <bruno@clisp.org>
35621
35622         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
35623         return value.
35624         * lib/pipe-filter-gi.c (filter_init): Likewise.
35625         Reported by Eric Blake.
35626
35627 2009-08-22  Bruno Haible  <bruno@clisp.org>
35628
35629         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
35630         * modules/pipe (Depends-on): Add pipe2.
35631
35632 2009-08-22  Bruno Haible  <bruno@clisp.org>
35633
35634         Tests for module 'pipe2'.
35635         * modules/pipe2-tests: New file.
35636         * tests/test-pipe2.c: New file.
35637
35638         New module 'pipe2'.
35639         * lib/unistd.in.h (pipe2): New declaration.
35640         * lib/pipe2.c: New file.
35641         * m4/pipe2.m4: New file.
35642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
35643         HAVE_PIPE2.
35644         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
35645         * modules/pipe2: New file.
35646         * doc/glibc-functions/pipe2.texi: Mention the new module.
35647
35648 2009-08-22  Bruno Haible  <bruno@clisp.org>
35649
35650         Reference some new glibc functions.
35651         * doc/glibc-functions/accept4.texi: New file.
35652         * doc/glibc-functions/dup3.texi: New file.
35653         * doc/glibc-functions/mkostemp.texi: New file.
35654         * doc/glibc-functions/pipe2.texi: New file.
35655         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
35656         (Glibc sys/socket.h): Refer to accept4.
35657         (Glibc unistd.h): Refer to dup3, pipe2.
35658         Reported by Eric Blake.
35659
35660 2009-08-22  Jim Meyering  <meyering@redhat.com>
35661             Bruno Haible  <bruno@clisp.org>
35662
35663         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
35664         This makes it so packages using automake-1.11's silent-rules option
35665         can print e.g., a single "GEN    configmake.h" line, rather than
35666         the 30+ statements that perform the job.  If you want to see the
35667         actual commands, you can still run "make V=1".
35668         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
35669         so that make output is abbreviated when those variables are defined
35670         appropriately.
35671         * modules/argz: Likewise.
35672         * modules/arpa_inet: Likewise.
35673         * modules/byteswap: Likewise.
35674         * modules/configmake: Likewise.
35675         * modules/dirent: Likewise.
35676         * modules/errno: Likewise.
35677         * modules/fcntl: Likewise.
35678         * modules/float: Likewise.
35679         * modules/fnmatch: Likewise.
35680         * modules/getopt-posix: Likewise.
35681         * modules/glob: Likewise.
35682         * modules/iconv_open: Likewise.
35683         * modules/inttypes: Likewise.
35684         * modules/localcharset: Likewise.
35685         * modules/locale: Likewise.
35686         * modules/math: Likewise.
35687         * modules/netdb: Likewise.
35688         * modules/netinet_in: Likewise.
35689         * modules/poll: Likewise.
35690         * modules/posix_spawnp-tests: Likewise.
35691         * modules/sched: Likewise.
35692         * modules/search: Likewise.
35693         * modules/selinux-h: Likewise.
35694         * modules/signal: Likewise.
35695         * modules/spawn: Likewise.
35696         * modules/stdarg: Likewise.
35697         * modules/stdbool: Likewise.
35698         * modules/stddef: Likewise.
35699         * modules/stdint: Likewise.
35700         * modules/stdio: Likewise.
35701         * modules/stdlib: Likewise.
35702         * modules/string: Likewise.
35703         * modules/strings: Likewise.
35704         * modules/sys_file: Likewise.
35705         * modules/sys_ioctl: Likewise.
35706         * modules/sys_select: Likewise.
35707         * modules/sys_socket: Likewise.
35708         * modules/sys_stat: Likewise.
35709         * modules/sys_time: Likewise.
35710         * modules/sys_times: Likewise.
35711         * modules/sys_utsname: Likewise.
35712         * modules/sys_wait: Likewise.
35713         * modules/sysexits: Likewise.
35714         * modules/time: Likewise.
35715         * modules/unistd: Likewise.
35716         * modules/wchar: Likewise.
35717         * modules/wctype: Likewise.
35718
35719 2009-08-22  Jim Meyering  <meyering@redhat.com>
35720
35721         announce-gen: detect write failure
35722         * build-aux/announce-gen: Add Coda at end.
35723         Remove equivalent-but-more-verbose block at top.
35724
35725 2009-08-19  Akim Demaille  <demaille@gostai.com>
35726
35727         bootstrap: --help to stdout.
35728         * bootstrap (usage): Don't send --help to stderr.
35729         Use a here doc instead of a long string.
35730
35731 2009-08-21  Eric Blake  <ebb9@byu.net>
35732
35733         test-popen-safer: split from test-popen
35734         * tests/test-popen.c (main): Move...
35735         * tests/test-popen.h: ...into new file.
35736         * tests/test-popen-safer2.c: New file.
35737         * modules/popen-tests (Files): Add test-popen.h.
35738         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
35739         Suggested by Bruno Haible.
35740
35741         test-fcntl-safer: split from test-open
35742         * tests/test-open.c (main): Move...
35743         * tests/test-open.h: ...into new file.
35744         * tests/test-fcntl-safer.c: New file.
35745         * modules/open-tests (Files): Add test-open.h.
35746         * modules/fcntl-safer-tests: New file.
35747         Suggested by Bruno Haible.
35748
35749         test-fopen-safer: split from test-fopen
35750         * tests/test-fopen.c (main): Move...
35751         * tests/test-fopen.h: ...into new file.
35752         * tests/test-fopen-safer.c: New file.
35753         * modules/fopen-tests (Files): Add test-fopen.h.
35754         * modules/fopen-safer-tests: New file.
35755         Suggested by Bruno Haible.
35756
35757 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
35758
35759         popen-safer: test O_CLOEXEC at run-time.
35760         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
35761
35762 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
35763
35764         fcntl: move more flags to the header
35765         * lib/cloexec.c: Do not define FD_CLOEXEC here.
35766         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
35767         * lib/fcntl.in.h: Do both things here.
35768
35769 2009-08-21  Jim Meyering  <meyering@redhat.com>
35770
35771         consistently remove $@-t before redirecting to it
35772         * modules/argz: Remove $@-t and $@ before redirecting to the former.
35773         * modules/alloca-opt: Likewise.
35774         * modules/byteswap: Likewise.
35775         * modules/fnmatch: Likewise.
35776         * modules/getopt-posix: Likewise.
35777         * modules/glob: Likewise.
35778         * modules/poll: Likewise.
35779         * modules/posix_spawnp-tests: Likewise.
35780         * modules/sys_socket: Likewise.
35781         * modules/sysexits: Likewise.
35782
35783 2009-08-21  Eric Blake  <ebb9@byu.net>
35784
35785         popen: simplify access to original popen
35786         * lib/popen.c (rpl_popen): No need to worry about popen being a
35787         macro.
35788         Reported by Bruno Haible.
35789
35790 2009-08-20  Eric Blake  <ebb9@byu.net>
35791
35792         build: avoid some compiler warnings
35793         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
35794         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
35795         type.
35796         (new_exclude_segment, excluded_file_pattern_p)
35797         (excluded_file_name_p): Reduce scope.
35798         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
35799         old-style declaration.
35800
35801 2009-08-20  Simon Josefsson  <simon@josefsson.org>
35802
35803         * tests/test-exclude1.sh: Handle Windows EOL.
35804         * tests/test-exclude2.sh: Likewise.
35805         * tests/test-exclude3.sh: Likewise.
35806         * tests/test-exclude4.sh: Likewise.
35807         * tests/test-exclude5.sh: Likewise.
35808         * tests/test-exclude6.sh: Likewise.
35809         * tests/test-exclude7.sh: Likewise.
35810
35811 2009-08-19  Akim Demaille  <demaille@gostai.com>
35812
35813         bootstrap: find sha1sum when named gsha1sum.
35814         * bootstrap (find_tool): New.
35815         ($SHA1SUM): New.
35816         Use it.
35817
35818 2009-08-20  Jim Meyering  <meyering@redhat.com>
35819
35820         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
35821         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
35822         expression that converts "." in a file name to "\." in the resulting
35823         regexp.  Start with a dummy statement, so that prior shell variable
35824         definitions are expanded portably.  Reported by Simon Josefsson.
35825
35826 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
35827
35828         Fix polling for writeability of a screen buffer.
35829         * lib/poll.c: Distinguish input and screen buffers for the
35830         Win32 implementation.
35831         * lib/select.c: Likewise.
35832
35833 2009-08-19  Eric Blake  <ebb9@byu.net>
35834
35835         popen-safer: prevent popen from clobbering std descriptors
35836         * modules/popen-safer: New file.
35837         * lib/popen-safer.c: Likewise.
35838         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
35839         * lib/stdio--.h (popen): Provide override.
35840         * lib/stdio-safer.h (popen_safer): Provide declaration.
35841         * tests/test-popen.c (includes): Partially test this.
35842         * modules/popen-safer-tests: New file, for more tests.
35843         * tests/test-popen-safer.c: Likewise.
35844         * MODULES.html.sh (file stream based Input/Output): Mention it.
35845
35846         tests: test some of the *-safer modules
35847         * modules/fopen-safer (Depends-on): Add fopen.
35848         * modules/fcntl-safer (Depends-on): Add fcntl.
35849         * modules/stdlib-safer (Depends-on): Add stdlib.
35850         (configure.ac): Set indicator.
35851         * modules/unistd-safer (configure.ac): Likewise.
35852         * modules/tmpfile-safer (configure.ac): Likewise.
35853         (Depends-on): Add tmpfile.
35854         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
35855         active.
35856         * tests/test-fopen.c (includes): Test safer versions when they are
35857         in use.
35858         * tests/test-open.c (includes): Likewise.
35859
35860         popen: fix cygwin 1.5 bug when stdin closed
35861         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
35862         * modules/popen: New file.
35863         * modules/popen-tests: Likewise.
35864         * tests/test-popen.c: Likewise.
35865         * m4/popen.m4: Likewise.
35866         * lib/popen.c: Likewise.
35867         * lib/stdio.in.h (popen): New declaration.
35868         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
35869         * modules/stdio (Makefile.am): Likewise.
35870         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
35871
35872 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
35873
35874         maint.mk: give full control over update-copyright exclusions
35875         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
35876         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
35877         (update-copyright): Don't force inclusion of top-level
35878         ChangeLog.  Don't force exclusion of all COPYING files, but make
35879         them the default exclusion instead.
35880
35881 2009-08-16  Bruno Haible  <bruno@clisp.org>
35882
35883         Fix test failures on Solaris 10.
35884         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
35885         tests when Solaris iconv() is used.
35886         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
35887         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
35888         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
35889         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
35890         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
35891
35892 2009-08-16  Bruno Haible  <bruno@clisp.org>
35893
35894         Fix test failures on Solaris 10.
35895         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
35896         'tr' program and pass it as first argument.
35897         * tests/test-pipe-filter-gi1.sh: Likewise.
35898         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
35899         program as first argument.
35900         * tests/test-pipe-filter-gi1.c (main): Likewise.
35901
35902 2009-08-16  Eric Blake  <ebb9@byu.net>
35903
35904         fpurge: fix previous commits
35905         * modules/fpurge (Makefile.am): Make replacement conditional,
35906         partially reverting 2007-04-29 change; missed in previous
35907         attempt.
35908         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
35909         is missing.
35910
35911 2009-08-16  Bruno Haible  <bruno@clisp.org>
35912
35913         Clarify fpurge's effect on the file position.
35914         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
35915         * tests/test-fpurge.c (main): Make a second pass for checking the file
35916         position.
35917
35918 2009-08-16  Bruno Haible  <bruno@clisp.org>
35919
35920         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
35921         declaration of fpurge is missing.
35922         * tests/test-fpurge.c (main): Check that the file has not more contents
35923         than expected. Close the file before removing it.
35924
35925 2009-08-15  Eric Blake  <ebb9@byu.net>
35926
35927         fpurge: don't wrap working cygwin implementation
35928         * lib/fpurge.c (fpurge): Fix comment typo.
35929         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
35930         1.7 to avoid replacement.
35931         * tests/test-fpurge.c (main): Enhance test.
35932
35933 2009-08-15  Eric Blake  <ebb9@byu.net>
35934         and Jim Meyering  <meyering@redhat.com>
35935
35936         test-update-copyright: skip if perl is insufficient
35937         * tests/test-update-copyright.sh: Failure to run maintainer tool
35938         should not cause testsuite failure on cygwin 1.5.
35939
35940 2009-08-14  Eric Blake  <ebb9@byu.net>
35941
35942         doc: mention more functions added in cygwin 1.7.0
35943         * doc/posix-headers/limits.texi (limits.h): Update for recent
35944         cygwin additions.
35945         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
35946         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
35947         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
35948         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
35949         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
35950
35951 2009-08-14  Eric Blake  <ebb9@byu.net>
35952
35953         maint.mk: simplify update-copyright rule
35954         * top/maint.mk (update-copyright-local): Delete, and document how
35955         to do it in cfg.mk instead.
35956         (update-copyright-exclude-regexp): Delete, and document how to do
35957         it in .x-update-copyright instead.
35958         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
35959         exclude ChangeLog.
35960
35961 2009-08-14  Bruno Haible  <bruno@clisp.org>
35962
35963         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
35964
35965 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
35966
35967         maint.mk: support update-copyright-env
35968         * top/maint.mk (update-copyright-env): Define place-holder.
35969         (update-copyright): Expand $(update-copyright-env) before
35970         invoking update-copyright.
35971
35972 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
35973
35974         update-copyright: implement forced reformatting
35975         * build-aux/update-copyright: Implement and document
35976         UPDATE_COPYRIGHT_FORCE.
35977         * tests/test-update-copyright.sh: Test it.
35978
35979 2009-08-14  Eric Blake  <ebb9@byu.net>
35980         and Bruno Haible  <bruno@clisp.org>
35981
35982         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
35983         * tests/test-locale.c: Revert previous patch related to NULL.
35984         * tests/test-stdio.c: Likewise.
35985         * tests/test-stdlib.c: Likewise.
35986         * tests/test-string.c: Likewise.
35987         * tests/test-unistd.c: Likewise.
35988         * modules/time-tests (Depends-on): Add verify.
35989         * modules/wchar-tests (Depends-on): Likewise.
35990         * tests/test-time.c: Test for NULL compliance.
35991         * tests/test-wchar.c: Likewise.
35992         * modules/locale (Depends-on): Add stddef.
35993         * modules/stdio (Depends-on): Likewise.
35994         * modules/stdlib (Depends-on): Likewise.
35995         * modules/string (Depends-on): Likewise.
35996         * modules/time (Depends-on): Likewise.
35997         * modules/unistd (Depends-on): Likewise.
35998         * modules/wchar (Depends-on): Likewise.
35999         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36000         * lib/stdlib.in.h (includes): Likewise.
36001         * lib/string.in.h (includes): Likewise.
36002         * lib/time.in.h (includes): Likewise.
36003         * lib/unistd.in.h (includes): Likewise.
36004         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36005         replaced.
36006         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36007         * m4/stddef_h.m4: New file.
36008         * modules/stddef: Likewise.
36009         * lib/stddef.in.h: Likewise.
36010         * modules/stddef-tests: Likewise.
36011         * tests/test-stddef.c: Likewise.
36012         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36013         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36014         * doc/posix-headers/locale.texi (locale.h): Likewise.
36015         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36016         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36017         * doc/posix-headers/string.texi (string.h): Likewise.
36018         * doc/posix-headers/time.texi (time.h): Likewise.
36019         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36020         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36021
36022 2009-08-14  Eric Blake  <ebb9@byu.net>
36023
36024         doc: improve git diff of texinfo files
36025         * .gitattributes: Add rule for *.texi files, with hint on how to
36026         use it.
36027         Copied from m4, and based on a report by Bruno Haible.
36028
36029 2009-08-14  Bruno Haible  <bruno@clisp.org>
36030
36031         Disable multithread support by default on Cygwin 1.5.x for real.
36032         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36033
36034 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36035
36036         update-copyright: much ado about intervals
36037         * build-aux/update-copyright: Implement and document
36038         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36039         of copyright year intervals.
36040         Also, document UPDATE_COPYRIGHT_YEAR.
36041         * tests/test-update-copyright.sh: Test it.
36042
36043         update-copyright: convert 2-digit to 4-digit years
36044         * build-aux/update-copyright: Implement and document.
36045         * tests/test-update-copyright.sh: Update.
36046
36047 2009-08-14  Jim Meyering  <meyering@redhat.com>
36048
36049         test-exclude: avoid coreutils "make check" failure
36050         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36051         just as in test-argmatch.c.
36052
36053 2009-08-13  Eric Blake  <ebb9@byu.net>
36054
36055         test-dup2: fix bad assumption
36056         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36057         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36058
36059         test-version-etc: fix CRLF portability issue
36060         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36061         recognize \r.
36062         * tests/test-argp-version-etc-1.sh: Likewise.
36063
36064         getopt: update client modules
36065         * modules/argp (Depends-on): Use getopt-gnu.
36066         * modules/git-merge-changelog (Depends-on): Likewise.
36067         * modules/long-options (Depends-on): Likewise.
36068         * modules/xstrtol (Depends-on): Likewise.
36069
36070 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36071
36072         * tests/test-version-etc.sh: Don't fail on different
36073         project/version.  Don't fail on CRLF differences.  Rewrite to use
36074         multiple -e instead of multiple sed forks, suggested by Eric Blake
36075         <ebb9@byu.net>.
36076         * tests/test-argp-version-etc-1.sh: Likewise.
36077
36078 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36079
36080         * tests/test-version-etc.sh: Don't fail on different
36081         project/version.
36082
36083 2009-08-12  Bruno Haible  <bruno@clisp.org>
36084
36085         Tests for modules 'getopt-posix', 'getopt-gnu'.
36086         * modules/getopt-posix-tests: New file.
36087         * tests/test-getopt.c: New file.
36088         * tests/test-getopt.h: New file.
36089         * tests/test-getopt_long.h: New file.
36090
36091         New modules 'getopt-posix', 'getopt-gnu'.
36092         * modules/getopt-gnu: New file, renamed from modules/getopt.
36093         * modules/getopt-posix: New file.
36094         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36095         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36096         (gl_GETOPT): Remove macro.
36097         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36098         Disable the test against BSD systems that declare optreset. Test
36099         against mingw bug. Test against lack of support of optional arguments
36100         on many platforms.
36101         * doc/glibc-headers/getopt.texi: Update module name and list of
36102         relevant platforms.
36103         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36104         'getopt-gnu' and more portability problems.
36105         * NEWS: Mention the changes.
36106
36107 2009-08-12  Bruno Haible  <bruno@clisp.org>
36108
36109         Ensure that optarg etc. get declared by <unistd.h>.
36110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36111         AC_USE_SYSTEM_EXTENSIONS.
36112         * modules/getopt (Depends-on): Add 'extensions'.
36113
36114 2009-08-12  Bruno Haible  <bruno@clisp.org>
36115
36116         Avoid test link errors.
36117         * modules/pipe-filter-ii-tests (Makefile.am): Define
36118         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36119         * modules/pipe-filter-gi-tests (Makefile.am): Define
36120         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36121         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36122
36123 2009-08-12  Bruno Haible  <bruno@clisp.org>
36124
36125         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36126         gl_GETOPT_SUBSTITUTE before.
36127         (gl_GETOPT): Use it.
36128         * m4/argp.m4 (gl_ARGP): Update.
36129         Reported by Sergey Poznyakoff.
36130
36131         * m4/getopt.m4: Reorder macros.
36132         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36133         (gl_GETOPT_SUBSTITUTE): Remove macro.
36134
36135 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36136
36137         Minor improvement in gitlog-to-changelog
36138
36139         * build-aux/gitlog-to-changelog: New option `--format' makes
36140         output format string configurable.
36141
36142 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36143
36144         Optimize exclude: use hash tables for non-wildcard patterns.
36145
36146         * lib/exclude.c: Include hash.h and mbuiter.h
36147         (struct exclude_pattern, exclude_segment): New data types.
36148         (struct exclude): Rewrite.
36149         (fnmatch_pattern_has_wildcards): New function.
36150         (new_exclude_segment, free_exclude_segment): New functions.
36151         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36152         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36153         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36154         * modules/exclude: Depend on hash and mbuiter.
36155
36156         * modules/exclude-tests: New file.
36157         * tests/test-exclude.c: New file.
36158         * tests/test-exclude1.sh: New file.
36159         * tests/test-exclude2.sh: New file.
36160         * tests/test-exclude3.sh: New file.
36161         * tests/test-exclude4.sh: New file.
36162         * tests/test-exclude5.sh: New file.
36163         * tests/test-exclude6.sh: New file.
36164         * tests/test-exclude7.sh: New file.
36165
36166 2009-08-12  Bruno Haible  <bruno@clisp.org>
36167
36168         Ensure that getopt() gets declared by <unistd.h>.
36169         * lib/unistd.in.h: Conditionally include getopt.h.
36170         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36171         Set GNULIB_UNISTD_H_GETOPT.
36172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36173         GNULIB_UNISTD_H_GETOPT.
36174         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36175
36176 2009-08-12  Bruno Haible  <bruno@clisp.org>
36177
36178         Clarify logic.
36179         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36180         gl_replace_getopt instead of GETOPT_H.
36181
36182 2009-08-12  Bruno Haible  <bruno@clisp.org>
36183
36184         * m4/getopt.m4: Add comments.
36185
36186 2009-08-12  Bruno Haible  <bruno@clisp.org>
36187
36188         Disable multithread support by default on Cygwin 1.5.x.
36189         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36190         set gl_use_threads=no if not specified otherwise.
36191
36192 2009-08-11  Bruno Haible  <bruno@clisp.org>
36193
36194         Avoid compilation error on NetBSD 5.0.
36195         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36196         * tests/test-stdio.c: Likewise.
36197         * tests/test-stdlib.c: Likewise.
36198         * tests/test-string.c: Likewise.
36199         * tests/test-unistd.c: Likewise.
36200         Reported by Greg Troxel <gdt@ir.bbn.com>
36201         at <https://savannah.gnu.org/support/?106973>.
36202
36203 2009-08-11  Bruno Haible  <bruno@clisp.org>
36204
36205         * modules/dup2-tests (Depends-on): Remove close.
36206
36207         Undo 2009-07-19 commit.
36208         * modules/acl-tests (Depends-on): Remove close.
36209         * modules/binary-io-tests (Depends-on): Likewise.
36210         * modules/closein-tests (Depends-on): Likewise.
36211         * modules/flock-tests (Depends-on): Likewise.
36212         * modules/fsync-tests (Depends-on): Likewise.
36213         * modules/lseek-tests (Depends-on): Likewise.
36214         * modules/pipe-tests (Depends-on): Likewise.
36215         * modules/posix_spawn-tests (Depends-on): Likewise.
36216         * modules/posix_spawnp-tests (Depends-on): Likewise.
36217         * modules/stat-time-tests (Depends-on): Likewise.
36218         * modules/yesno-tests (Depends-on): Likewise.
36219
36220 2009-08-10  Bruno Haible  <bruno@clisp.org>
36221
36222         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36223
36224 2009-08-10  Bruno Haible  <bruno@clisp.org>
36225
36226         Fix a gcc warning.
36227         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36228
36229 2009-08-10  Bruno Haible  <bruno@clisp.org>
36230
36231         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36232         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36233         not only the first time.
36234         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36235         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36236         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36237         is 1, not only the the first time.
36238
36239 2009-08-10  Bruno Haible  <bruno@clisp.org>
36240
36241         Make it possible to use module 'gethostname' without module 'close'.
36242         * lib/unistd.in.h (close): Evoke a link error only if
36243         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36245         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36246         * modules/unistd (Makefile.am): Substitute
36247         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36248         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36249         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36250         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36251         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36252         * modules/sys_ioctl (Makefile.am): Substitute
36253         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36254         * modules/socket (configure.ac): On native Windows, set
36255         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36256         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36257         Reported by Sam Steingold <sds@gnu.org>.
36258
36259 2009-08-10  Bruno Haible  <bruno@clisp.org>
36260
36261         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36262         * modules/ioctl (configure.ac): Likewise.
36263
36264 2009-08-10  Bruno Haible  <bruno@clisp.org>
36265
36266         Avoid collision between gnulib wrapper and libintl wrapper.
36267         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36268         already defined in intl/printf.c.
36269         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36270         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36271
36272 2009-08-09  Bruno Haible  <bruno@clisp.org>
36273
36274         Make <sys/select.h> really self-contained, also on Solaris 10.
36275         * lib/sys_select.in.h: Include <string.h>.
36276         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36277         Solaris 10 problem.
36278         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36279         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36280         Reported by Jim Meyering.
36281
36282 2009-08-09  Bruno Haible  <bruno@clisp.org>
36283
36284         Avoid warnings from 'aclocal' that are due to a use of macro name
36285         AM_XGETTEXT_OPTION that is not defined in automake.
36286         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36287         automake.
36288         * modules/error (configure.ac): Likewise.
36289         * modules/propername (configure.ac): Likewise.
36290         * modules/vasprintf (configure.ac): Likewise.
36291         * modules/verror (configure.ac): Likewise.
36292         * modules/xprintf (configure.ac): Likewise.
36293         * modules/xvasprintf (configure.ac): Likewise.
36294
36295 2009-08-08  Bruno Haible  <bruno@clisp.org>
36296
36297         Avoid compilation error in C++ mode.
36298         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36299         Reported by Sam Steingold <sds@gnu.org>.
36300
36301 2009-08-08  Bruno Haible  <bruno@clisp.org>
36302
36303         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36304         for the various Unix platforms.
36305         * doc/posix-headers/limits.texi: Update platforms list regarding
36306         HOST_NAME_MAX.
36307         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36308
36309 2009-08-07  Jim Meyering  <meyering@redhat.com>
36310
36311         selinux-at: fix typo in a comment
36312         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36313         Spotted by Paolo Bonzini.
36314
36315         selinux-at: remove redundant m4 code, add documentation
36316         * modules/selinux-at (configure.ac): Remove redundant code.
36317         LIB_SELINUX is already set via the dependent module, selinux-h.
36318         (Include): Add quotes around selinux-at.h.
36319         * lib/selinux-at.h: Add documentation.
36320         Reported by Bruno Haible in
36321         http://marc.info/?l=gnulib-bug&m=124958988300749
36322
36323 2009-08-07  Bruno Haible  <bruno@clisp.org>
36324
36325         Avoid link error on MacOS X 10.3 and 10.4.
36326         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36327         on non-ELF systems.
36328         * lib/argp-pv.c (argp_program_version): Likewise.
36329         Reported by Simon Josefsson.
36330
36331 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36332
36333         * tests/test-version-etc.sh: Use $EXEEXT.
36334
36335 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36336
36337         update-copyright: update documentation to point to maint.mk
36338         * build-aux/update-copyright: Here.
36339
36340 2009-08-06  Jim Meyering  <meyering@redhat.com>
36341
36342         maint.mk: support update-copyright-local
36343         * top/maint.mk (update-copyright-local): Define place-holder.
36344         (update-copyright): Depend on $(update-copyright-local).
36345
36346 2009-08-06  Jim Meyering  <meyering@redhat.com>
36347
36348         selinux-at: new module
36349         Initially written for coreutils, this module will soon be
36350         used by findutils, too.
36351         * MODULES.html.sh [Misc]: Add selinux-at.
36352         * lib/selinux-at.h: New file, from coreutils.
36353         * lib/selinux-at.c: Likewise.
36354         * modules/selinux-at: Likewise.
36355         (License): Change from LGPL to GPL, since it depends
36356         on the GPL'd openat module.
36357
36358         doc: update README
36359         * README: Remove references to cogito.
36360         Remove cvs-repo-updating instructions from 2007.
36361         Don't imply that CVS is better if you have limited disk space.
36362
36363 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36364
36365         update-copyright: support C-style comments
36366         * build-aux/update-copyright: Implement and document.
36367         * tests/test-update-copyright.sh: Test.
36368
36369 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36370
36371         update-copyright: support omitted "(C)"
36372         * build-aux/update-copyright: Implement and document.  Also,
36373         allow variable whitespace before "(C)".
36374         * tests/test-update-copyright.sh: Test.
36375
36376 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36377
36378         update-copyright: don't trip on non-FSF copyright statements
36379         * build-aux/update-copyright: Fix so that the first correctly
36380         formatted FSF copyright statement is recognized no matter what
36381         appears before it.  Update documentation.
36382         * tests/test-update-copyright.sh: Test that.
36383
36384 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36385
36386         update-copyright: clean up code a little
36387         * build-aux/update-copyright: Append "_re" to the name of any
36388         variable holding a regular expression.
36389         Replace "old" and "new" with "stmt" in variable names.
36390         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36391         handled correctly.
36392         Format code more consistently.
36393
36394 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36395
36396         update-copyright-tests: improve portability
36397         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36398         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36399
36400 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36401
36402         update-copyright: support @copyright{} and &copy;
36403         * build-aux/update-copyright: Implement and document.
36404         * tests/test-update-copyright.sh: Test.
36405
36406 2009-08-04  Jim Meyering  <meyering@redhat.com>
36407
36408         update-copyright-tests: correctly test EOL=\r\n handling
36409         * tests/test-update-copyright.sh: Put \r at the end of some lines
36410         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36411
36412         maint.mk: make update-copyright exclusion list more configurable
36413         * top/maint.mk (update-copyright): Default to excluding COPYING,
36414         but allow an override, in case someone does want to update that file.
36415
36416         maint.mk: don't update copyright date in COPYING
36417         * top/maint.mk (update-copyright): Exclude COPYING.
36418
36419         maint.mk: add a copyright-updating rule
36420         * top/maint.mk (update-copyright): New rule.
36421         Derived from coreutils/Makefile.am.
36422
36423         update-copyright: rename some variables
36424         * build-aux/update-copyright: Rename a few variables for clarity.
36425         Tweak syntax.  List Joel E. Denny as coauthor.
36426
36427 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36428
36429         update-copyright: fix bug for 2-digit last year and add tests
36430         * build-aux/update-copyright: Fix bug.
36431         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36432         specified.
36433         * modules/update-copyright-tests: New
36434         * tests/test-update-copyright.sh: New.
36435
36436 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36437
36438         update-copyright: handle leading tabs in line prefix
36439         * build-aux/update-copyright: Count leading tabs as 8 spaces
36440         when computing margin.  This helps with the formatting of
36441         ChangeLogs, for example.
36442         Fix documentation a little.
36443
36444 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36445
36446         update-copyright: support EOL=\r\n
36447         * build-aux/update-copyright: Implement that.
36448
36449 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36450
36451         update-copyright: automatically format copyright statements
36452         * build-aux/update-copyright: Implement that.
36453         Also, be a little more predictable and safer by always failing
36454         when the full copyright format is not perfectly recognized as an
36455         unbroken whole.  Discussed at
36456         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36457         Rewrite documentation.
36458
36459 2009-08-03  Bruno Haible  <bruno@clisp.org>
36460
36461         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36462
36463 2009-08-02  Bruno Haible  <bruno@clisp.org>
36464
36465         Tests for module 'uname'.
36466         * modules/uname-tests: New file.
36467         * tests/test-uname.c: New file.
36468
36469         New module 'uname'.
36470         * lib/uname.c: New file.
36471         * m4/uname.m4: New file.
36472         * modules/uname: New file.
36473         * doc/posix-functions/uname.texi: Mention the new module.
36474
36475 2009-08-02  Bruno Haible  <bruno@clisp.org>
36476
36477         Tests for module 'sys_utsname'.
36478         * modules/sys_utsname-tests: New file.
36479         * tests/test-sys_utsname.c: New file.
36480
36481         New module 'sys_utsname'.
36482         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
36483         * m4/sys_utsname_h.m4: New file.
36484         * modules/sys_utsname: New file.
36485         * doc/posix-headers/sys_utsname.texi: Mention the new module.
36486
36487 2009-08-02  Bruno Haible  <bruno@clisp.org>
36488
36489         Implicitly initialize the sockets library.
36490         * lib/gethostname.c: Include sockets.h.
36491         (rpl_gethostname): Invoke gl_sockets_startup.
36492         * lib/socket.c: Include sockets.h.
36493         (rpl_socket): Invoke gl_sockets_startup.
36494         * modules/gethostname (Depends-on): Add sockets.
36495         * modules/socket (Depends-on): Likewise.
36496         * tests/test-poll.c: Don't include sockets.h.
36497         (main): Don't invoke gl_sockets_startup.
36498         * tests/test-select.c: Don't include sockets.h.
36499         (main): Don't invoke gl_sockets_startup.
36500
36501 2009-08-02  Bruno Haible  <bruno@clisp.org>
36502
36503         Allow multiple calls to gl_sockets_startup.
36504         * lib/sockets.c (initialized_sockets_version): New variable.
36505         (gl_sockets_startup): Do nothing if already called for this or a higher
36506         version.
36507         (gl_sockets_cleanup): Reset initialized_sockets_version.
36508
36509 2009-08-03  Simon Josefsson  <simon@josefsson.org>
36510
36511         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
36512         different project/version.
36513
36514 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
36515             Bruno Haible  <bruno@clisp.org>
36516
36517         Tests for module 'pipe-filter-gi'.
36518         * modules/pipe-filter-gi-tests: New file.
36519         * tests/test-pipe-filter-gi1.sh: New file.
36520         * tests/test-pipe-filter-gi1.c: New file.
36521         * tests/test-pipe-filter-gi2.sh: New file.
36522         * tests/test-pipe-filter-gi2-main.c: New file.
36523         * tests/test-pipe-filter-gi2-child.c: New file.
36524
36525         New module 'pipe-filter-gi'.
36526         * lib/pipe-filter-gi.c: New file.
36527         * modules/pipe-filter-gi: New file.
36528
36529 2009-08-02  Bruno Haible  <bruno@clisp.org>
36530             Paolo Bonzini  <bonzini@gnu.org>
36531
36532         Tests for module 'pipe-filter-ii'.
36533         * modules/pipe-filter-ii-tests: New file.
36534         * tests/test-pipe-filter-ii1.sh: New file.
36535         * tests/test-pipe-filter-ii1.c: New file.
36536         * tests/test-pipe-filter-ii2.sh: New file.
36537         * tests/test-pipe-filter-ii2-main.c: New file.
36538         * tests/test-pipe-filter-ii2-child.c: New file.
36539
36540         New module 'pipe-filter-ii'.
36541         * lib/pipe-filter.h: New file.
36542         * lib/pipe-filter-ii.c: New file.
36543         * lib/pipe-filter-aux.h: New file.
36544         * modules/pipe-filter-ii: New file.
36545
36546 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36547
36548         * lib/gc-libgcrypt.c: Change copyright to FSF.
36549         * lib/gc-gnulib.c: Likewise.
36550
36551 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
36552
36553         * lib/gethostname.c: Include limits.h.
36554
36555 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36556             Bruno Haible  <bruno@clisp.org>
36557
36558         Ensure HOST_NAME_MAX as part of the gethostname module.
36559         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
36560         define also HOST_NAME_MAX.
36561         * tests/test-gethostname.c: Include <limits.h>.
36562         (main): Check also HOST_NAME_MAX.
36563         * doc/posix-headers/limits.texi: Document the mingw problem.
36564
36565 2009-08-02  Bruno Haible  <bruno@clisp.org>
36566
36567         * lib/gethostname.c (gethostname): Fix handling of large len argument.
36568         Add comments.
36569
36570 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36571
36572         * lib/gethostname.c: Add Windows wrapper.
36573         * m4/gethostname.m4: Look for gethostname in -lws2_32.
36574         * modules/gethostname: Depend on sys_socket & errno, for also
36575         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
36576         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
36577
36578 2009-07-31  Jim Meyering  <meyering@redhat.com>
36579
36580         getloadavg: fix symbol name in comment
36581         * lib/getloadavg.c: Correct a typo I introduced when adding
36582         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
36583         Matt Kraai spotted the problem.
36584
36585 2009-07-29  Matt Kraai  <mkraai@beckman.com>
36586
36587         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
36588         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
36589         code also if ! defined N_NAME_POINTER.
36590         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
36591         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
36592         but the n_name member is a 12-byte array.
36593
36594 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
36595
36596         update-copyright: generalize comment handling
36597         * build-aux/update-copyright: Handle copyright statements
36598         within more comment styles.
36599         Document usage.
36600         Report any file with an external copyright holder or parse failure.
36601
36602 2009-07-29  Jim Meyering  <meyering@redhat.com>
36603
36604         mktime: correct setting of REPLACE_MKTIME
36605         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
36606
36607         update-copyright: new module
36608         * modules/update-copyright: New file.
36609         * build-aux/update-copyright: New file.
36610         * MODULES.html.sh (maint+release support): Add update-copyright.
36611
36612 2009-07-27  Bruno Haible  <bruno@clisp.org>
36613
36614         Fix compilation error when <ctime> is used and mktime is replaced.
36615         * lib/time.in.h (mktime): New declaration.
36616         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
36617         REPLACE_MKTIME instead of defining mktime in config.h.
36618         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
36619         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
36620         Reported by Ross McFarland <rwmcfa1@neces.com>.
36621
36622 2009-07-27  Bruno Haible  <bruno@clisp.org>
36623
36624         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
36625         Reported by Matt Kraai <mkraai@beckman.com>.
36626
36627 2009-07-25  Jim Meyering  <meyering@redhat.com>
36628
36629         maint.mk: avoid warnings about missing files
36630         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
36631         diagnostic when .prev-version does not exist.
36632         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
36633         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
36634         nonexistent cfg.mk.
36635         Suggestions from Simon Josefsson.
36636
36637 2009-07-25  Bruno Haible  <bruno@clisp.org>
36638
36639         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
36640         defined as macros. Needed on QNX 6.4.1.
36641         Reported by Matt Kraai <mkraai@beckman.com>.
36642
36643 2009-07-23  Jim Meyering  <meyering@redhat.com>
36644
36645         maint.mk: invoke "make dist" with a working value of XZ_OPT
36646         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
36647
36648 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
36649
36650         Make fseeko.c compile on QNX.
36651         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
36652
36653 2009-07-22  Peter Simons  <simons@cryp.to>
36654
36655         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
36656         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
36657         * lib/md4.h: Likewise.
36658         * lib/md5.h: Likewise.
36659         * lib/sha1.h: Likewise.
36660         * lib/sha256.h: Likewise.
36661         * lib/sha512.h: Likewise.
36662
36663         tests-sha1: don't assign literal string to 'char *' variable
36664         * tests/test-sha1.c (main): Declare locals with "const" to match
36665         attributes of the right hand side.
36666
36667 2009-07-21  Eric Blake  <ebb9@byu.net>
36668
36669         dup2: fix more mingw problems
36670         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
36671         fd to itself.
36672         * doc/posix-functions/dup2.texi (dup2): Document the bug.
36673         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
36674         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
36675         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
36676         care of mingw bugs.
36677
36678 2009-07-21  Jim Meyering  <meyering@redhat.com>
36679
36680         vc-list-files: avoid failure when /bin/sh is dash
36681         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
36682         On some Debian based systems, /bin/sh is a symlink to dash, and running
36683         this command would omit the "/" following each 'tests' prefix:
36684           dash -x build-aux/vc-list-files -C . tests
36685         That is because bash and dash work differently:
36686           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
36687           bash ok
36688           dash odd
36689
36690 2009-07-21  Eric Blake  <ebb9@byu.net>
36691
36692         dup2-tests: test previous patch
36693         * modules/dup2-tests: New file.
36694         * tests/test-dup2.c: Likewise.
36695         * tests/test-open.c (main): Avoid unspecified behavior.
36696         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
36697         test.
36698
36699         dup2: work around mingw and cygwin 1.5 bug
36700         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
36701         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36702         * modules/unistd (Makefile.am): Substitute it.
36703         * lib/unistd.in.h (dup2): Declare the replacement.
36704         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
36705         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
36706         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
36707         * modules/execute (Depends-on): Add dup2.
36708         * modules/fseterr (Depends-on): Likewise.
36709         * modules/pipe (Depends-on): Likewise.
36710         * modules/posix_spawn-internal (Depends-on): Likewise.
36711
36712 2009-07-21  Bruno Haible  <bruno@clisp.org>
36713
36714         * modules/.gitattributes: New file.
36715
36716 2009-07-20  Bruno Haible  <bruno@clisp.org>
36717
36718         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
36719         (main): Use it.
36720
36721 2009-07-20  Eric Blake  <ebb9@byu.net>
36722
36723         test-pipe: make a bit more robust.
36724         * tests/test-pipe.c (myerr): Allow error messages regardless of
36725         what we do to stderr.
36726         (test_pipe): Rearrange to avoid deadlock.
36727         (child_main): Try a larger read, to ensure we avoided deadlock.
36728         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
36729         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
36730         if misused.
36731
36732 2009-07-19  Jim Meyering  <meyering@redhat.com>
36733
36734         fts: avoid false-positive cycle-detection
36735         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
36736         for each new command line argument.
36737
36738 2009-07-19  Bruno Haible  <bruno@clisp.org>
36739
36740         Fix build error on mingw with the modules sys_select and unistd.
36741         * modules/acl-tests (Depends-on): Add close.
36742         * modules/binary-io-tests (Depends-on): Likewise.
36743         * modules/closein-tests (Depends-on): Likewise.
36744         * modules/flock-tests (Depends-on): Likewise.
36745         * modules/fsync-tests (Depends-on): Likewise.
36746         * modules/lseek-tests (Depends-on): Likewise.
36747         * modules/pipe-tests (Depends-on): Likewise.
36748         * modules/posix_spawn-tests (Depends-on): Likewise.
36749         * modules/posix_spawnp-tests (Depends-on): Likewise.
36750         * modules/stat-time-tests (Depends-on): Likewise.
36751         * modules/yesno-tests (Depends-on): Likewise.
36752
36753 2009-07-19  Bruno Haible  <bruno@clisp.org>
36754
36755         Unify conditionals.
36756         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
36757         macros, not at the compiler macros.
36758         * lib/pipe.c: Likewise.
36759         * lib/execute.c: Likewise.
36760         * lib/spawni.c: Likewise.
36761
36762 2009-07-19  Bruno Haible  <bruno@clisp.org>
36763
36764         Fix handling of closed stdin/stdout/stderr on mingw.
36765         * lib/w32spawn.h: Include unistd.h.
36766         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
36767         file descriptor with O_NOINHERIT flag.
36768         (fd_safer_noinherit): New function, based on fd-safer.c.
36769         (dup_safer_noinherit): New function, based on dup-safer.c.
36770         (undup_safer_noinherit): New function.
36771         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
36772         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
36773         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
36774         instead of fd_safer.
36775         * tests/test-pipe.c: Include <windows.h>.
36776         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
36777         result.
36778
36779         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
36780         from main.
36781         (test_pipe): Pass an extra argument for disambiguation.
36782         (main): Invoke parent_main or child_main.
36783
36784         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
36785         consistently.
36786
36787 2009-07-18  Eric Blake  <ebb9@byu.net>
36788
36789         test-pipe: fix mingw build
36790         * tests/test-pipe.c (main): Avoid fcntl on mingw.
36791
36792 2009-07-18  Bruno Haible  <bruno@clisp.org>
36793
36794         * modules/pipe-tests (Makefile.am): Fix typo.
36795
36796 2009-07-18  Eric Blake  <ebb9@byu.net>
36797
36798         error: fix mingw build
36799         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
36800         Reported by Bruno Haible.
36801
36802         error: avoid undefined use of stdout
36803         * lib/error.c (error, error_at_line): Check that fd 1 is open
36804         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
36805         is handling faults and the close_stdout module wants to report the
36806         detection of closed stdout as an error.
36807
36808 2009-07-17  Eric Blake  <ebb9@byu.net>
36809
36810         pipe: be robust in face of closed fds
36811         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
36812         should cause child to misbehave.
36813         * modules/pipe-tests: New module.
36814         * tests/test-pipe.c: New file.
36815         * tests/test-pipe.sh: New file.
36816         Reported by Akim Demaille.
36817
36818 2009-07-14  Bruno Haible  <bruno@clisp.org>
36819
36820         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
36821         Reported by anonymous kc.
36822
36823 2009-07-07  Jim Meyering  <meyering@redhat.com>
36824
36825         maint.mk: don't look for translatable strings in *.m4 or *.mk
36826         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
36827         when searching for translatable strings.
36828
36829 2009-07-05  Jim Meyering  <meyering@redhat.com>
36830
36831         remove superfluous parentheses in STREQ definition
36832         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
36833         * lib/getugroups.c (STREQ): Likewise.
36834         * lib/fnmatch.c (STREQ): Likewise.
36835         Spotted by Bruno Haible.
36836
36837 2009-07-04  Jim Meyering  <meyering@redhat.com>
36838
36839         argv-iter: new module
36840         * MODULES.html.sh: Add argv-iter.
36841         * lib/argv-iter.c, lib/argv-iter.h: New files.
36842         * modules/argv-iter: New file.
36843         * modules/argv-iter-tests: New file.
36844         * tests/test-argv-iter.c: Test it.
36845
36846 2009-07-04  Bruno Haible  <bruno@clisp.org>
36847
36848         Fix assertion.
36849         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
36850         contains more exact copies of a given entry than file2, leave the extra
36851         copies unpaired rather than aborting.
36852         Reported by Eric Blake.
36853
36854 2009-07-02  Bruno Haible  <bruno@clisp.org>
36855
36856         Speedup git-merge-changelog for git cherry-pick.
36857         * lib/git-merge-changelog.c (struct entries_mapping): New type.
36858         (entries_mapping_get): New function, extracted from compute_mapping.
36859         (entries_mapping_reverse_get): New function.
36860         (compute_mapping): Add a 'full' argument. Return the result in a
36861         'struct entries_mapping'.
36862         (main): Update. Access the mappings through entries_mapping_get.
36863         Reported by Eric Blake.
36864
36865 2009-07-02  Bruno Haible  <bruno@clisp.org>
36866
36867         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
36868         best_i.
36869
36870 2009-07-02  Bruno Haible  <bruno@clisp.org>
36871
36872         Speed up approximate search for matching ChangeLog entries.
36873         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
36874         argument. Call fstrcmp_bounded instead of fstrcmp.
36875         (compute_mapping, try_split_merged_entry, main): Update callers.
36876
36877 2009-07-02  Bruno Haible  <bruno@clisp.org>
36878
36879         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
36880
36881 2009-06-30  Bruno Haible  <bruno@clisp.org>
36882
36883         Reduce the number of uc_is_cased calls.
36884         * lib/unicase.h (casing_suffix_context_t): Add
36885         'first_char_except_ignorable' field.
36886         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
36887         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
36888         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
36889         Update initializer.
36890         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
36891         case-ignorable characters.
36892         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
36893         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
36894         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
36895         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
36896         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
36897
36898 2009-06-30  Bruno Haible  <bruno@clisp.org>
36899
36900         Tests for module 'unicase/ignorable'.
36901         * modules/unicase/ignorable-tests: New file.
36902         * tests/unicase/test-ignorable.c: New file, generated by
36903         gen-uni-tables.
36904
36905         Tests for module 'unicase/cased'.
36906         * modules/unicase/cased-tests: New file.
36907         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
36908         * tests/unicase/test-predicate-part1.h: New file, derived from
36909         tests/unictype/test-predicate-part1.h.
36910         * tests/unicase/test-predicate-part2.h: New file, same as
36911         tests/unictype/test-predicate-part2.h.
36912
36913         Fix evaluation of "Before C" condition of FINAL_SIGMA.
36914         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
36915         (output_casing_properties): New function.
36916         (main): Call it.
36917         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
36918         * lib/unicase/cased.c: Include unictype/bitmap.h.
36919         (uc_is_cased): Define through a bitmap lookup.
36920         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
36921         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
36922         (uc_is_case_ignorable): Define through a bitmap lookup.
36923         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
36924         lib/unictype/bitmap.h.
36925         (Depends-on): Add inline. Clean up.
36926         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
36927         lib/unictype/bitmap.h.
36928         (Depends-on): Add inline. Clean up.
36929         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
36930         recognition.
36931         * tests/unicase/test-u16-tolower.c (main): Likewise.
36932         * tests/unicase/test-u32-tolower.c (main): Likewise.
36933
36934 2009-06-30  Bruno Haible  <bruno@clisp.org>
36935
36936         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
36937         * lib/unicase/u16-casemap.c: Likewise.
36938         * lib/unicase/u32-casemap.c: Likewise.
36939
36940 2009-06-29  Bruno Haible  <bruno@clisp.org>
36941
36942         Define u32_casefold as a wrapper around u32_ct_casefold.
36943         * lib/unicase/u32-casefold.c: Update.
36944         * modules/unicase/u32-casefold (Depends-on): Add
36945         unicase/u32-ct-casefold, unicase/empty-prefix-context,
36946         unicase/empty-suffix-context. Clean up.
36947
36948         Define u16_casefold as a wrapper around u16_ct_casefold.
36949         * lib/unicase/u16-casefold.c: Update.
36950         * modules/unicase/u16-casefold (Depends-on): Add
36951         unicase/u16-ct-casefold, unicase/empty-prefix-context,
36952         unicase/empty-suffix-context. Clean up.
36953
36954         Define u8_casefold as a wrapper around u8_ct_casefold.
36955         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
36956         * lib/unicase/u8-casefold.c: Update.
36957         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
36958         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
36959
36960         Define u32_totitle as a wrapper around u32_ct_totitle.
36961         * lib/unicase/u32-totitle.c: Update.
36962         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
36963         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
36964
36965         Define u16_totitle as a wrapper around u16_ct_totitle.
36966         * lib/unicase/u16-totitle.c: Update.
36967         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
36968         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
36969
36970         Define u8_totitle as a wrapper around u8_ct_totitle.
36971         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
36972         functions.
36973         (FUNC): Delegate to U_CT_TOTITLE.
36974         * lib/unicase/u8-totitle.c: Update.
36975         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
36976         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
36977
36978         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
36979         invocation.
36980         * modules/unicase/u32-tolower (Depends-on): Add
36981         unicase/empty-prefix-context, unicase/empty-suffix-context.
36982
36983         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
36984         invocation.
36985         * modules/unicase/u16-tolower (Depends-on): Add
36986         unicase/empty-prefix-context, unicase/empty-suffix-context.
36987
36988         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
36989         * modules/unicase/u8-tolower (Depends-on): Add
36990         unicase/empty-prefix-context, unicase/empty-suffix-context.
36991
36992         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
36993         invocation.
36994         * modules/unicase/u32-toupper (Depends-on): Add
36995         unicase/empty-prefix-context, unicase/empty-suffix-context.
36996
36997         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
36998         invocation.
36999         * modules/unicase/u16-toupper (Depends-on): Add
37000         unicase/empty-prefix-context, unicase/empty-suffix-context.
37001
37002         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37003         * modules/unicase/u8-toupper (Depends-on): Add
37004         unicase/empty-prefix-context, unicase/empty-suffix-context.
37005
37006         New module 'unicase/u32-ct-casefold'.
37007         * lib/unicase/u32-ct-casefold.c: New file.
37008         * modules/unicase/u32-ct-casefold: New file.
37009
37010         New module 'unicase/u16-ct-casefold'.
37011         * lib/unicase/u16-ct-casefold.c: New file.
37012         * modules/unicase/u16-ct-casefold: New file.
37013
37014         New module 'unicase/u8-ct-casefold'.
37015         * lib/unicase/u8-ct-casefold.c: New file.
37016         * lib/unicase/u-ct-casefold.h: New file, derived from
37017         lib/unicase/u-casefold.h.
37018         * modules/unicase/u8-ct-casefold: New file.
37019
37020         New module 'unicase/u32-ct-totitle'.
37021         * lib/unicase/u32-ct-totitle.c: New file.
37022         * modules/unicase/u32-ct-totitle: New file.
37023
37024         New module 'unicase/u16-ct-totitle'.
37025         * lib/unicase/u16-ct-totitle.c: New file.
37026         * modules/unicase/u16-ct-totitle: New file.
37027
37028         New module 'unicase/u8-ct-totitle'.
37029         * lib/unicase/u8-ct-totitle.c: New file.
37030         * lib/unicase/u-ct-totitle.h: New file, derived from
37031         lib/unicase/u-totitle.h.
37032         * modules/unicase/u8-ct-totitle: New file.
37033
37034         New module 'unicase/u32-ct-tolower'.
37035         * lib/unicase/u32-ct-tolower.c: New file.
37036         * modules/unicase/u32-ct-tolower: New file.
37037
37038         New module 'unicase/u16-ct-tolower'.
37039         * lib/unicase/u16-ct-tolower.c: New file.
37040         * modules/unicase/u16-ct-tolower: New file.
37041
37042         New module 'unicase/u8-ct-tolower'.
37043         * lib/unicase/u8-ct-tolower.c: New file.
37044         * modules/unicase/u8-ct-tolower: New file.
37045
37046         New module 'unicase/u32-ct-toupper'.
37047         * lib/unicase/u32-ct-toupper.c: New file.
37048         * modules/unicase/u32-ct-toupper: New file.
37049
37050         New module 'unicase/u16-ct-toupper'.
37051         * lib/unicase/u16-ct-toupper.c: New file.
37052         * modules/unicase/u16-ct-toupper: New file.
37053
37054         New module 'unicase/u8-ct-toupper'.
37055         * lib/unicase/u8-ct-toupper.c: New file.
37056         * modules/unicase/u8-ct-toupper: New file.
37057
37058         Add context arguments to u*_casemap functions.
37059         * lib/unicase/unicasemap.h: Include unicase.h.
37060         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37061         suffix_context arguments.
37062         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37063         functions.
37064         (FUNC): Add prefix_context and suffix_context arguments. Use
37065         uc_is_cased and uc_is_case_ignorable.
37066         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37067         * lib/unicase/u16-casemap.c: Likewise.
37068         * lib/unicase/u32-casemap.c: Likewise.
37069         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37070         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37071         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37072         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37073         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37074         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37075
37076         New module 'unicase/u32-suffix-context'.
37077         * lib/unicase/u32-suffix-context.c: New file.
37078         * modules/unicase/u32-suffix-context: New file.
37079
37080         New module 'unicase/u16-suffix-context'.
37081         * lib/unicase/u16-suffix-context.c: New file.
37082         * modules/unicase/u16-suffix-context: New file.
37083
37084         New module 'unicase/u8-suffix-context'.
37085         * lib/unicase/u8-suffix-context.c: New file.
37086         * lib/unicase/u-suffix-context.h: New file.
37087         * modules/unicase/u8-suffix-context: New file.
37088
37089         New module 'unicase/empty-suffix-context'.
37090         * lib/unicase/empty-suffix-context.c: New file.
37091         * modules/unicase/empty-suffix-context: New file.
37092
37093         New module 'unicase/u32-prefix-context'.
37094         * lib/unicase/u32-prefix-context.c: New file.
37095         * modules/unicase/u32-prefix-context: New file.
37096
37097         New module 'unicase/u16-prefix-context'.
37098         * lib/unicase/u16-prefix-context.c: New file.
37099         * modules/unicase/u16-prefix-context: New file.
37100
37101         New module 'unicase/u8-prefix-context'.
37102         * lib/unicase/u8-prefix-context.c: New file.
37103         * lib/unicase/u-prefix-context.h: New file.
37104         * lib/unicase/context.h: New file.
37105         * modules/unicase/u8-prefix-context: New file.
37106
37107         New module 'unicase/empty-prefix-context'.
37108         * lib/unicase/empty-prefix-context.c: New file.
37109         * modules/unicase/empty-prefix-context: New file.
37110
37111         New module 'unicase/ignorable'.
37112         * lib/unicase/ignorable.c: New file.
37113         * modules/unicase/ignorable: New file.
37114
37115         New module 'unicase/cased'.
37116         * lib/unicase/caseprop.h: New file.
37117         * lib/unicase/cased.c: New file.
37118         * modules/unicase/cased: New file.
37119
37120         New functions for case mapping of substrings.
37121         * lib/unicase.h (casing_prefix_context_t): New type.
37122         (unicase_empty_prefix_context): New variable.
37123         (u8_casing_prefix_context, u16_casing_prefix_context,
37124         u32_casing_prefix_context, u8_casing_prefixes_context,
37125         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37126         declarations.
37127         (casing_suffix_context_t): New type.
37128         (unicase_empty_suffix_context): New variable.
37129         (u8_casing_suffix_context, u16_casing_suffix_context,
37130         u32_casing_suffix_context, u8_casing_suffixes_context,
37131         u16_casing_suffixes_context, u32_casing_suffixes_context,
37132         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37133         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37134         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37135         declarations.
37136
37137 2009-06-28  Jim Meyering  <meyering@redhat.com>
37138
37139         boostrap: indent only with spaces
37140         * build-aux/bootstrap: Indent only with spaces, never TABs.
37141
37142         bootstrap: split long lines
37143         * build-aux/bootstrap: Keep line length < 80.
37144
37145         bootstrap: sync from coreutils
37146         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37147         just as autoreconf does.  Verify a list of prerequisite
37148         package-name,version-number pairs if defined in bootstrap.conf.
37149         Refer to README-prereq, if prerequisites are not satisfied.
37150
37151 2009-06-27  Eric Blake  <ebb9@byu.net>
37152
37153         tests: add test for bogus NULL definition
37154         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37155         * tests/test-stdlib.c: Likewise.
37156         * tests/test-string.c: Likewise.
37157         * tests/test-locale.c: Likewise.
37158         * tests/test-unistd.c: Likewise.
37159         * modules/stdio-tests (Depends-on): Add verify.
37160         * modules/stdlib-tests (Depends-on): Likewise.
37161         * modules/string-tests (Depends-on): Likewise.
37162         * modules/locale-tests (Depends-on): Likewise.
37163         * modules/unistd-tests (Depends-on): Likewise.
37164
37165 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37166
37167         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37168         self-explaining comment.
37169         * m4/selinux-selinux-h: Update serial.
37170         (gl_LIBSELINUX): New macro, adding a warning for missing development
37171         packages to code extracted from...
37172         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37173         Add warning for missing development packages here, too.
37174
37175 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37176
37177         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37178
37179 2009-06-25  Eric Blake  <ebb9@byu.net>
37180
37181         version-etc: fix regression
37182         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37183         gcc.
37184         (version_etc): Use it, to catch bugs with trailing NULL.
37185         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37186         (version_etc_va): Fix logic bug.
37187         * modules/version-etc-tests: Add test.
37188         * tests/test-version-etc.c: New file.
37189         * tests/test-version-etc.sh: Likewise.
37190
37191 2009-06-25  Sam Steingold  <sds@gnu.org>
37192
37193         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37194         mbtowc declaration.
37195
37196 2009-06-25  Eric Blake  <ebb9@byu.net>
37197
37198         fpurge: migrate into <stdio.h>
37199         * lib/fpurge.h: Delete...
37200         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37201         * lib/fpurge.c (fpurge): Change declaring header.
37202         * modules/fpurge (Files): Drop deleted file.
37203         (Depends-on): Add stdio.
37204         (configure.ac): Set witness.
37205         * modules/stdio (Makefile.am): Support fpurge macros.
37206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37207         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37208         * lib/fflush.c: Update client.
37209         * tests/test-fpurge.c: Likewise.
37210         * NEWS: Mention the change.
37211
37212 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37213
37214         * lib/argp-version-etc.c (program_authors): Add const
37215         qualifier.
37216         * lib/version-etc.c: Fix typos in the comments.
37217         * modules/argp-version-etc: Depends on version-etc.
37218
37219 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37220
37221         argp-version-etc: new module.
37222
37223         * lib/argp-version-etc.c: New file.
37224         * lib/argp-version-etc.h: New file.
37225         * modules/argp-version-etc: New file.
37226         * modules/argp-version-etc-tests: New file.
37227         * tests/test-argp-version-etc.c: New test.
37228         * tests/test-argp-version-etc-1.sh: New test.
37229
37230 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37231
37232         Provide additional interfaces and documentation for version-etc
37233         module.
37234
37235         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37236         interfaces.
37237         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37238         prototypes.
37239
37240 2009-06-24  Bruno Haible  <bruno@clisp.org>
37241
37242         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37243         HAVE_LIB${NAME} macro.
37244         Reported by Sam Steingold <sds@gnu.org>.
37245
37246 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37247
37248         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37249         needed.
37250
37251 2009-06-21  Bruno Haible  <bruno@clisp.org>
37252
37253         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37254         work.
37255         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37256         together with LIB${NAME}, LTLIB${NAME}.
37257         Reported by Sam Steingold <sds@gnu.org>.
37258
37259 2009-06-20  Jim Meyering  <meyering@redhat.com>
37260
37261         tests: make sc_require_test_exit_idiom more generic
37262         * top/maint.mk (Exit_witness_file): New overridable variable.
37263         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37264         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37265
37266 2009-06-19  Jim Meyering  <meyering@redhat.com>
37267
37268         hash: reverse order of src/dst parameters in an internal interface
37269         * lib/hash.c (transfer_entries): Reverse order of parameters to
37270         put DST before SRC.  Adjust callers.
37271
37272         tests: test-hash: avoid wholesale duplication
37273         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37274         Instead, use a loop and add a single conditional.
37275
37276         tests: test-hash: allow seed selection via a command line argument
37277         * tests/test-hash.c (get_seed): New function.
37278         (main): Use it.
37279
37280 2009-06-19  Eric Blake  <ebb9@byu.net>
37281
37282         hash: avoid memory leak on allocation failure
37283         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37284         failure.  Factor repeated algorithm...
37285         (transfer_entries): ...into new helper routine.
37286         (hash_delete): React to hash_rehash return value.
37287
37288         hash: reduce memory pressure in hash_rehash no-op case
37289         * lib/hash.c (next_prime): Avoid overflow.
37290         (hash_initialize): Factor bucket size computation...
37291         (compute_bucket_size): ...into new helper function.
37292         (hash_rehash): Use new function and open coding to reduce memory
37293         pressure, and avoid a memory leak in USE_OBSTACK code.
37294         Reported by Jim Meyering.
37295
37296 2009-06-18  Eric Blake  <ebb9@byu.net>
37297
37298         hash: make rotation more obvious
37299         * modules/hash (Depends-on): Add bitrotate and stdint.
37300         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37301         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37302         (SIZE_MAX): Rely on headers for definition.
37303         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37304         (raw_hasher): Use rotr_sz.
37305         Suggested by Jim Meyering.
37306
37307         hash: fix memory leak in last patch
37308         * lib/hash.c (hash_rehash): Avoid memory leak.
37309
37310         hash: avoid no-op rehashing
37311         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37312
37313         hash: provide default callback functions
37314         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37315         (hash_initialize): Use them as defaults.
37316         * tests/test-hash.c (main): Test this.
37317
37318         hash: minor optimization
37319         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37320         when possible.
37321         (hash_initialize): Document this promise.
37322         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37323         * tests/test-hash.c (hash_compare_strings): Test this.
37324
37325 2009-06-18  Bruno Haible  <bruno@clisp.org>
37326
37327         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37328         going to be replaced anyway.
37329
37330 2009-06-18  Bruno Haible  <bruno@clisp.org>
37331
37332         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37333         in one place.
37334         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37335         be replaced anyway.
37336
37337 2009-06-18  Eric Blake  <ebb9@byu.net>
37338
37339         hash: check for resize before insertion
37340         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37341         threshold before insertion, so that a pathological hash_rehash
37342         that fills every bucket can still trigger another rehash.
37343
37344 2009-06-18  Jim Meyering  <meyering@redhat.com>
37345
37346         hash-tests: add a loop around the small tests
37347         * tests/test-hash.c (main): Repeat small tests with selected
37348         small initial table sizes.
37349
37350 2009-06-17  Eric Blake  <ebb9@byu.net>
37351
37352         hash: minor cleanups
37353         * lib/hash.h (hash_entry): Make opaque, by moving...
37354         * lib/hash.c (hash_entry): ...here.
37355         (hash_insert): Clarify restrictions on what can be inserted.
37356         (hash_get_next): Clarify when it is safe to remove an element
37357         during traversal.
37358         (check_tuning): Skip verification when tuning is known safe.
37359         (hash_initialize): Clarify restrictions on tuning.
37360
37361 2009-06-17  Jim Meyering  <jim@meyering.net>
37362         and Eric Blake  <ebb9@byu.net>
37363
37364         hash-tests: new module
37365         * modules/hash-tests: New file.
37366         * tests/test-hash.c: New file.
37367
37368 2009-06-17  Eric Blake  <ebb9@byu.net>
37369
37370         strstr-simple: document new module
37371         * MODULES.html.sh: Document new module.
37372
37373         strstr, strcasestr: replace on platforms with broken memchr
37374         * modules/strstr: Split into...
37375         * modules/strstr-simple: ...new module that does not care about
37376         performance, but does care about glibc bug.
37377         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37378         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37379         if platform memchr is broken, per Debian bug 521737.
37380         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37381         memchr.
37382         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37383         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37384         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37385         * modules/mountlist (Depends-on): Add strstr-simple.
37386         * modules/gen-uni-tables (Depends-on): Likewise.
37387         * modules/argz (Depends-on): Add strstr.
37388
37389 2009-06-17  Bruno Haible  <bruno@clisp.org>
37390
37391         * modules/posix_spawn-internal (Depends-on): Add errno.
37392
37393 2009-06-17  Bruno Haible  <bruno@clisp.org>
37394
37395         Define missing ESTALE on Interix 3.5.
37396         * lib/errno.in.h (ESTALE): Assign a value if missing.
37397         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37398         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37399         missing.
37400         * doc/posix-headers/errno.texi: Mention the Interix bug.
37401         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37402
37403 2009-06-15  Eric Blake  <ebb9@byu.net>
37404
37405         memchr, memchr2: add valgrind exception
37406         * lib/memchr.valgrind: New file.
37407         * lib/memchr2.valgrind: New file.
37408         * modules/memchr (Files): Distribute valgrind file.
37409         * modules/memchr2 (Files): Likewise.
37410
37411         docs: memchr is no longer obsolete
37412         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37413         * lib/string.in.h (memchr): Simplify logic.
37414
37415 2009-06-14  Jim Meyering  <meyering@redhat.com>
37416
37417         link-follow: fix the "checking..." message to not mention trailing slash
37418         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37419         never considered trailing slashes.
37420
37421 2009-06-14  Bruno Haible  <bruno@clisp.org>
37422
37423         * m4/memchr.m4: Mention also the bug on IA-64.
37424         * doc/posix-functions/memchr.texi: Likewise.
37425
37426 2009-06-12  Eric Blake  <ebb9@byu.net>
37427
37428         memchr: detect broken x86_64 and alpha implementations
37429         * modules/memchr-tests (Depends-on): Move mmap detection...
37430         * modules/memchr (Depends-on): ...here.
37431         (configure.ac): Set indicator.
37432         * lib/string.in.h (memchr): Declare replacement.
37433         * modules/string (Makefile.am): Trigger replacement.
37434         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37435         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37436         bugs.
37437         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37438         * modules/getpagesize (License): Relax license.
37439
37440 2009-06-11  Bruno Haible  <bruno@clisp.org>
37441
37442         * lib/idpriv.h: Add more references.
37443
37444 2009-06-08  Bruno Haible  <bruno@clisp.org>
37445
37446         Tests for module 'idpriv-droptemp'.
37447         * modules/idpriv-droptemp-tests: New file.
37448         * tests/test-idpriv-droptemp.sh: New file.
37449         * tests/test-idpriv-droptemp.su.sh: New file.
37450         * tests/test-idpriv-droptemp.c: New file.
37451
37452         New module 'idpriv-droptemp'.
37453         * lib/idpriv-droptemp.c: New file.
37454         * modules/idpriv-droptemp: New file.
37455
37456 2009-06-08  Bruno Haible  <bruno@clisp.org>
37457
37458         Tests for module 'idpriv-drop'.
37459         * modules/idpriv-drop-tests: New file.
37460         * tests/test-idpriv-drop.sh: New file.
37461         * tests/test-idpriv-drop.su.sh: New file.
37462         * tests/test-idpriv-drop.c: New file.
37463
37464         New module 'idpriv-drop'.
37465         * lib/idpriv.h: New file.
37466         * lib-idpriv-drop.c: New file.
37467         * m4/idpriv.m4: New file.
37468         * modules/idpriv-drop: New file.
37469
37470 2009-06-08  Bruno Haible  <bruno@clisp.org>
37471
37472         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
37473         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37474         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37475         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37476         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37477         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37478         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37479
37480 2009-06-08  Eric Blake  <ebb9@byu.net>
37481
37482         test-strstr: use memory fence, when possible
37483         * tests/test-strstr.c (main): Use memory fence, in order to be
37484         more likely to trigger Debian bug 521737.
37485         * modules/strstr-tests (Files): Pull in additional files.
37486
37487         memchr: no longer obsolete, for wider field testing
37488         * modules/memchr (Status, Notice): Delete, this module is no
37489         longer obsolete.
37490         * modules/vasnprintf (Depends-on): Add memchr.
37491
37492 2009-06-07  Jim Meyering  <meyering@redhat.com>
37493
37494         hash: declare some functions with the warn_unused_result attribute
37495         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
37496
37497 2009-06-07  Bruno Haible  <bruno@clisp.org>
37498
37499         * tests/test-alignof.c: Don't test int64_t if it does not exist.
37500         Reported by Eric Blake.
37501
37502 2009-06-06  Eric Blake  <ebb9@byu.net>
37503
37504         test-alignof: fix typo with long double
37505         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
37506         compiler error.
37507
37508 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
37509
37510         Escape non-texinfo { and }s.
37511         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
37512         markup error.
37513
37514 2009-06-04  Jim Meyering  <meyering@redhat.com>
37515
37516         gitlog-to-changelog: don't infloop on an empty commit log
37517         * build-aux/gitlog-to-changelog: Warn about an empty log message.
37518         Reported by Boris Petersen <transacid@centerim.org>.
37519
37520 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
37521
37522         version-etc: extend for packagers
37523         Add three new configure options, intended for packagers:
37524           --with-packager="packager name"
37525           --with-packager-version="packager-specific version"
37526           --with-packager-bug-reports="packager bug reporting"
37527         An example with coreutils:
37528           $ ./configure \
37529             --with-packager=Gentoo \
37530             --with-packager-bug-report=http://bugs.gentoo.org/ \
37531             --with-packager-version="patchset 1.6"
37532           $ ./src/ls --version | head -n2
37533           ls (GNU coreutils) 7.1-dirty
37534           Packaged by Gentoo (patchset 1.6)
37535         Note that the bug reporting info via --help doesn't show up because
37536         coreutils uses its own custom emit_bug_reporting_address() implementation
37537         in src/system.h.  If it didn't, it'd look like:
37538           $ ./src/ls --help | tail -n4
37539           Report bugs to <bug-coreutils@gnu.org>.
37540           Report Gentoo bugs to <http://bugs.gentoo.org/>.
37541           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
37542           General help using GNU software: <http://www.gnu.org/gethelp/>.
37543         * lib/version-etc.c: Print new information, if provided.
37544         * m4/version-etc.m4: New file.
37545         * modules/version-etc (Files): Add m4/version-etc.m4.
37546         (configure.ac): Add gl_VERSION_ETC.
37547
37548 2009-05-31  Bruno Haible  <bruno@clisp.org>
37549
37550         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
37551         and 'int64_t'.
37552         * modules/alignof-tests (Dependencies): Add stdint.
37553         Reported by Eric Blake.
37554
37555 2009-05-31  Bruno Haible  <bruno@clisp.org>
37556
37557         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
37558         restriction due to compiler bugs.
37559         Reported by Eric Blake.
37560
37561 2009-05-31  Simon Josefsson  <simon@josefsson.org>
37562             Bruno Haible  <bruno@clisp.org>
37563
37564         Fix test-alignof failure.
37565         * lib/alignof.h (alignof_slot): New macro.
37566         (alignof_type): New macro, with the same semantics as the previous
37567         'alignof'.
37568         (alignof): Alias to alignof_slot.
37569         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
37570         check that the results are usable as constant expressions.
37571
37572 2009-05-31  Bruno Haible  <bruno@clisp.org>
37573
37574         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
37575         * tests/test-memchr.c (main): Check that memchr does not read past the
37576         first occurrence of the byte.
37577         * tests/test-strstr.c (main): Update comment.
37578         Suggested by Eric Blake.
37579
37580 2009-05-30  Bruno Haible  <bruno@clisp.org>
37581
37582         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
37583         detail how to use dumpbin.
37584         Reported by David Byron <dbyron@dbyron.com>.
37585
37586 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37587
37588         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
37589
37590 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37591
37592         * m4/manywarnings.m4: Add GCC 4.4 warnings.
37593
37594 2009-05-28  Bruno Haible  <bruno@clisp.org>
37595
37596         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
37597         build-aux/ files.
37598
37599 2009-05-28  Simon Josefsson  <simon@josefsson.org>
37600
37601         * gnulib-tool (func_import): Transform license on build-aux/ files too.
37602
37603 2009-05-27  Simon Josefsson  <simon@josefsson.org>
37604
37605         * gnulib-tool (sed_transform_main_lib_file)
37606         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
37607         regexps.
37608
37609 2009-05-26  Simon Josefsson  <simon@josefsson.org>
37610
37611         * tests/test-strstr.c: Add another self-test.
37612         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
37613         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
37614
37615 2009-05-23  Bruno Haible  <bruno@clisp.org>
37616
37617         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
37618         change.
37619
37620 2009-05-21  Bruno Haible  <bruno@clisp.org>
37621
37622         Simplify use of mode_t varargs.
37623         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
37624         uses 'mode_t' or 'int'.
37625         * lib/openat.c (openat): Likewise.
37626         * lib/open-safer.c (open_safer): Likewise.
37627         * m4/mode_t.m4: New file.
37628         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
37629         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
37630         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
37631         * modules/open (Files): Add m4/mode_t.m4.
37632         * modules/openat (Files): Likewise.
37633         * modules/fcntl-safer (Files): Likewise.
37634         Suggested by Eric Blake.
37635
37636 2009-05-21  Pádraig Brady  <P@draigbrady.com>
37637
37638         * doc/glibc-functions/fallocate.texi: New file.
37639         * doc/gnulib.texi: Include it.
37640
37641 2009-05-21  Eric Blake  <ebb9@byu.net>
37642             Bruno Haible  <bruno@clisp.org>
37643
37644         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
37645         invocations.
37646         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37647
37648 2009-05-21  Eric Blake  <ebb9@byu.net>
37649             Bruno Haible  <bruno@clisp.org>
37650
37651         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
37652         include_next. Fix of 2008-11-20 commit.
37653         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
37654         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
37655         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
37656         NEXT_MATH_H.
37657         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
37658         instead of NEXT_MATH_H.
37659
37660 2009-05-21  Bruno Haible  <bruno@clisp.org>
37661
37662         Avoid redefinition warnings for SIZE_MAX.
37663         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
37664         Reported by Simon Josefsson.
37665
37666 2009-05-21  Bruno Haible  <bruno@clisp.org>
37667
37668         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
37669         AC_CACHE_VAL.
37670
37671 2009-05-20  Bruno Haible  <bruno@clisp.org>
37672
37673         Make zeroptr.h work on mingw.
37674         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
37675         mprotect.
37676         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
37677         * modules/memchr2-tests (configure.ac): Likewise.
37678         * modules/memcmp-tests (configure.ac): Likewise.
37679         * modules/memmem-tests (configure.ac): Likewise.
37680         * modules/memrchr-tests (configure.ac): Likewise.
37681         Reported by Simon Josefsson.
37682
37683 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37684
37685         * tests/test-glob.c: Include string.h for strcmp prototype.
37686
37687 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37688
37689         * modules/getdelim (Depends-on): Add explicit stdint, although it
37690         was implicitly already pulled in via realloc-posix.
37691         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
37692
37693 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37694
37695         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
37696         G. Christensen" <tgc@jupiterrise.com>.
37697         * m4/sys_socket_h.m4: Check for sa_family_t.
37698         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
37699         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
37700         * tests/test-sys_socket.c: Check that sa_family_t works.
37701
37702 2009-05-18  Eric Blake  <ebb9@byu.net>
37703
37704         maint.mk: allow gnulib_dir in VPATH build
37705         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
37706
37707 2009-05-15  Jim Meyering  <meyering@redhat.com>
37708
37709         maint.mk: Give gnulib_dir a default definition.
37710         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
37711         Thus, most packages no longer need to specify this variable in cfg.mk
37712
37713 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
37714
37715         rename.m4: fix typos that would make non-mingw cross-configure fail
37716         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
37717
37718 2009-05-13  Eric Blake  <ebb9@byu.net>
37719
37720         mmap-anon: avoid out-of-order autoconf expansion
37721         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
37722         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
37723         * modules/memchr-tests (Depends-on): Add extensions.
37724         * modules/memchr2-tests (Depends-on): Add extensions.
37725         * modules/memcmp-tests (Depends-on): Add extensions.
37726         * modules/memmem-tests (Depends-on): Add extensions.
37727         * modules/memrchr-tests (Depends-on): Add extensions.
37728
37729 2009-05-13  Bruno Haible  <bruno@clisp.org>
37730
37731         Make some tests ISO C 99 compliant.
37732         * tests/zerosize-ptr.h: New file.
37733         * tests/test-memchr.c: Include zerosize-ptr.h.
37734         (main): Use a zero-size object pointer instead of NULL.
37735         * tests/test-memchr2.c: Include zerosize-ptr.h.
37736         (main): Use a zero-size object pointer instead of NULL.
37737         * tests/test-memcmp.c: Include zerosize-ptr.h.
37738         (main): Use a zero-size object pointer instead of NULL.
37739         * tests/test-memmem.c: Include zerosize-ptr.h.
37740         (main): Use a zero-size object pointer instead of NULL.
37741         * tests/test-memrchr.c: Include zerosize-ptr.h.
37742         (main): Use a zero-size object pointer instead of NULL.
37743         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
37744         m4/mmap-anon.m4.
37745         (Depends-on): Add getpagesize.
37746         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37747         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
37748         m4/mmap-anon.m4.
37749         (Depends-on): Add getpagesize.
37750         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37751         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
37752         m4/mmap-anon.m4.
37753         (Depends-on): Add getpagesize.
37754         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37755         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
37756         m4/mmap-anon.m4.
37757         (Depends-on): Add getpagesize.
37758         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37759         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
37760         m4/mmap-anon.m4.
37761         (Depends-on): Add getpagesize.
37762         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37763
37764 2009-05-12  Bruno Haible  <bruno@clisp.org>
37765
37766         Tests for module 'alignof'.
37767         * modules/alignof-tests: New file.
37768         * tests/test-alignof.c: New file.
37769
37770 2009-05-12  Bruno Haible  <bruno@clisp.org>
37771
37772         Fix alignof macro.
37773         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
37774         vendor compilers that are always correct.
37775
37776 2009-05-12  Bruno Haible  <bruno@clisp.org>
37777
37778         Make the MAP_ANONYMOUS detection work on HP-UX 11.
37779         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
37780         not whether its fully works.
37781
37782 2009-05-12  Bruno Haible  <bruno@clisp.org>
37783
37784         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
37785
37786 2009-05-12  Jim Meyering  <meyering@redhat.com>
37787
37788         * top/maint.mk: Adjust backslash alignment.
37789
37790 2009-05-11  Simon Josefsson  <simon@josefsson.org>
37791
37792         * top/maint.mk: Make $(srcdir)/build-aux configurable.
37793
37794 2009-05-11  Eric Blake  <ebb9@byu.net>
37795
37796         argp: avoid undefined behavior
37797         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
37798         macros.
37799
37800 2009-05-08  Simon Josefsson  <simon@josefsson.org>
37801
37802         * tests/test-vc-list-files-git.sh: Do git config of user.email and
37803         user.name to prevent git commit from complaining.
37804
37805 2009-05-10  Bruno Haible  <bruno@clisp.org>
37806
37807         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
37808         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
37809         it rewrites every file name only once.
37810         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
37811
37812 2009-05-08  Bruno Haible  <bruno@clisp.org>
37813
37814         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
37815         instead of 'max'.
37816
37817 2009-05-08  Simon Josefsson  <simon@josefsson.org>
37818
37819         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
37820         sockaddr_storage test.
37821
37822 2009-05-07  Simon Josefsson  <simon@josefsson.org>
37823
37824         * modules/sys_socket (Makefile.am): Substitute
37825         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
37826         * m4/sys_socket_h.m4: Check for sockaddr_storage.
37827         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
37828         * tests/test-sys_socket.c: Check sockaddr_storage.
37829
37830 2009-05-08  Bruno Haible  <bruno@clisp.org>
37831
37832         New module 'alignof'.
37833         * lib/alignof.h: New file.
37834         * modules/alignof: New file.
37835
37836 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37837             Bruno Haible  <bruno@clisp.org>
37838
37839         Fix test-file-has-acl on FreeBSD.
37840         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
37841         mask is implicitly added.
37842         * tests/test-file-has-acl.c: Include <signal.h>.
37843         (main): Terminate the test after 5 seconds.
37844         * modules/acl-tests (configure.ac): Check for alarm function.
37845
37846 2009-05-04  Bruno Haible  <bruno@clisp.org>
37847
37848         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
37849         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
37850         * modules/errno (configure.ac): Drop AC_REQUIRE.
37851         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
37852         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
37853
37854 2009-05-04  Simon Josefsson  <simon@josefsson.org>
37855
37856         * modules/glob-tests: New module.
37857         * tests/test-glob.c: Add.
37858
37859 2009-05-04  Simon Josefsson  <simon@josefsson.org>
37860
37861         * modules/fnmatch-tests: New module.
37862         * tests/test-fnmatch.c: Add.
37863
37864 2009-05-04  Eric Blake  <ebb9@byu.net>
37865
37866         maint: make the new no-submodule-changes rule VPATH-safe
37867         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
37868
37869 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37870             Bruno Haible  <bruno@clisp.org>
37871
37872         acl: Fix infinite loop on FreeBSD.
37873         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
37874         of return value from acl_get_entry.
37875         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
37876         Likewise.
37877
37878 2009-05-03  Bruno Haible  <bruno@clisp.org>
37879
37880         * lib/acl-internal.h (acl_entries): Clarify return value.
37881         * lib/acl_entries.c (acl_entries): Likewise.
37882
37883 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37884
37885         Bug fix in acl module.
37886         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
37887
37888 2009-05-03  Bruno Haible  <bruno@clisp.org>
37889
37890         Create gperf-generated file in the source dir, not in the build dir.
37891         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
37892         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
37893         * modules/unicase/locale-language (unicase/locale-languages.h):
37894         Likewise.
37895         * modules/unicase/special-casing (unicase/special-casing-table.h):
37896         Likewise.
37897         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
37898         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
37899         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
37900         Reported by Ralf Wildenhues.
37901
37902 2009-05-03  Bruno Haible  <bruno@clisp.org>
37903
37904         * modules/fnmatch (Description, configure.ac): Taken from
37905         fnmatch-posix.
37906         * modules/fnmatch-posix: Turn into a symbolic reference to the
37907         'fnmatch' module, and deprecate.
37908         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
37909
37910 2009-05-03  Bruno Haible  <bruno@clisp.org>
37911
37912         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
37913         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
37914         Reported by Ralf Wildenhues.
37915
37916 2009-05-04  Simon Josefsson  <simon@josefsson.org>
37917
37918         * m4/fnmatch.m4: Fix fnmatch re-define.
37919
37920 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37921
37922         priv-set: new module and tests; adapt write-any-file
37923         * lib/priv-set.c: New file.
37924         * lib/priv-set.h: New file.
37925         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
37926         * lib/write-any-file.c: Simplify by using priv-set module.
37927         * m4/priv-set.m4: New file.
37928         * modules/priv-set: New file.
37929         * modules/unlinkdir: Add dependency on priv-set module.
37930         * modules/write-any-file: Likewise.
37931
37932         Tests for module 'priv-set'.
37933         * modules/priv-set-tests: New file.
37934         * tests/test-priv-set.c: New file.
37935
37936 2009-05-03  Jim Meyering  <meyering@redhat.com>
37937             Bruno Haible  <bruno@clisp.org>
37938
37939         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
37940         use the converted UTF-8 variant of the name instead.
37941
37942 2009-05-03  Jim Meyering  <meyering@redhat.com>
37943
37944         tests: tighten some getdate tests
37945         * tests/test-getdate.c (main): Tighten tests: require equality,
37946         not just greater than.  Set TZ envvar to UTC0.
37947
37948 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
37949
37950         getdate: correctly interpret "next monday" when run on a Monday
37951         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
37952         that e.g., "next tues" (when run on a tuesday) results in a date
37953         that is one week in the future, and not today's date.
37954         I.e., add a week when the wday is the same as the current one.
37955         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
37956         and earlier by Martin Bernreuther and Jan Minář.
37957         * tests/test-getdate.c (main): Check that "next DAY" is always in
37958         the future and that "last DAY" is always in the past.
37959
37960 2009-05-02  Jim Meyering  <meyering@redhat.com>
37961
37962         build: ensure that a release build fails when a submodule is unclean
37963         * top/maint.mk (no-submodule-changes): New rule.
37964         (alpha beta major): Depend on it.
37965
37966 2009-05-02  Bruno Haible  <bruno@clisp.org>
37967
37968         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
37969         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
37970         shell variable gl_fnmatch_required to detect which variant is
37971         requested.
37972         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
37973         gl_FUNC_FNMATCH_POSIX.
37974         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
37975         exclude fnmatch-posix.
37976
37977 2009-05-02  Bruno Haible  <bruno@clisp.org>
37978
37979         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
37980         * modules/mbsrtowcs (License): Change to LGPLv2+.
37981         * modules/strnlen1 (License): Likewise.
37982         Reported by Simon Josefsson.
37983
37984 2009-05-02  Bruno Haible  <bruno@clisp.org>
37985
37986         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
37987         "cross".
37988         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
37989         gnulib-tool was called with option --source-base=lib.
37990
37991 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37992
37993         Use automake *-local hooks without commands, for extensibility.
37994         * modules/localcharset (Makefile.am): Rename install-exec-local
37995         rule to install-exec-localcharset, and make it a prerequisite of
37996         install-exec-local.  Likewise, rename the uninstall-local rule to
37997         uninstall-localcharset, and make it a prerequisite of the former.
37998
37999 2009-05-01  Bruno Haible  <bruno@clisp.org>
38000
38001         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38002         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38003         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38004         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38005         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38006         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38007         m4/locale-zh.m4, m4/codeset.m4.
38008
38009         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38010         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38011         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38012         m4/locale-zh.m4.
38013
38014         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38015         REPLACE_WCRTOMB if mbstate_t must be replaced.
38016         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38017         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38018
38019 2009-05-01  Bruno Haible  <bruno@clisp.org>
38020
38021         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38022         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38023         dngettext, dcngettext, textdomain, bindtextdomain,
38024         bind_textdomain_codeset): Undefine before redefining.
38025
38026 2009-04-30  Bruno Haible  <bruno@clisp.org>
38027
38028         Fix bug introduced on 2009-04-25.
38029         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38030         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38031         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38032         is defined.
38033         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38034         is defined.
38035         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38036         is defined.
38037         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38038
38039 2009-04-28  Bruno Haible  <bruno@clisp.org>
38040
38041         Comment tweaks.
38042         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38043         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38044         * lib/unicase.h (u*_casexfrm): Likewise.
38045         Reported by Paolo Bonzini.
38046
38047 2009-04-28  Bruno Haible  <bruno@clisp.org>
38048
38049         Fix a compilation error.
38050         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38051         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38052         Reported by Jim Meyering.
38053
38054 2009-04-27  Bruno Haible  <bruno@clisp.org>
38055
38056         New module 'libunistring'.
38057         * modules/libunistring: New file.
38058         * m4/libunistring.m4: New file.
38059         * MODULES.html.sh (Unicode string functions): Add it.
38060
38061 2009-04-27  Eric Blake  <ebb9@byu.net>
38062
38063         maint.mk: allow package-specific header to provide <config.h>
38064         * top/maint.mk (sc_require_config_h): New variable.
38065         (sc_require_config_h, sc_require_config_h_first): Use it.
38066
38067 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38068
38069         * top/maint.mk (sc_avoid_if_before_free): Except
38070         useless-if-before-free script.
38071
38072 2009-04-27  Eric Blake  <ebb9@byu.net>
38073
38074         maintainer-makefile: depend on all required helper scripts
38075         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38076         useless-if-before-free.
38077         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38078         version, rather than assuming gnulib checkout is available.
38079         Reported by Simen Josefsson.
38080
38081 2009-04-26  Bruno Haible  <bruno@clisp.org>
38082
38083         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38084         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38085         "../" or "..".
38086
38087 2009-04-26  Bruno Haible  <bruno@clisp.org>
38088
38089         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38090         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38091         AC_LIB_HAVE_LINKFLAGS.
38092
38093 2009-04-26  Bruno Haible  <bruno@clisp.org>
38094
38095         Simplify calling convention of u*_conv_from_encoding.
38096         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38097         u32_conv_from_encoding): Expect a resultbuf argument and return the
38098         result directly as a pointer.
38099         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38100         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38101         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38102         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38103         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38104         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38105         Update.
38106         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38107         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38108         * lib/vasnprintf.c (VASNPRINTF): Update.
38109         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38110         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38111         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38112         * NEWS: Mention the change.
38113
38114 2009-04-26  Bruno Haible  <bruno@clisp.org>
38115
38116         Simplify calling convention of u*_conv_to_encoding.
38117         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38118         u32_conv_to_encoding): Expect a resultbuf argument and return the
38119         result directly as a pointer.
38120         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38121         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38122         freeing scaled_offsets if mem_iconveha failed.
38123         * lib/unicase/u-casexfrm.h (FUNC): Update.
38124         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38125         * lib/vasnprintf.c (VASNPRINTF): Update.
38126         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38127         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38128         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38129         * NEWS: Mention the change.
38130
38131 2009-04-26  Bruno Haible  <bruno@clisp.org>
38132
38133         Avoid test failures on AIX and OSF/1.
38134         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38135         malloc(0).
38136         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38137         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38138         Likewise.
38139         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38140         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38141         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38142         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38143         * doc/posix-functions/malloc.texi: Document the portability problem
38144         related to malloc(0).
38145
38146 2009-04-26  Bruno Haible  <bruno@clisp.org>
38147
38148         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38149         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38150         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38151
38152 2009-04-25  Bruno Haible  <bruno@clisp.org>
38153
38154         Avoid link error when creating a namespace clean library.
38155         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38156         as macro with arguments if already defined as an alias.
38157         * lib/signbitf.c (gl_signbitf): Don't undefine.
38158         * lib/signbitd.c (gl_signbitd): Don't undefine.
38159         * lib/signbitl.c (gl_signbitl): Don't undefine.
38160
38161 2009-04-25  Jim Meyering  <meyering@redhat.com>
38162
38163         vc-list-files: fix another quoting bug
38164         * build-aux/vc-list-files: Avoid sed backslash expansion
38165         of pathological directory names.
38166
38167 2009-04-25  Eric Blake  <ebb9@byu.net>
38168
38169         vc-list-files: fix shell quoting error
38170         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38171         timestamp.
38172
38173 2009-04-25  Jim Meyering  <meyering@redhat.com>
38174
38175         vc-list-files: restore lost functionality with subdir argument
38176         * build-aux/vc-list-files: When given a non-"." sub-directory
38177         argument, substitute the $dir/ prefix back onto each resulting name.
38178         Otherwise, coreutils' root_tests check would fail.
38179
38180 2009-04-24  Eric Blake  <ebb9@byu.net>
38181
38182         vc-list-files: ignore git symlinks
38183         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38184         than ls-files, to ignore git symlinks.
38185
38186         maint.mk: import improvements from m4
38187         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38188         (move_if_change): Delete unused macro.
38189         (news-date-check, vc-diff-check): Support VPATH builds.
38190         (announcement): Likewise.  Split --bootstrap-tools list...
38191         (boostrap-tools): ...into separate list, which can be overridden
38192         in cfg.mk.
38193         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38194         requiring dependency on useless-if-before-free module.
38195         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38196         Support VPATH builds.
38197
38198 2009-04-24  Jim Meyering  <meyering@redhat.com>
38199
38200         maint.mk: remove coreutils-specific rules and variables
38201         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38202         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38203         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38204
38205         maint.mk: remove obsolete rule
38206         * top/maint.mk (rel-check): Remove rule.
38207         (WGET, WGETFLAGS): Remove now-unused variables.
38208
38209 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38210
38211         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38212         consistency.
38213
38214         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38215         '$(PATH_SEPARATOR)' instead of ':'.
38216
38217 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38218
38219         * lib/getopt1.c (main): Use 'const' for static array.
38220
38221 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38222
38223         * top/maint.mk: Sync with coreutils.
38224         * NEWS: Explain incompatibilities.
38225
38226 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38227             Bruno Haible  <bruno@clisp.org>
38228
38229         Fix cross-compilation results.
38230         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38231         statement, as third argument of AC_TRY_RUN.
38232         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38233         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38234         Likewise.
38235         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38236         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38237         Likewise.
38238         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38239         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38240         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38241
38242 2009-04-20  Bruno Haible  <bruno@clisp.org>
38243
38244         Avoid test failure on mingw.
38245         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38246
38247 2009-04-20  Bruno Haible  <bruno@clisp.org>
38248
38249         Avoid compilation error on mingw.
38250         * modules/localename-tests (Depends-on): Add locale.
38251
38252 2009-04-19  Bruno Haible  <bruno@clisp.org>
38253
38254         Support for building a shared library on Windows platforms.
38255         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38256         (main): Test the presence of UNINORM_NFC here.
38257         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38258         (main): Test the presence of UNINORM_NFD here.
38259         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38260         (main): Test the presence of UNINORM_NFKC here.
38261         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38262         (main): Test the presence of UNINORM_NFKD here.
38263
38264 2009-04-19  Bruno Haible  <bruno@clisp.org>
38265
38266         Avoid a compiler warning.
38267         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38268         Change type of variable 'sequence'.
38269
38270 2009-04-19  Bruno Haible  <bruno@clisp.org>
38271
38272         * modules/configmake (Makefile.am): When the contents of configmake.h
38273         does not change, arrange to preserve its modification time.
38274
38275 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38276
38277         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38278         gettext domain.
38279
38280 2009-04-16  Jim Meyering  <meyering@redhat.com>
38281
38282         useless-if-before-free: improve conversion code
38283         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38284         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38285
38286 2009-04-14  Bruno Haible  <bruno@clisp.org>
38287
38288         * modules/fcntl (Depends-on): Add extensions.
38289         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38290
38291 2009-04-12  Ben Pfaff  <blp@gnu.org>
38292
38293         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38294         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38295
38296 2009-03-20  Ben Pfaff  <blp@gnu.org>
38297
38298         Make rename replace existing destinations on Windows.
38299         * m4/rename.m4: Add test for Mingw.
38300         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38301         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38302         * doc/posix-functions/rename.texi: Document.
38303
38304 2009-04-10  Bruno Haible  <bruno@clisp.org>
38305
38306         New include file "iconveh.h".
38307         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38308         * lib/striconveh.h: Include it.
38309         (enum iconv_ilseq_handler): Remove definition.
38310         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38311         striconveh.h.
38312         * lib/striconveha.c: Include striconveh.h.
38313         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38314         * modules/striconveh (Files): Add lib/iconveh.h.
38315         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38316         lib/striconveh.h.
38317
38318 2009-04-10  Bruno Haible  <bruno@clisp.org>
38319
38320         * lib/uniconv.h: Update comment.
38321
38322 2009-04-10  Bruno Haible  <bruno@clisp.org>
38323
38324         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38325         always.
38326         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38327         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38328         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38329         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38330         "unistring-notinline.h", so that the function gets defined always.
38331         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38332         * lib/unistr/u8-uctomb.c: Likewise.
38333         * lib/unistr/u16-mbtouc.c: Likewise.
38334         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38335         * lib/unistr/u16-uctomb.c: Likewise.
38336         * lib/unistr/u32-mbtouc.c: Likewise.
38337         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38338         * lib/unistr/u32-uctomb.c: Likewise.
38339
38340 2009-04-10  Bruno Haible  <bruno@clisp.org>
38341
38342         Mark 'utime' obsolete.
38343         * modules/utime (Status, Notice): New sections.
38344         Suggested by Jim Meyering.
38345
38346         Fix cross-compile guess for utime test.
38347         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38348         autoconf.
38349         * doc/posix-functions/utime.texi: Give more precisions.
38350         Reported by Jan <ipif@ymail.com>.
38351
38352 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38353
38354         filevercmp: correct today's change
38355         * lib/filevercmp.c: Also handle coreutils' test inputs.
38356         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38357
38358         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38359         for reporting it.
38360         * lib/filevercmp.c: Special handle for "", "." and "..".
38361         * tests/test-filevercmp.c: Enlarge the set suite.
38362
38363 2009-04-07  Jim Meyering  <meyering@redhat.com>
38364
38365         useless-if-before-free: show how to remove braced useless free, too
38366         * build-aux/useless-if-before-free: still only in a comment, though.
38367
38368 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38369
38370         maint.mk: import changes to syntax-check macros from coreutils
38371         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38372         Use them in the relevant macros.
38373
38374 2009-04-06  Bruno Haible  <bruno@clisp.org>
38375
38376         Fix unportable use of bit-fields.
38377         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38378         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38379         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38380
38381 2009-04-06  Bruno Haible  <bruno@clisp.org>
38382
38383         Avoid test failures on AIX and OSF/1.
38384         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38385         that malloc(0) = NULL.
38386         * tests/unicase/test-u8-tolower.c (check): Likewise.
38387         * tests/unicase/test-u8-totitle.c (check): Likewise.
38388         * tests/unicase/test-u8-toupper.c (check): Likewise.
38389         * tests/unicase/test-u16-casefold.c (check): Likewise.
38390         * tests/unicase/test-u16-tolower.c (check): Likewise.
38391         * tests/unicase/test-u16-totitle.c (check): Likewise.
38392         * tests/unicase/test-u16-toupper.c (check): Likewise.
38393         * tests/unicase/test-u32-casefold.c (check): Likewise.
38394         * tests/unicase/test-u32-tolower.c (check): Likewise.
38395         * tests/unicase/test-u32-totitle.c (check): Likewise.
38396         * tests/unicase/test-u32-toupper.c (check): Likewise.
38397         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38398         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38399         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38400         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38401         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38402         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38403         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38404         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38405         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38406         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38407         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38408         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38409
38410 2009-04-05  Bruno Haible  <bruno@clisp.org>
38411
38412         Work around an autoconf limitation.
38413         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38414         comment line if it would be longer than 3 KB.
38415
38416 2009-04-05  Bruno Haible  <bruno@clisp.org>
38417
38418         Avoid test failure with libiconv-1.13.
38419         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38420         of the expected test results.
38421
38422 2009-04-05  Bruno Haible  <bruno@clisp.org>
38423
38424         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38425         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38426         that it should be installed.
38427
38428 2009-04-05  Bruno Haible  <bruno@clisp.org>
38429
38430         * gnulib-tool: New option --copy-file.
38431         (func_usage): Document it.
38432         (func_dest_tmpfilename): Moved out of func_import.
38433         (func_add_file, func_update_file): New functions, extracted from
38434         func_import.
38435         (func_import): Update.
38436
38437 2009-04-05  Karl Berry  <karl@gnu.org>
38438
38439         * README: prominently mention gnulib-tool.
38440         Rearrange sections so getting the code is near the top.
38441
38442 2009-04-05  Bruno Haible  <bruno@clisp.org>
38443
38444         * lib/unicase.h: Mention u*_cmp2.
38445         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38446         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38447         * lib/unicase/ulc-casecmp.c: Likewise.
38448         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38449         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38450         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38451         unistr/u8-cmp.
38452         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38453         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38454         unistr/u16-cmp.
38455         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38456         unistr/u32-cmp.
38457
38458         * lib/uninorm.h: Mention u*_cmp2.
38459         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38460         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38461         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38462         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38463         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38464         unistr/u8-cmp.
38465         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38466         unistr/u16-cmp.
38467         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38468         unistr/u32-cmp.
38469
38470         New module 'unistr/u32-cmp2'.
38471         * lib/unistr/u32-cmp2.c: New file.
38472         * modules/unistr/u32-cmp2: New file.
38473
38474         New module 'unistr/u16-cmp2'.
38475         * lib/unistr/u16-cmp2.c: New file.
38476         * modules/unistr/u16-cmp2: New file.
38477
38478         New module 'unistr/u8-cmp2'.
38479         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
38480         * lib/unistr/u8-cmp2.c: New file.
38481         * lib/unistr/u-cmp2.h: New file.
38482         * modules/unistr/u8-cmp2: New file.
38483
38484 2009-04-05  Bruno Haible  <bruno@clisp.org>
38485
38486         * lib/unictype.h (uc_property_is_valid): New macro.
38487         * tests/unictype/test-pr_byname.c (main): Use it.
38488
38489         * lib/unistr.h: Doc fixes.
38490         * lib/uniconv.h: Doc fixes.
38491         * lib/unictype.h: Doc fixes.
38492
38493 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
38494
38495         Port coreutils 7.2 to Solaris 8.
38496
38497         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
38498         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
38499         for Solaris 8.  This is a bit of a hack, as it means it's the
38500         caller's responsibility to add -lnsl if needed, but most likely it
38501         won't be needed since only getaddrinfo uses this and getaddrinfo
38502         isn't needed on Solaris 8.
38503
38504         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
38505         problem to Solaris 8 encountered with coreutils 7.2, which
38506         resulted in a message "fnmatch.c:292: warning: passing argument 4
38507         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
38508         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
38509
38510 2009-04-03  Simon Josefsson  <simon@josefsson.org>
38511
38512         * m4/ld-version-script.m4: Add FIXME comment.
38513
38514 2009-04-02  Simon Josefsson  <simon@josefsson.org>
38515
38516         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
38517         SOVERSION variable.
38518
38519 2009-04-02  Bruno Haible  <bruno@clisp.org>
38520
38521         * Makefile (info, html, dvi, pdf): Combine the rules.
38522         Suggested by Jim Meyering.
38523
38524 2009-04-01  Bruno Haible  <bruno@clisp.org>
38525
38526         * Makefile (info, html, dvi, pdf): New targets.
38527         Reported by Reuben Thomas <rrt@sc3d.org>.
38528
38529 2009-04-01  Bruno Haible  <bruno@clisp.org>
38530
38531         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
38532         can be put into PATH.
38533         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
38534
38535 2009-04-01  Bruno Haible  <bruno@clisp.org>
38536
38537         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
38538
38539 2009-04-01  Bruno Haible  <bruno@clisp.org>
38540
38541         Rename module 'visibility'.
38542         * modules/lib-symbol-visibility: Renamed from modules/visibility.
38543         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
38544         * doc/gnulib.texi: Update.
38545         * MODULES.html.sh (Misc): Update.
38546         * NEWS: Mention the change.
38547
38548 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38549
38550         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
38551         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
38552         Eric Blake <ebb9@byu.net> for review.
38553         * MODULES.html.sh: Add lib-msvc-compat.
38554         * doc/gnulib.texi: Link to new section.
38555         * m4/ld-output-def.m4: New file.
38556         * doc/ld-output-def.texi: New file.
38557
38558 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38559
38560         Rename ld-version-script to lib-symbol-versions.  Suggested by
38561         Bruno Haible <bruno@clisp.org>.
38562         * modules/ld-version-script: Renamed to lib-symbol-versions.
38563         * doc/ld-version-script.texi: Fix module name.
38564         * MODULES.html.sh: Add lib-symbol-versions.
38565
38566 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38567
38568         * modules/u64-tests: New file.
38569         * tests/test-u64.c: New file.
38570
38571 2009-03-04  Simon Josefsson  <simon@josefsson.org>
38572
38573         * MODULES.html.sh: Mention u64.
38574         * modules/u64: New module.
38575         * modules/crypto/sha512: Depend on u64 module instead of providing
38576         u64.h.
38577
38578 2009-03-27  Eric Blake  <ebb9@byu.net>
38579
38580         test-strerror: make debugging EAI_SYSTEM easier
38581         * modules/getaddrinfo-tests (Depends-on): Add strerror.
38582         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
38583         failure was EAI_SYSTEM.
38584
38585 2009-03-25  Bruno Haible  <bruno@clisp.org>
38586
38587         Fix a problem with --enable-relocatable on Solaris 7.
38588         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
38589         since 2008-02-24.
38590
38591 2009-03-25  Eric Blake  <ebb9@byu.net>
38592
38593         test-sockets: avoid gcc warning
38594         * tests/test-sockets.c (main): Silence compiler warning.
38595
38596 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
38597
38598         New modules nproc, pthread, contributed by Glen Lenker.
38599
38600         * MODULES.html.sh: Add pthread, nproc.
38601         * lib/nproc.c: New file.
38602         * lib/nproc.h: New file.
38603         * lib/pthread.in.h: New file.
38604         * m4/pthread.m4: New file.
38605         * modules/nproc: New file.
38606         * modules/pthread: New file.
38607
38608 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38609
38610         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
38611         New variable.
38612
38613 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
38614
38615         filevercmp: handle simple~ and numbered.~3~ backup suffixes
38616         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
38617         * tests/test-filevercmp.c: Add tests for backup suffixes.
38618
38619 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38620
38621         * modules/stdlib (Depends-on): Add stdint, needed when defining
38622         struct random_data on, for example, HP-UX 10.20.  Reported by
38623         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38624
38625 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38626
38627         * lib/readline.c (readline): Call fflush on stdout after printing
38628         prompt.
38629
38630 2009-03-20  Bruno Haible  <bruno@clisp.org>
38631
38632         Remove dependency from 'close' module to -lws2_32 on native Windows.
38633         * lib/close-hook.h: New file.
38634         * lib/close-hook.c: New file.
38635         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
38636         w32sock.h.
38637         (_gl_close_fd_maybe_socket): Remove function.
38638         (rpl_close): Invoke execute_all_close_hooks instead of
38639         _gl_close_fd_maybe_socket.
38640         * lib/sockets.c: Include close-hook.h, w32sock.h.
38641         (close_fd_maybe_socket): New function, essentially from lib/close.c.
38642         (close_sockets_hook): New variable.
38643         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
38644         (gl_sockets_cleanup): Unregister it.
38645         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
38646         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
38647         * modules/close-hook: New file.
38648         * modules/close (Files): Remove lib/w32sock.h.
38649         (Depends-on): Add close-hook.
38650         (Link): Remove section.
38651         * modules/sockets (Files): Add lib/w32sock.h.
38652         (Depends-on): Add close-hook.
38653         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
38654         invocation.
38655         * NEWS: Mention that LIB_CLOSE is gone.
38656
38657 2009-03-23  Eric Blake  <ebb9@byu.net>
38658
38659         signal-tests: test previous patch
38660         * tests/test-signal.c: New file.
38661         * modules/signal-tests: Likewise.
38662
38663         signal.h: always support 'volatile sig_atomic_t'
38664         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
38665         (gl_SIGNAL_H_DEFAULTS): Add a default.
38666         * modules/signal (Makefile.am): Substitute if needed.
38667         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
38668         users can blindly add volatile.
38669         * doc/posix-headers/signal.texi (signal.h): Document it.
38670         Reported by Matthew Woehlke.
38671
38672 2009-03-23  Jim Meyering  <meyering@redhat.com>
38673
38674         pathmax: PATH_MAX: use pathconf only when available
38675         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
38676         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
38677         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
38678         This avoids a link failure in a PSP cross-compilation environment
38679         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
38680
38681         * lib/vasnprintf.c (divide): Fix typo in comment.
38682
38683 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38684
38685         * gnulib-tool (func_filter_filelist): Fix comment.
38686
38687 2009-03-20  Bruno Haible  <bruno@clisp.org>
38688
38689         Make sockets.h self-contained.
38690         * lib/sockets.c: Include sockets.h first.
38691         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
38692
38693 2009-03-19  Eric Blake  <ebb9@byu.net>
38694
38695         doc: mention more functions added in cygwin 1.7.0
38696         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
38697         addition.
38698         * doc/posix-functions/log2f.texi: Likewise.
38699
38700 2009-03-19  Jim Meyering  <meyering@redhat.com>
38701
38702         fsusage: avoid syntax error due to statement-before-declaration
38703         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
38704         after all declarations.  Reported by Matthew Woehlke in
38705         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
38706
38707 2009-03-18  Eric Blake  <ebb9@byu.net>
38708
38709         build-aux/compile: sync from automake
38710         * build-aux/compile: New file, from automake.
38711         * config/srclist.txt: Mention build-aux/compile.
38712
38713 2009-03-17  Bruno Haible  <bruno@clisp.org>
38714
38715         * lib/git-merge-changelog.c: Fix typo in comment.
38716         Reported by Reuben Thomas <rrt@sc3d.org>.
38717
38718 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
38719
38720         * m4/regex.m4: update and improve help for
38721         --without-included-regex.
38722
38723 2009-03-17  Simon Josefsson  <simon@josefsson.org>
38724
38725         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
38726         failure on missing include files.
38727
38728 2009-03-17  Eric Blake  <ebb9@byu.net>
38729
38730         doc: mention more functions added in cygwin 1.7.0
38731         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
38732         addition.
38733         * doc/posix-functions/fwscanf.texi: Likewise.
38734         * doc/posix-functions/swprintf.texi: Likewise.
38735         * doc/posix-functions/swscanf.texi: Likewise.
38736         * doc/posix-functions/vfwprintf.texi: Likewise.
38737         * doc/posix-functions/vfwscanf.texi: Likewise.
38738         * doc/posix-functions/vswprintf.texi: Likewise.
38739         * doc/posix-functions/vswscanf.texi: Likewise.
38740         * doc/posix-functions/vwprintf.texi: Likewise.
38741         * doc/posix-functions/vwscanf.texi: Likewise.
38742         * doc/posix-functions/wcscasecmp.texi: Likewise.
38743         * doc/posix-functions/wcsdup.texi: Likewise.
38744         * doc/posix-functions/wcsftime.texi: Likewise.
38745         * doc/posix-functions/wcsncasecmp.texi: Likewise.
38746         * doc/posix-functions/wprintf.texi: Likewise.
38747         * doc/posix-functions/wscanf.texi: Likewise.
38748         * doc/glibc-functions/gethostbyname2.texi: Likewise.
38749
38750 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38751
38752         maint.mk: really add $(AM_MAKEFLAGS)
38753         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
38754         was inadvertently omitted in the last commit.
38755         Spotted by Bruno Haible.
38756
38757         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
38758         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
38759         $(AM_MAKEFLAGS)' rather than plain `make'.
38760
38761         gnulib-tool: execute $MAKE not make
38762         * gnulib-tool: Default $MAKE to 'make'.
38763         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
38764         than make.  Initialize $MAKE in the do-autobuild script.
38765
38766         gnulib-tool: use $MAKE not make in generated files
38767         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
38768         make, in generated files.  Initialize $MAKE in the do-autobuild
38769         script.
38770
38771         * top/GNUmakefile (_have-git-version-gen): Fix typo.
38772
38773         GNUmakefile: disable parallelism only for multiple, recursive targets
38774         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
38775         additions in the Makefile.
38776         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
38777         by Automake.
38778         (.NOTPARALLEL): Only disable parallel builds if multiple targets
38779         are listed on the command line and at least one of them is
38780         listed in $(ALL_RECURSIVE_TARGETS).
38781
38782 2009-03-14  Bruno Haible  <bruno@clisp.org>
38783
38784         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
38785         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
38786         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
38787         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
38788         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
38789         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
38790         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
38791         unistr/u8-uctomb.
38792         * modules/unistr/u8-strchr (Depends-on): Likewise.
38793         * modules/unistr/u8-strrchr (Depends-on): Likewise.
38794         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
38795         unistr/u16-uctomb.
38796         * modules/unistr/u16-strchr (Depends-on): Likewise.
38797         * modules/unistr/u16-strrchr (Depends-on): Likewise.
38798
38799 2009-03-12  Bruno Haible  <bruno@clisp.org>
38800
38801         Work around select() bug on Interix 3.5.
38802         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
38803         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
38804         * m4/select.m4: New file.
38805         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
38806         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
38807         * modules/select (Files): Add m4/select.m4.
38808         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
38809         * modules/nanosleep (Depends-on): Add select.
38810         * modules/poll (Depends-on): Likewise.
38811         * doc/posix-functions/select.texi: Mention the Interix bug.
38812         Reported by Markus Duft <mduft@gentoo.org>.
38813
38814         * lib/select.c: Renamed from lib/winsock-select.c.
38815         * modules/select (Files): Add lib/select.c, remove
38816         lib/winsock-select.c.
38817         (configure.ac): Update.
38818
38819 2009-03-12  Jim Meyering  <meyering@redhat.com>
38820
38821         avoid gcc warnings about unused macro definitions
38822         * lib/readtokens.c (STREQ): Remove unused definition.
38823         * lib/xmalloc.c (SIZE_MAX): Likewise.
38824         * lib/openat-die.c (N_): Likewise.
38825         * lib/mountlist.c (SIZE_MAX): Remove definition.
38826         Instead, include <stdint.h>.
38827         * lib/readutmp.c: Likewise.
38828         * modules/readutmp (Depends-on): Add stdint.
38829         * modules/mountlist (Depends-on): Add stdint.
38830         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
38831
38832 2009-03-10  Bruno Haible  <bruno@clisp.org>
38833
38834         Tests for module 'mbmemcasecoll'.
38835         * modules/mbmemcasecoll-tests: New file.
38836         * tests/test-mbmemcasecoll1.sh: New file.
38837         * tests/test-mbmemcasecoll2.sh: New file.
38838         * tests/test-mbmemcasecoll3.sh: New file.
38839         * tests/test-mbmemcasecoll.c: New file.
38840
38841         New module 'mbmemcasecoll'.
38842         * lib/mbmemcasecoll.h: New file.
38843         * lib/mbmemcasecoll.c: New file.
38844         * modules/mbmemcasecoll: New file.
38845
38846         * tests/test-mbmemcasecmp.h: New file, extracted from
38847         tests/test-mbmemcasecmp.c.
38848         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
38849         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
38850         (main): Update.
38851         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
38852
38853 2009-03-09  Bruno Haible  <bruno@clisp.org>
38854
38855         Tests for module 'mbmemcasecmp'.
38856         * modules/mbmemcasecmp-tests: New file.
38857         * tests/test-mbmemcasecmp1.sh: New file.
38858         * tests/test-mbmemcasecmp2.sh: New file.
38859         * tests/test-mbmemcasecmp3.sh: New file.
38860         * tests/test-mbmemcasecmp.c: New file.
38861
38862         New module 'mbmemcasecmp'.
38863         * lib/mbmemcasecmp.h: New file.
38864         * lib/mbmemcasecmp.c: New file.
38865         * modules/mbmemcasecmp: New file.
38866
38867 2009-03-09  Bruno Haible  <bruno@clisp.org>
38868
38869         Tests for module 'unicase/ulc-casecoll'.
38870         * modules/unicase/ulc-casecoll-tests: New file.
38871         * tests/unicase/test-ulc-casecoll1.sh: New file.
38872         * tests/unicase/test-ulc-casecoll2.sh: New file.
38873         * tests/unicase/test-ulc-casecoll.c: New file.
38874
38875         New module 'unicase/ulc-casecoll'.
38876         * lib/unicase.h (ulc_casecoll): New declaration.
38877         * lib/unicase/ulc-casecoll.c: New file.
38878         * modules/unicase/ulc-casecoll: New file.
38879
38880         New module 'unicase/ulc-casexfrm'.
38881         * lib/unicase.h (ulc_casexfrm): New declaration.
38882         * lib/unicase/ulc-casexfrm.c: New file.
38883         * modules/unicase/ulc-casexfrm: New file.
38884
38885 2009-03-09  Bruno Haible  <bruno@clisp.org>
38886
38887         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
38888         invocations.
38889
38890         * m4/mbscasecmp.m4: Remove file.
38891         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
38892         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
38893
38894         * m4/mbscasestr.m4: Remove file.
38895         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
38896         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
38897
38898         * m4/mbschr.m4: Remove file.
38899         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
38900         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
38901
38902         * m4/mbscspn.m4: Remove file.
38903         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
38904         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
38905
38906         * m4/mbslen.m4: Remove file.
38907         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
38908         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
38909
38910         * m4/mbsncasecmp.m4: Remove file.
38911         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
38912         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
38913
38914         * m4/mbsnlen.m4: Remove file.
38915         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
38916         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
38917
38918         * m4/mbspbrk.m4: Remove file.
38919         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
38920         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
38921
38922         * m4/mbspcasecmp.m4: Remove file.
38923         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
38924         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
38925
38926         * m4/mbsrchr.m4: Remove file.
38927         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
38928         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
38929
38930         * m4/mbssep.m4: Remove file.
38931         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
38932         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
38933
38934         * m4/mbsspn.m4: Remove file.
38935         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
38936         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
38937
38938         * m4/mbsstr.m4: Remove file.
38939         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
38940         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
38941
38942         * m4/mbstok_r.m4: Remove file.
38943         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
38944         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
38945
38946         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
38947
38948         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
38949         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
38950
38951         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
38952
38953 2009-03-08  Bruno Haible  <bruno@clisp.org>
38954
38955         Tests for module 'unicase/ulc-casecmp'.
38956         * modules/unicase/ulc-casecmp-tests: New file.
38957         * tests/unicase/test-ulc-casecmp1.sh: New file.
38958         * tests/unicase/test-ulc-casecmp2.sh: New file.
38959         * tests/unicase/test-ulc-casecmp.c: New file.
38960
38961         New module 'unicase/ulc-casecmp'.
38962         * lib/unicase.h (ulc_casecmp): New declaration.
38963         * lib/unicase/ulc-casecmp.c: New file.
38964         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
38965         'const SRC_UNIT *'.
38966         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
38967         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
38968         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
38969         * modules/unicase/ulc-casecmp: New file.
38970
38971         Tests for module 'unicase/u32-is-cased'.
38972         * modules/unicase/u32-is-cased-tests: New file.
38973         * tests/unicase/test-u32-is-cased.c: New file.
38974
38975         Tests for module 'unicase/u16-is-cased'.
38976         * modules/unicase/u16-is-cased-tests: New file.
38977         * tests/unicase/test-u16-is-cased.c: New file.
38978
38979         Tests for module 'unicase/u8-is-cased'.
38980         * modules/unicase/u8-is-cased-tests: New file.
38981         * tests/unicase/test-u8-is-cased.c: New file.
38982         * tests/unicase/test-is-cased.h: New file.
38983
38984         New module 'unicase/u32-is-cased'.
38985         * lib/unicase/u32-is-cased.c: New file.
38986         * modules/unicase/u32-is-cased: New file.
38987
38988         New module 'unicase/u16-is-cased'.
38989         * lib/unicase/u16-is-cased.c: New file.
38990         * modules/unicase/u16-is-cased: New file.
38991
38992         New module 'unicase/u8-is-cased'.
38993         * lib/unicase/u8-is-cased.c: New file.
38994         * lib/unicase/u-is-cased.h: New file.
38995         * modules/unicase/u8-is-cased: New file.
38996
38997         Tests for module 'unicase/u32-is-casefolded'.
38998         * modules/unicase/u32-is-casefolded-tests: New file.
38999         * tests/unicase/test-u32-is-casefolded.c: New file.
39000
39001         Tests for module 'unicase/u16-is-casefolded'.
39002         * modules/unicase/u16-is-casefolded-tests: New file.
39003         * tests/unicase/test-u16-is-casefolded.c: New file.
39004
39005         Tests for module 'unicase/u8-is-casefolded'.
39006         * modules/unicase/u8-is-casefolded-tests: New file.
39007         * tests/unicase/test-u8-is-casefolded.c: New file.
39008         * tests/unicase/test-is-casefolded.h: New file.
39009
39010         New module 'unicase/u32-is-casefolded'.
39011         * lib/unicase/u32-is-casefolded.c: New file.
39012         * modules/unicase/u32-is-casefolded: New file.
39013
39014         New module 'unicase/u16-is-casefolded'.
39015         * lib/unicase/u16-is-casefolded.c: New file.
39016         * modules/unicase/u16-is-casefolded: New file.
39017
39018         New module 'unicase/u8-is-casefolded'.
39019         * lib/unicase/u8-is-casefolded.c: New file.
39020         * modules/unicase/u8-is-casefolded: New file.
39021
39022         Tests for module 'unicase/u32-is-titlecase'.
39023         * modules/unicase/u32-is-titlecase-tests: New file.
39024         * tests/unicase/test-u32-is-titlecase.c: New file.
39025
39026         Tests for module 'unicase/u16-is-titlecase'.
39027         * modules/unicase/u16-is-titlecase-tests: New file.
39028         * tests/unicase/test-u16-is-titlecase.c: New file.
39029
39030         Tests for module 'unicase/u8-is-titlecase'.
39031         * modules/unicase/u8-is-titlecase-tests: New file.
39032         * tests/unicase/test-u8-is-titlecase.c: New file.
39033         * tests/unicase/test-is-titlecase.h: New file.
39034
39035         New module 'unicase/u32-is-titlecase'.
39036         * lib/unicase/u32-is-titlecase.c: New file.
39037         * modules/unicase/u32-is-titlecase: New file.
39038
39039         New module 'unicase/u16-is-titlecase'.
39040         * lib/unicase/u16-is-titlecase.c: New file.
39041         * modules/unicase/u16-is-titlecase: New file.
39042
39043         New module 'unicase/u8-is-titlecase'.
39044         * lib/unicase/u8-is-titlecase.c: New file.
39045         * modules/unicase/u8-is-titlecase: New file.
39046
39047         Tests for module 'unicase/u32-is-lowercase'.
39048         * modules/unicase/u32-is-lowercase-tests: New file.
39049         * tests/unicase/test-u32-is-lowercase.c: New file.
39050
39051         Tests for module 'unicase/u16-is-lowercase'.
39052         * modules/unicase/u16-is-lowercase-tests: New file.
39053         * tests/unicase/test-u16-is-lowercase.c: New file.
39054
39055         Tests for module 'unicase/u8-is-lowercase'.
39056         * modules/unicase/u8-is-lowercase-tests: New file.
39057         * tests/unicase/test-u8-is-lowercase.c: New file.
39058         * tests/unicase/test-is-lowercase.h: New file.
39059
39060         New module 'unicase/u32-is-lowercase'.
39061         * lib/unicase/u32-is-lowercase.c: New file.
39062         * modules/unicase/u32-is-lowercase: New file.
39063
39064         New module 'unicase/u16-is-lowercase'.
39065         * lib/unicase/u16-is-lowercase.c: New file.
39066         * modules/unicase/u16-is-lowercase: New file.
39067
39068         New module 'unicase/u8-is-lowercase'.
39069         * lib/unicase/u8-is-lowercase.c: New file.
39070         * modules/unicase/u8-is-lowercase: New file.
39071
39072         Tests for module 'unicase/u32-is-uppercase'.
39073         * modules/unicase/u32-is-uppercase-tests: New file.
39074         * tests/unicase/test-u32-is-uppercase.c: New file.
39075
39076         Tests for module 'unicase/u16-is-uppercase'.
39077         * modules/unicase/u16-is-uppercase-tests: New file.
39078         * tests/unicase/test-u16-is-uppercase.c: New file.
39079
39080         Tests for module 'unicase/u8-is-uppercase'.
39081         * modules/unicase/u8-is-uppercase-tests: New file.
39082         * tests/unicase/test-u8-is-uppercase.c: New file.
39083         * tests/unicase/test-is-uppercase.h: New file.
39084
39085         New module 'unicase/u32-is-uppercase'.
39086         * lib/unicase/u32-is-uppercase.c: New file.
39087         * modules/unicase/u32-is-uppercase: New file.
39088
39089         New module 'unicase/u16-is-uppercase'.
39090         * lib/unicase/u16-is-uppercase.c: New file.
39091         * modules/unicase/u16-is-uppercase: New file.
39092
39093         New module 'unicase/u8-is-uppercase'.
39094         * lib/unicase/u8-is-uppercase.c: New file.
39095         * modules/unicase/u8-is-uppercase: New file.
39096
39097         New module 'unicase/u32-is-invariant'.
39098         * lib/unicase/u32-is-invariant.c: New file.
39099         * modules/unicase/u32-is-invariant: New file.
39100
39101         New module 'unicase/u16-is-invariant'.
39102         * lib/unicase/u16-is-invariant.c: New file.
39103         * modules/unicase/u16-is-invariant: New file.
39104
39105         New module 'unicase/u8-is-invariant'.
39106         * lib/unicase/u8-is-invariant.c: New file.
39107         * lib/unicase/invariant.h: New file.
39108         * lib/unicase/u-is-invariant.h: New file.
39109         * modules/unicase/u8-is-invariant: New file.
39110
39111         Tests for module 'unicase/u32-casecoll'.
39112         * modules/unicase/u32-casecoll-tests: New file.
39113         * tests/unicase/test-u32-casecoll.c: New file.
39114
39115         Tests for module 'unicase/u16-casecoll'.
39116         * modules/unicase/u16-casecoll-tests: New file.
39117         * tests/unicase/test-u16-casecoll.c: New file.
39118
39119         Tests for module 'unicase/u8-casecoll'.
39120         * modules/unicase/u8-casecoll-tests: New file.
39121         * tests/unicase/test-u8-casecoll.c: New file.
39122
39123         New module 'unicase/u32-casecoll'.
39124         * lib/unicase/u32-casecoll.c: New file.
39125         * modules/unicase/u32-casecoll: New file.
39126
39127         New module 'unicase/u16-casecoll'.
39128         * lib/unicase/u16-casecoll.c: New file.
39129         * modules/unicase/u16-casecoll: New file.
39130
39131         New module 'unicase/u8-casecoll'.
39132         * lib/unicase/u8-casecoll.c: New file.
39133         * lib/unicase/u-casecoll.h: New file.
39134         * modules/unicase/u8-casecoll: New file.
39135
39136         New module 'unicase/u32-casexfrm'.
39137         * lib/unicase/u32-casexfrm.c: New file.
39138         * modules/unicase/u32-casexfrm: New file.
39139
39140         New module 'unicase/u16-casexfrm'.
39141         * lib/unicase/u16-casexfrm.c: New file.
39142         * modules/unicase/u16-casexfrm: New file.
39143
39144         New module 'unicase/u8-casexfrm'.
39145         * lib/unicase/u8-casexfrm.c: New file.
39146         * lib/unicase/u-casexfrm.h: New file.
39147         * modules/unicase/u8-casexfrm: New file.
39148
39149         Tests for module 'unicase/u32-casecmp'.
39150         * modules/unicase/u32-casecmp-tests: New file.
39151         * tests/unicase/test-u32-casecmp.c: New file.
39152
39153         Tests for module 'unicase/u16-casecmp'.
39154         * modules/unicase/u16-casecmp-tests: New file.
39155         * tests/unicase/test-u16-casecmp.c: New file.
39156
39157         Tests for module 'unicase/u8-casecmp'.
39158         * modules/unicase/u8-casecmp-tests: New file.
39159         * tests/unicase/test-u8-casecmp.c: New file.
39160         * tests/unicase/test-casecmp.h: New file.
39161
39162         New module 'unicase/u32-casecmp'.
39163         * lib/unicase/u32-casecmp.c: New file.
39164         * modules/unicase/u32-casecmp: New file.
39165
39166         New module 'unicase/u16-casecmp'.
39167         * lib/unicase/u16-casecmp.c: New file.
39168         * modules/unicase/u16-casecmp: New file.
39169
39170         New module 'unicase/u8-casecmp'.
39171         * lib/unicase/u8-casecmp.c: New file.
39172         * lib/unicase/u-casecmp.h: New file.
39173         * modules/unicase/u8-casecmp: New file.
39174
39175         Tests for module 'unicase/u32-casefold'.
39176         * modules/unicase/u32-casefold-tests: New file.
39177         * tests/unicase/test-u32-casefold.c: New file.
39178
39179         Tests for module 'unicase/u16-casefold'.
39180         * modules/unicase/u16-casefold-tests: New file.
39181         * tests/unicase/test-u16-casefold.c: New file.
39182
39183         Tests for module 'unicase/u8-casefold'.
39184         * modules/unicase/u8-casefold-tests: New file.
39185         * tests/unicase/test-u8-casefold.c: New file.
39186
39187         New module 'unicase/u32-casefold'.
39188         * lib/unicase/u32-casefold.c: New file.
39189         * modules/unicase/u32-casefold: New file.
39190
39191         New module 'unicase/u16-casefold'.
39192         * lib/unicase/u16-casefold.c: New file.
39193         * modules/unicase/u16-casefold: New file.
39194
39195         New module 'unicase/u8-casefold'.
39196         * lib/unicase/u8-casefold.c: New file.
39197         * lib/unicase/u-casefold.h: New file.
39198         * modules/unicase/u8-casefold: New file.
39199
39200         New module 'unicase/tocasefold'.
39201         * lib/unicase/casefold.h: New file.
39202         * lib/unicase/tocasefold.c: New file.
39203         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39204         * modules/unicase/tocasefold: New file.
39205
39206         Tests for module 'unicase/u32-totitle'.
39207         * modules/unicase/u32-totitle-tests: New file.
39208         * tests/unicase/test-u32-totitle.c: New file.
39209
39210         Tests for module 'unicase/u16-totitle'.
39211         * modules/unicase/u16-totitle-tests: New file.
39212         * tests/unicase/test-u16-totitle.c: New file.
39213
39214         Tests for module 'unicase/u8-totitle'.
39215         * modules/unicase/u8-totitle-tests: New file.
39216         * tests/unicase/test-u8-totitle.c: New file.
39217
39218         New module 'unicase/u32-totitle'.
39219         * lib/unicase/u32-totitle.c: New file.
39220         * modules/unicase/u32-totitle: New file.
39221
39222         New module 'unicase/u16-totitle'.
39223         * lib/unicase/u16-totitle.c: New file.
39224         * modules/unicase/u16-totitle: New file.
39225
39226         New module 'unicase/u8-totitle'.
39227         * lib/unicase/u8-totitle.c: New file.
39228         * lib/unicase/u-totitle.h: New file.
39229         * modules/unicase/u8-totitle: New file.
39230
39231         Tests for module 'unicase/u32-tolower'.
39232         * modules/unicase/u32-tolower-tests: New file.
39233         * tests/unicase/test-u32-tolower.c: New file.
39234
39235         Tests for module 'unicase/u16-tolower'.
39236         * modules/unicase/u16-tolower-tests: New file.
39237         * tests/unicase/test-u16-tolower.c: New file.
39238
39239         Tests for module 'unicase/u8-tolower'.
39240         * modules/unicase/u8-tolower-tests: New file.
39241         * tests/unicase/test-u8-tolower.c: New file.
39242
39243         New module 'unicase/u32-tolower'.
39244         * lib/unicase/u32-tolower.c: New file.
39245         * modules/unicase/u32-tolower: New file.
39246
39247         New module 'unicase/u16-tolower'.
39248         * lib/unicase/u16-tolower.c: New file.
39249         * modules/unicase/u16-tolower: New file.
39250
39251         New module 'unicase/u8-tolower'.
39252         * lib/unicase/u8-tolower.c: New file.
39253         * modules/unicase/u8-tolower: New file.
39254
39255         Tests for module 'unicase/u32-toupper'.
39256         * modules/unicase/u32-toupper-tests: New file.
39257         * tests/unicase/test-u32-toupper.c: New file.
39258
39259         Tests for module 'unicase/u16-toupper'.
39260         * modules/unicase/u16-toupper-tests: New file.
39261         * tests/unicase/test-u16-toupper.c: New file.
39262
39263         Tests for module 'unicase/u8-toupper'.
39264         * modules/unicase/u8-toupper-tests: New file.
39265         * tests/unicase/test-u8-toupper.c: New file.
39266
39267         New module 'unicase/u32-toupper'.
39268         * lib/unicase/u32-toupper.c: New file.
39269         * modules/unicase/u32-toupper: New file.
39270
39271         New module 'unicase/u16-toupper'.
39272         * lib/unicase/u16-toupper.c: New file.
39273         * modules/unicase/u16-toupper: New file.
39274
39275         New module 'unicase/u8-toupper'.
39276         * lib/unicase/u8-toupper.c: New file.
39277         * modules/unicase/u8-toupper: New file.
39278
39279         New module 'unicase/u32-casemap'.
39280         * lib/unicase/u32-casemap.c: New file.
39281         * modules/unicase/u32-casemap: New file.
39282
39283         New module 'unicase/u16-casemap'.
39284         * lib/unicase/u16-casemap.c: New file.
39285         * modules/unicase/u16-casemap: New file.
39286
39287         New module 'unicase/u8-casemap'.
39288         * lib/unicase/unicasemap.h: New file.
39289         * lib/unicase/u8-casemap.c: New file.
39290         * lib/unicase/u-casemap.h: New file.
39291         * modules/unicase/u8-casemap: New file.
39292
39293         New module 'unicase/special-casing'.
39294         * lib/unicase/special-casing.h: New file.
39295         * lib/unicase/special-casing.c: New file.
39296         * lib/unicase/special-casing-table.gperf: New file, generated by
39297         gen-uni-tables.c.
39298         * modules/unicase/special-casing: New file.
39299
39300         Tests for module 'unicase/locale-language'.
39301         * modules/unicase/locale-language-tests: New file.
39302         * tests/unicase/test-locale-language.sh: New file.
39303         * tests/unicase/test-locale-language.c: New file.
39304
39305         New module 'unicase/locale-language'.
39306         * lib/unicase/locale-language.c: New file.
39307         * lib/unicase/locale-languages.gperf: New file.
39308         * modules/unicase/locale-language: New file.
39309
39310         Generate more tables for case conversion and case folding.
39311         * lib/gen-uni-tables.c (SCC_*): New enum items.
39312         (struct special_casing_rule): New type.
39313         (casing_rules, num_casing_rules, allocated_casing_rules): New
39314         variables.
39315         (add_casing_rule, fill_casing_rules): New functions.
39316         (struct casefold_rule): New type.
39317         (casefolding_rules, num_casefolding_rules,
39318         allocated_casefolding_rules): New variables.
39319         (fill_casefolding_rules): New function.
39320         (unicode_casefold): New variable.
39321         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39322         sort_casing_rules, output_casing_rules): New functions.
39323         (main): Accept to more arguments: SpecialCasing.txt and
39324         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39325         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39326         Output mapping for casefolding.
39327
39328         * lib/unicase.h: Include stdbool.h, uninorm.h.
39329         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39330         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39331         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39332         arguments.
39333         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39334         resultp arguments.
39335         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39336         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39337         resultp arguments.
39338         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39339         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39340         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39341         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39342         declarations.
39343         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39344
39345 2009-03-08  Bruno Haible  <bruno@clisp.org>
39346
39347         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39348         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39349         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39350         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39351
39352 2009-03-07  Bruno Haible  <bruno@clisp.org>
39353
39354         Adjust u*_normcmp, u*_normcoll API.
39355         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39356         u16_normcoll, u32_normcoll): Change failure conventions.
39357         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39358         errno and return -1.
39359         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39360
39361 2009-03-07  Bruno Haible  <bruno@clisp.org>
39362
39363         Tests for module 'uninorm/u32-normcoll'.
39364         * modules/uninorm/u32-normcoll-tests: New file.
39365         * tests/uninorm/test-u32-normcoll.c: New file.
39366
39367         Tests for module 'uninorm/u16-normcoll'.
39368         * modules/uninorm/u16-normcoll-tests: New file.
39369         * tests/uninorm/test-u16-normcoll.c: New file.
39370
39371         Tests for module 'uninorm/u8-normcoll'.
39372         * modules/uninorm/u8-normcoll-tests: New file.
39373         * tests/uninorm/test-u8-normcoll.c: New file.
39374
39375 2009-03-07  Bruno Haible  <bruno@clisp.org>
39376
39377         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39378         tests/uninorm/test-u32-normcmp.c.
39379         * tests/uninorm/test-u32-normcmp.c: Include it.
39380         (test_nonascii): New function, extracted from main. Add some more
39381         tests.
39382         (main): Invoke test_ascii and test_nonascii.
39383         * modules/uninorm/u32-normcmp-tests (Files): Add
39384         tests/uninorm/test-u32-normcmp.h.
39385         (Depends-on): Remove uninorm/u32-normcmp.
39386
39387         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39388         tests/uninorm/test-u16-normcmp.c.
39389         * tests/uninorm/test-u16-normcmp.c: Include it.
39390         (test_nonascii): New function, extracted from main. Add some more
39391         tests.
39392         (main): Invoke test_ascii and test_nonascii.
39393         * modules/uninorm/u16-normcmp-tests (Files): Add
39394         tests/uninorm/test-u16-normcmp.h.
39395         (Depends-on): Remove uninorm/u16-normcmp.
39396
39397         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39398         tests/uninorm/test-u8-normcmp.c.
39399         * tests/uninorm/test-u8-normcmp.c: Include it.
39400         (test_nonascii): New function, extracted from main. Add some more
39401         tests.
39402         (main): Invoke test_ascii and test_nonascii.
39403         * modules/uninorm/u8-normcmp-tests (Files): Add
39404         tests/uninorm/test-u8-normcmp.h.
39405         (Depends-on): Remove uninorm/u8-normcmp.
39406
39407 2009-03-07  Bruno Haible  <bruno@clisp.org>
39408
39409         New module 'uninorm/u32-normcoll'.
39410         * lib/uninorm/u32-normcoll.c: New file.
39411         * modules/uninorm/u32-normcoll: New file.
39412
39413         New module 'uninorm/u16-normcoll'.
39414         * lib/uninorm/u16-normcoll.c: New file.
39415         * modules/uninorm/u16-normcoll: New file.
39416
39417         New module 'uninorm/u8-normcoll'.
39418         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39419         declarations.
39420         * lib/uninorm/u8-normcoll.c: New file.
39421         * lib/uninorm/u-normcoll.h: New file.
39422         * modules/uninorm/u8-normcoll: New file.
39423
39424         New module 'uninorm/u32-normxfrm'.
39425         * lib/uninorm/u32-normxfrm.c: New file.
39426         * modules/uninorm/u32-normxfrm: New file.
39427
39428         New module 'uninorm/u16-normxfrm'.
39429         * lib/uninorm/u16-normxfrm.c: New file.
39430         * modules/uninorm/u16-normxfrm: New file.
39431
39432         New module 'uninorm/u8-normxfrm'.
39433         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39434         declarations.
39435         * lib/uninorm/u8-normxfrm.c: New file.
39436         * lib/uninorm/u-normxfrm.h: New file.
39437         * modules/uninorm/u8-normxfrm: New file.
39438
39439 2009-03-07  Bruno Haible  <bruno@clisp.org>
39440
39441         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39442         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39443         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39444
39445 2009-03-07  Bruno Haible  <bruno@clisp.org>
39446
39447         New module 'memxfrm'.
39448         * lib/memxfrm.h: New file.
39449         * lib/memxfrm.c: New file.
39450         * modules/memxfrm: New file.
39451
39452 2009-03-07  Bruno Haible  <bruno@clisp.org>
39453
39454         New module 'memcmp2'.
39455         * lib/memcmp2.h: New file.
39456         * lib/memcmp2.c: New file.
39457         * modules/memcmp2: New file.
39458
39459 2009-03-07  Bruno Haible  <bruno@clisp.org>
39460
39461         Tests for module 'uninorm/decomposing-form'.
39462         * modules/uninorm/decomposing-form-tests: New file.
39463         * tests/uninorm/test-decomposing-form.c: New file.
39464
39465         New module 'uninorm/decomposing-form'.
39466         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39467         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39468         Add 'decomposing_variant' field.
39469         * lib/uninorm/decomposing-form.c: New file.
39470         * lib/uninorm/nfc.c (uninorm_nfc): Update.
39471         * lib/uninorm/nfd.c (uninorm_nfd): Update.
39472         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
39473         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
39474         * modules/uninorm/decomposing-form: New file.
39475         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
39476         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
39477
39478 2009-03-07  Bruno Haible  <bruno@clisp.org>
39479
39480         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
39481         strings.
39482
39483 2009-03-06  Bruno Haible  <bruno@clisp.org>
39484
39485         Tests for module 'uninorm/u32-normcmp'.
39486         * tests/uninorm/test-u32-normcmp.c: New file.
39487         * modules/uninorm/u32-normcmp-tests: New file.
39488
39489         Tests for module 'uninorm/u16-normcmp'.
39490         * tests/uninorm/test-u16-normcmp.c: New file.
39491         * modules/uninorm/u16-normcmp-tests: New file.
39492
39493         Tests for module 'uninorm/u8-normcmp'.
39494         * tests/uninorm/test-u8-normcmp.c: New file.
39495         * modules/uninorm/u8-normcmp-tests: New file.
39496
39497         New module 'uninorm/u32-normcmp'.
39498         * lib/uninorm/u32-normcmp.c: New file.
39499         * modules/uninorm/u32-normcmp: New file.
39500
39501         New module 'uninorm/u16-normcmp'.
39502         * lib/uninorm/u16-normcmp.c: New file.
39503         * modules/uninorm/u16-normcmp: New file.
39504
39505         New module 'uninorm/u8-normcmp'.
39506         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
39507         declarations.
39508         * lib/uninorm/u8-normcmp.c: New file.
39509         * lib/uninorm/u-normcmp.h: New file.
39510         * modules/uninorm/u8-normcmp: New file.
39511
39512 2009-03-06  Bruno Haible  <bruno@clisp.org>
39513
39514         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
39515         Reported by Eric Blake.
39516
39517 2009-03-06  Eric Blake  <ebb9@byu.net>
39518             Bruno Haible  <bruno@clisp.org>
39519
39520         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
39521         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
39522         condition.
39523         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39524         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
39525         condition.
39526         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39527
39528 2009-03-06  Eric Blake  <ebb9@byu.net>
39529
39530         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
39531         to avoid compiler warnings.
39532         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
39533
39534 2009-03-05  Bruno Haible  <bruno@clisp.org>
39535
39536         * tests/test-ftell.c (main): Disable test beyond end of file on
39537         FreeMiNT.
39538         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39539
39540 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
39541
39542         * lib/filevercmp.c: Move hidden files up in ordering.
39543         * tests/test-filevercmp.c: Add tests for hidden files.
39544
39545 2009-03-04  Bruno Haible  <bruno@clisp.org>
39546
39547         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
39548         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
39549         AM_CFLAGS.
39550         Reported by Simon Josefsson.
39551
39552 2009-03-03  Bruno Haible  <bruno@clisp.org>
39553
39554         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
39555         Reported by Simon Josefsson.
39556
39557         * doc/ld-version-script.texi: Update node reference.
39558
39559 2009-03-03  Bruno Haible  <bruno@clisp.org>
39560
39561         * modules/visibility (License): Change to 'unlimited'.
39562         Suggested by Simon Josefsson.
39563
39564 2009-03-03  Jim Meyering  <meyering@redhat.com>
39565
39566         unlinkdir: cannot_unlink_dir may modify process state
39567         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
39568         it's neither thread-safe nor appropriate for use in a library.
39569
39570 2009-03-03  Eric Blake  <ebb9@byu.net>
39571
39572         test-closein: silence test under Darwin
39573         * tests/test-closein.sh: Ignore stderr from cat, since we don't
39574         care if it dies from EPIPE or EBADF.
39575
39576 2009-03-03  Bruno Haible  <bruno@clisp.org>
39577
39578         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
39579         earlier.
39580         * doc/visibility.texi: Fix @node and @section.
39581
39582 2009-03-03  Simon Josefsson  <simon@josefsson.org>
39583
39584         * doc/gnulib.texi: Link to sections for ld version script and
39585         visibility.
39586         * doc/visibility.texi: Add @node and @section.
39587         * modules/ld-version-script: New module.
39588         * m4/ld-version-script.m4: New file.
39589         * doc/ld-version-script.texi: New file.
39590
39591 2009-03-02  David Lutterkort  <lutter@redhat.com>
39592
39593         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
39594         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39595
39596 2009-03-02  Bruno Haible  <bruno@clisp.org>
39597
39598         * doc/visibility.texi: Mention libtool's -export-symbols option.
39599
39600 2009-03-02  Jim Meyering  <meyering@redhat.com>
39601
39602         announce-gen: new option: --no-print-checksums
39603         * build-aux/announce-gen (usage): Describe it.
39604         (print_checksums): Print a newline here, not in the [*] footnote.
39605         (main): Honor it.
39606
39607 2009-03-01  Bruno Haible  <bruno@clisp.org>
39608
39609         Use socklen_t in the native Windows replacements prototypes.
39610         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
39611         instead of 'int'.
39612         * lib/getsockopt.c (rpl_getsockopt): Likewise.
39613         * lib/setsockopt.c (rpl_setsockopt): Likewise.
39614         * modules/getsockopt (Depends-on): Add socklen.
39615         * modules/setsockopt (Depends-on): Add socklen.
39616
39617 2009-03-01  Bruno Haible  <bruno@clisp.org>
39618
39619         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
39620         least 4.2.
39621
39622 2009-03-01  Eric Blake  <ebb9@byu.net>
39623             Bruno Haible  <bruno@clisp.org>
39624
39625         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
39626         error messages.
39627         * lib/wait-process.c (wait_subprocess): Omit error message about
39628         deadly signal sent to the child of termsigp != NULL.
39629
39630 2009-03-01  Eric Blake  <ebb9@byu.net>
39631
39632         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
39633
39634 2009-03-01  Bruno Haible  <bruno@clisp.org>
39635
39636         Avoid a gcc warning.
39637         * tests/test-sched.c (b): Make global.
39638         Reported by Eric Blake.
39639
39640 2009-01-19  Martin Lambers  <marlam@marlam.de>
39641
39642         Provide POSIX semantics for socket timeout options on W32.
39643         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
39644         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
39645         * modules/setsockopt: Depend on sys_time module for struct timeval.
39646         * modules/getsockopt: Depend on sys_time module for struct timeval.
39647
39648 2009-03-01  Simon Josefsson  <simon@josefsson.org>
39649
39650         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
39651         __USE_GNU, for consistency with netdb.in.h.
39652         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39653
39654 2009-03-01  Bruno Haible  <bruno@clisp.org>
39655
39656         More support for FreeMiNT.
39657         * lib/fseeko.c (rpl_fseeko): Complete last commit.
39658         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39659
39660 2009-03-01  Bruno Haible  <bruno@clisp.org>
39661
39662         More support for FreeMiNT.
39663         * lib/fpurge.c (fpurge): Correct last commit.
39664         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39665
39666 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39667
39668         Fix unportable awk script in vc-list-files.
39669         * build-aux/vc-list-files: In the replacement awk script, use
39670         substr with a second argument of 1, not zero.
39671         Report by Simon Josefsson.
39672
39673 2009-02-28  Bruno Haible  <bruno@clisp.org>
39674
39675         More support for FreeMiNT.
39676         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
39677         to FreeMiNT today.
39678         * lib/fwriting.c (fwriting): Likewise.
39679         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
39680
39681 2009-02-28  Bruno Haible  <bruno@clisp.org>
39682
39683         * tests/test-freadseek.c (main): Disable test beyond end of file on
39684         FreeMiNT.
39685         * tests/test-ftello.c (main): Likewise.
39686         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39687
39688 2009-02-28  Bruno Haible  <bruno@clisp.org>
39689
39690         Add tentative support for FreeMiNT.
39691         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
39692         * lib/fpurge.c (fpurge): Likewise.
39693         * lib/freadable.c (freadable): Likewise.
39694         * lib/freading.c (freading): Likewise.
39695         * lib/freadptr.c (freadptr): Likewise.
39696         * lib/freadseek.c (freadptrinc): Likewise.
39697         * lib/fseeko.c (rpl_fseeko): Likewise.
39698         * lib/fseterr.c (fseterr): Likewise.
39699         * lib/fwritable.c (fwritable): Likewise.
39700         * lib/fwriting.c (fwriting): Likewise.
39701         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
39702         Hourihane.
39703         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39704
39705 2009-02-28  Bruno Haible  <bruno@clisp.org>
39706
39707         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
39708         SIGCHLD.
39709         Reported by Jim Meyering.
39710
39711 2009-02-28  Bruno Haible  <bruno@clisp.org>
39712
39713         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
39714         Mention the results of these tests on various platforms.
39715         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
39716         order.
39717         * doc/posix-functions/printf.texi: Likewise.
39718         * doc/posix-functions/snprintf.texi: Likewise.
39719         * doc/posix-functions/sprintf.texi: Likewise.
39720         * doc/posix-functions/vfprintf.texi: Likewise.
39721         * doc/posix-functions/vprintf.texi: Likewise.
39722         * doc/posix-functions/vsnprintf.texi: Likewise.
39723         * doc/posix-functions/vsprintf.texi: Likewise.
39724         * doc/glibc-functions/obstack_printf.texi: Likewise.
39725         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
39726
39727 2009-02-28  Bruno Haible  <bruno@clisp.org>
39728
39729         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
39730         Reported by Loïc Minier <lool@dooz.org>.
39731
39732 2009-02-27  Bruno Haible  <bruno@clisp.org>
39733
39734         * gnulib-tool (func_import): Make the sed expression used to create the
39735         sed script for updating the .gitignore file POSIX compliant.
39736         Reported by Eric Blake.
39737
39738 2009-02-27  Bruno Haible  <bruno@clisp.org>
39739
39740         * gnulib-tool (sed): Don't alias as "sed --posix".
39741         Reported by Eric Blake.
39742
39743 2009-02-27  Bruno Haible  <bruno@clisp.org>
39744
39745         Avoid test link errors.
39746         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
39747         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
39748         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
39749         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
39750         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39751
39752 2009-02-27  Bruno Haible  <bruno@clisp.org>
39753
39754         Avoid spurious "(cached)" in configure output.
39755         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
39756         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
39757         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
39758         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
39759         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
39760         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
39761         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
39762         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
39763         Reported by Eric Blake.
39764
39765 2009-02-27  Eric Blake  <ebb9@byu.net>
39766
39767         printf: fix regression in previous patch
39768         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
39769
39770 2009-02-27  Bruno Haible  <bruno@clisp.org>
39771
39772         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
39773         value.
39774         * lib/stdint.in.h: Likewise.
39775         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
39776
39777 2009-02-27  Eric Blake  <ebb9@byu.net>
39778
39779         doc: mention more functions added in cygwin 1.7.0
39780         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
39781         addition.
39782         * doc/posix-functions/open_wmemstream.texi: Likewise.
39783         * doc/posix-functions/wcsnlen.texi: Likewise.
39784         * doc/posix-functions/wcsnrtombs.texi: Likewise.
39785         * doc/posix-functions/wcstod.texi: Likewise.
39786         * doc/posix-functions/wcstof.texi: Likewise.
39787         * doc/posix-functions/wcstoimax.texi: Likewise.
39788         * doc/posix-functions/wcstok.texi: Likewise.
39789         * doc/posix-functions/wcstoumax.texi: Likewise.
39790
39791         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
39792         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
39793         * doc/posix-functions/fprintf.texi: Update.
39794         * doc/posix-functions/printf.texi: Update.
39795         * doc/posix-functions/snprintf.texi: Update.
39796         * doc/posix-functions/sprintf.texi: Update.
39797         * doc/posix-functions/vfprintf.texi: Update.
39798         * doc/posix-functions/vprintf.texi: Update.
39799         * doc/posix-functions/vsnprintf.texi: Update.
39800         * doc/posix-functions/vsprintf.texi: Update.
39801         * doc/glibc-functions/obstack_printf.texi: Update.
39802         * doc/glibc-functions/obstack_vprintf.texi: Update.
39803
39804 2009-02-26  Eric Blake  <ebb9@byu.net>
39805
39806         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
39807         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
39808         compilation bug by using runtime conversion.
39809         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
39810         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
39811         * modules/ceill-tests (Files): Use nan.h.
39812         * modules/floorl-tests (Files): Likewise.
39813         * modules/frexpl-tests (Files): Likewise.
39814         * modules/isnanl-tests (Files): Likewise.
39815         * modules/ldexpl-tests (Files): Likewise.
39816         * modules/roundl-tests (Files): Likewise.
39817         * modules/truncl-tests (Files): Likewise.
39818         * tests/test-ceill.c (main): Use a working NaN.
39819         * tests/test-floorl.c (main): Likewise.
39820         * tests/test-frexpl.c (main): Likewise.
39821         * tests/test-isnan.c (test_long_double): Likewise.
39822         * tests/test-isnanl.h (main): Likewise.
39823         * tests/test-ldexpl.h (main): Likewise.
39824         * tests/test-roundl.h (main): Likewise.
39825         * tests/test-truncl.h (main): Likewise.
39826         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
39827
39828 2009-02-26  Eric Blake  <ebb9@byu.net>
39829             Bruno Haible  <bruno@clisp.org>
39830
39831         Work around a *printf bug with %ls on Solaris.
39832         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
39833         precision is specified, sprintf stops converting the wide string
39834         argument when the number of bytes that have been produced by this
39835         conversion equals or exceeds the precision.
39836         * doc/posix-functions/fprintf.texi: Update.
39837         * doc/posix-functions/printf.texi: Update.
39838         * doc/posix-functions/snprintf.texi: Update.
39839         * doc/posix-functions/sprintf.texi: Update.
39840         * doc/posix-functions/vfprintf.texi: Update.
39841         * doc/posix-functions/vprintf.texi: Update.
39842         * doc/posix-functions/vsnprintf.texi: Update.
39843         * doc/posix-functions/vsprintf.texi: Update.
39844         * doc/glibc-functions/obstack_printf.texi: Update.
39845         * doc/glibc-functions/obstack_vprintf.texi: Update.
39846
39847 2009-02-26  Eric Blake  <ebb9@byu.net>
39848
39849         stdlib: favor compiler check of random.h
39850         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
39851         to avoid an ObjC random.h installed by Swarm.
39852
39853 2009-02-26  Bruno Haible  <bruno@clisp.org>
39854
39855         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
39856         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
39857         Reported by Gary V. Vaughan <gary@gnu.org>.
39858
39859 2009-02-26  Bruno Haible  <bruno@clisp.org>
39860
39861         Fix *printf behaviour regarding the %ls directive.
39862         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
39863         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
39864         NEED_PRINTF_DIRECTIVE_LS.
39865         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
39866         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39867         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39868         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
39869         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
39870         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
39871         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
39872         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39873         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39874         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39875         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39876         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
39877         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39878         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39879         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39880         * doc/posix-functions/fprintf.texi: Update.
39881         * doc/posix-functions/printf.texi: Update.
39882         * doc/posix-functions/snprintf.texi: Update.
39883         * doc/posix-functions/sprintf.texi: Update.
39884         * doc/posix-functions/vfprintf.texi: Update.
39885         * doc/posix-functions/vprintf.texi: Update.
39886         * doc/posix-functions/vsnprintf.texi: Update.
39887         * doc/posix-functions/vsprintf.texi: Update.
39888         * doc/glibc-functions/obstack_printf.texi: Update.
39889         * doc/glibc-functions/obstack_vprintf.texi: Update.
39890         Reported by Eric Blake.
39891
39892 2009-02-25  Bruno Haible  <bruno@clisp.org>
39893
39894         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
39895         with known value.
39896         Reported by Gary V. Vaughan <gary@gnu.org>.
39897
39898 2009-02-25  Bruno Haible  <bruno@clisp.org>
39899
39900         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
39901         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
39902         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
39903         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
39904         Reported by Gary V. Vaughan <gary@gnu.org>.
39905
39906 2009-02-25  Bruno Haible  <bruno@clisp.org>
39907
39908         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
39909         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
39910         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
39911         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
39912         Reported by Gary V. Vaughan <gary@gnu.org>.
39913
39914 2009-02-25  Eric Blake  <ebb9@byu.net>
39915
39916         tests: skip fseek/ftell tests if ungetc is broken
39917         * m4/ungetc.m4: New file.
39918         * modules/fseek-tests: Split test, so ungetc dependency is
39919         separate from rest of test.
39920         * modules/fseeko-tests: Likewise.
39921         * modules/ftell-tests: Likewise.
39922         * modules/ftello-tests: Likewise.
39923         * tests/test-fseek.c (main): Isolate ungetc dependency.
39924         * tests/test-fseeko.c (main): Likewise.
39925         * tests/test-ftell.c (main): Likewise.
39926         * tests/test-ftello.c (main): Likewise.
39927         * tests/test-fseek2.sh: New file.
39928         * tests/test-fseeko2.sh: Likewise.
39929         * tests/test-ftell2.sh: Likewise.
39930         * tests/test-ftello2.sh: Likewise.
39931
39932 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
39933
39934         test-getaddrinfo: fix usage of skip return code 77
39935         * tests/test-gettaddrinfo.c: Return skip code 77 only
39936         for first occurance of skip (4x77 is not 77)
39937
39938 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
39939
39940         strtod: avoid C99 decl-after-statement
39941         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
39942
39943 2009-02-24  Eric Blake  <ebb9@byu.net>
39944
39945         strtod: detect HP-UX 11.31 bug
39946         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
39947         Reported by Gary V. Vaughan.
39948
39949 2009-02-23  Bruno Haible  <bruno@clisp.org>
39950
39951         Fix invalid read past end of memory block.
39952         * lib/vasnprintf.c (DCHAR_SET): Define.
39953         (local_wcslen): Define only when needed.
39954         (local_strnlen, local_wcsnlen): New functions.
39955         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
39956         directives that involve a conversion ourselves.
39957         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
39958         wcsnlen, mbrtowc, wcrtomb.
39959         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
39960         * tests/test-vasprintf-posix.c (test_function): Likewise.
39961         * tests/test-snprintf-posix.h (test_function): Likewise.
39962         * tests/test-sprintf-posix.h (test_function): Likewise.
39963         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39964
39965 2009-02-22  Bruno Haible  <bruno@clisp.org>
39966
39967         Implement new clarified decomposition of Hangul syllables.
39968         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
39969         of type LTV, return only a pairwise decomposition.
39970         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
39971         Likewise.
39972         * tests/uninorm/test-decomposition.c (main): Updated expected result.
39973         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
39974         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
39975
39976 2009-02-22  Bruno Haible  <bruno@clisp.org>
39977
39978         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
39979         zero-length results and shrink excess allocated memory.
39980         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
39981         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
39982         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
39983         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
39984         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
39985         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
39986         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
39987         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
39988         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
39989         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
39990         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
39991         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
39992
39993 2009-02-21  Bruno Haible  <bruno@clisp.org>
39994
39995         * doc/gnulib.texi: Include safe-alloc.texi earlier.
39996         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
39997         spaces after a period. Put a space between a macro name and its
39998         argument list. Trivial rewordings.
39999         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40000         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40001         (main): Return 0 explicitly.
40002
40003 2009-02-21  Bruno Haible  <bruno@clisp.org>
40004
40005         Tests for module 'uninorm/filter'.
40006         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40007         * modules/uninorm/filter-tests: New file.
40008
40009         New module 'uninorm/filter'.
40010         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40011         uninorm_filter_flush, uninorm_filter_free): New declarations.
40012         * lib/uninorm/uninorm-filter.c: New file.
40013         * modules/uninorm/filter: New file.
40014
40015 2009-02-21  Bruno Haible  <bruno@clisp.org>
40016
40017         Tests for module 'uninorm/nfkc'.
40018         * tests/uninorm/test-nfkc.c: New file.
40019         * tests/uninorm/test-u8-nfkc.c: New file.
40020         * tests/uninorm/test-u16-nfkc.c: New file.
40021         * tests/uninorm/test-u32-nfkc.c: New file.
40022         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40023         * tests/uninorm/test-u32-nfkc-big.c: New file.
40024         * modules/uninorm/nfkc-tests: New file.
40025
40026         New module 'uninorm/nfkc'.
40027         * lib/uninorm/nfkc.c: New file.
40028         * modules/uninorm/nfkc: New file.
40029
40030         Tests for module 'uninorm/nfkd'.
40031         * tests/uninorm/test-nfkd.c: New file.
40032         * tests/uninorm/test-u8-nfkd.c: New file.
40033         * tests/uninorm/test-u16-nfkd.c: New file.
40034         * tests/uninorm/test-u32-nfkd.c: New file.
40035         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40036         * tests/uninorm/test-u32-nfkd-big.c: New file.
40037         * modules/uninorm/nfkd-tests: New file.
40038
40039         New module 'uninorm/nfkd'.
40040         * lib/uninorm/nfkd.c: New file.
40041         * modules/uninorm/nfkd: New file.
40042
40043         Tests for module 'uninorm/nfc'.
40044         * tests/uninorm/test-nfc.c: New file.
40045         * tests/uninorm/test-u8-nfc.c: New file.
40046         * tests/uninorm/test-u16-nfc.c: New file.
40047         * tests/uninorm/test-u32-nfc.c: New file.
40048         * tests/uninorm/test-u32-nfc-big.sh: New file.
40049         * tests/uninorm/test-u32-nfc-big.c: New file.
40050         * modules/uninorm/nfc-tests: New file.
40051
40052         New module 'uninorm/nfc'.
40053         * lib/uninorm/nfc.c: New file.
40054         * modules/uninorm/nfc: New file.
40055
40056         Tests for module 'uninorm/nfd'.
40057         * tests/uninorm/test-nfd.c: New file.
40058         * tests/uninorm/test-u8-nfd.c: New file.
40059         * tests/uninorm/test-u16-nfd.c: New file.
40060         * tests/uninorm/test-u32-nfd.c: New file.
40061         * tests/uninorm/test-u32-nfd-big.sh: New file.
40062         * tests/uninorm/test-u32-nfd-big.c: New file.
40063         * tests/uninorm/test-u32-normalize-big.h: New file.
40064         * tests/uninorm/test-u32-normalize-big.c: New file.
40065         * tests/uninorm/NormalizationTest.txt: New file, created from
40066         Unicode 5.1.0 NormalizationTest.txt.
40067         * modules/uninorm/nfd-tests: New file.
40068
40069         New module 'uninorm/nfd'.
40070         * lib/uninorm/nfd.c: New file.
40071         * modules/uninorm/nfd: New file.
40072
40073         New module 'uninorm/u32-normalize'.
40074         * lib/uninorm/u32-normalize.c: New file.
40075         * modules/uninorm/u32-normalize: New file.
40076
40077         New module 'uninorm/u16-normalize'.
40078         * lib/uninorm/u16-normalize.c: New file.
40079         * modules/uninorm/u16-normalize: New file.
40080
40081         New module 'uninorm/u8-normalize'.
40082         * lib/uninorm/u8-normalize.c: New file.
40083         * lib/uninorm/normalize-internal.h: New file.
40084         * lib/uninorm/u-normalize-internal.h: New file.
40085         * modules/uninorm/u8-normalize: New file.
40086
40087         New module 'uninorm/decompose-internal'.
40088         * lib/uninorm/decompose-internal.c: New file.
40089         * modules/uninorm/decompose-internal: New file.
40090
40091         Tests for module 'uninorm/composition'.
40092         * tests/uninorm/test-composition.c: New file.
40093         * modules/uninorm/composition-tests: New file.
40094
40095         New module 'uninorm/composition'.
40096         * lib/uninorm/composition.c: New file.
40097         * lib/uninorm/composition-table.gperf: New file, generated by
40098         gen-uni-tables.
40099         * modules/uninorm/composition: New file.
40100
40101         Tests for module 'uninorm/compat-decomposition'.
40102         * tests/uninorm/test-compat-decomposition.c: New file.
40103         * modules/uninorm/compat-decomposition-tests: New file.
40104
40105         New module 'uninorm/compat-decomposition'.
40106         * lib/uninorm/decompose-internal.h: New file.
40107         * lib/uninorm/compat-decomposition.c: New file.
40108         * modules/uninorm/compat-decomposition: New file.
40109
40110         Tests for module 'uninorm/canonical-decomposition'.
40111         * tests/uninorm/test-canonical-decomposition.c: New file.
40112         * modules/uninorm/canonical-decomposition-tests: New file.
40113
40114         New module 'uninorm/canonical-decomposition'.
40115         * lib/uninorm/canonical-decomposition.c: New file.
40116         * modules/uninorm/canonical-decomposition: New file.
40117
40118         Tests for module 'uninorm/decomposition'.
40119         * tests/uninorm/test-decomposition.c: New file.
40120         * modules/uninorm/decomposition-tests: New file.
40121
40122         New module 'uninorm/decomposition'.
40123         * lib/uninorm/decomposition.c: New file.
40124         * modules/uninorm/decomposition: New file.
40125
40126         New module 'uninorm/decomposition-table'.
40127         * lib/uninorm/decomposition-table.h: New file.
40128         * lib/uninorm/decomposition-table.c: New file.
40129         * lib/uninorm/decomposition-table1.h: New file, generated by
40130         gen-uni-tables.
40131         * lib/uninorm/decomposition-table2.h: New file, generated by
40132         gen-uni-tables.
40133         * modules/uninorm/decomposition-table: New file.
40134
40135         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40136         (UC_DECOMP_*): New enumeration items.
40137         (get_decomposition): New function.
40138         (struct decomp_table): New type.
40139         (output_decomposition, output_decomposition_tables): New functions.
40140         (unicode_composition_exclusions): New variable.
40141         (fill_composition_exclusions, debug_output_composition_tables): New
40142         functions.
40143         (main): Accept one more argument. Invoke fill_composition_exclusions.
40144         Output decomposition and composition tables.
40145
40146         New module 'uninorm/base'.
40147         * lib/uninorm.h: New file.
40148         * lib/unictype.h: Update comment.
40149         * modules/uninorm/base: New file.
40150
40151 2009-02-21  David Lutterkort  <lutter@redhat.com>
40152
40153         Tests for module 'safe-alloc'.
40154         * tests/test-safe-alloc.c: New file.
40155         * modules/safe-alloc-tests: New file.
40156
40157         New module 'safe-alloc'.
40158         * lib/safe-alloc.h: New file.
40159         * lib/safe-alloc.c: New file.
40160         * m4/safe-alloc.m4: New file.
40161         * modules/safe-alloc: New file.
40162         * doc/safe-alloc.texi: New file.
40163         * doc/gnulib.texi: Include it.
40164         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40165         safe-alloc.
40166
40167 2009-02-18  Bruno Haible  <bruno@clisp.org>
40168
40169         Fix link error on non-glibc systems.
40170         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40171         variable.
40172         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40173
40174 2009-02-18  Jim Meyering  <meyering@redhat.com>
40175
40176         fts: avoid used-uninitialized error due to recent change
40177         * lib/fts.c (fts_read): Guard uses of the new member,
40178         parent->fts_n_dirs_remaining, since it's not relevant for
40179         the parent of a directory specified on the command-line.
40180
40181 2009-02-17  James Youngman  <jay@gnu.org>
40182             Bruno Haible  <bruno@clisp.org>
40183
40184         * m4/include_next.m4: Reformulate comment.
40185
40186 2009-02-16  Jim Meyering  <meyering@redhat.com>
40187
40188         fts: add #if guards so that the fts_lgpl module still builds
40189         * lib/fts.c: Guard just-added hash-table-using parts with
40190         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40191         Reported by Simon Josefsson.
40192
40193 2009-02-15  Bruno Haible  <bruno@clisp.org>
40194
40195         * modules/array-mergesort-tests: New file.
40196         * tests/test-array-mergesort.c: New file.
40197
40198         New module 'array-mergesort'.
40199         * modules/array-mergesort: New file.
40200         * lib/array-mergesort.h: New file.
40201
40202 2009-02-15  Bruno Haible  <bruno@clisp.org>
40203
40204         Fix 2009-02-07 commit.
40205         * lib/gen-uni-tables.c (output_predicate, output_category,
40206         output_combclass, output_bidi_category, output_decimal_digit,
40207         output_digit, output_numeric, output_mirror, output_scripts,
40208         output_ident_category, output_simple_mapping): Fix format directives.
40209         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40210
40211 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40212
40213         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40214         fixes are available from IBM.
40215
40216 2009-02-13  Jim Meyering  <meyering@redhat.com>
40217
40218         fts: arrange not to stat non-directories in more cases
40219         This makes GNU find (when it doesn't need to stat each file)
40220         *much* more efficient at traversing reiserfs file systems.
40221         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40222         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40223         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40224         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40225         (leaf_optimization_applies): New function.
40226         (LCO_hash, LCO_compare): New helper functions.
40227         (link_count_optimize_ok): New function.
40228         (fts_stat): Initialize new member (if dir).
40229         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40230         we've just stat'ed a directory.  Skip the stat call when possible.
40231         ---
40232         Note this AFS-related exchange:
40233         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40234         and note find's pioctl call in find/fstype.c.
40235         But that is necessary only if you want to enable the
40236         optimization for AFS, and for now, I don't.
40237
40238         fts: move a function definition "up" (no semantic change)
40239         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40240         "up" to precede upcoming use of a related function.
40241
40242 2009-02-11  Jim Meyering  <meyering@redhat.com>
40243
40244         fts: correct internal computation of nlinks (optimization-related)
40245         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40246         whether the current entry is a directory, so don't test it.
40247
40248 2009-02-10  Bruno Haible  <bruno@clisp.org>
40249
40250         Tests for module 'uniwbrk/ulc-wordbreaks'.
40251         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40252         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40253         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40254
40255         Tests for module 'uniwbrk/u32-wordbreaks'.
40256         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40257         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40258
40259         Tests for module 'uniwbrk/u16-wordbreaks'.
40260         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40261         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40262
40263         Tests for module 'uniwbrk/u8-wordbreaks'.
40264         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40265         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40266
40267 2009-02-10  Bruno Haible  <bruno@clisp.org>
40268
40269         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40270         property.
40271         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40272         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40273         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40274
40275 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40276
40277         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40278         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40279
40280 2009-02-10  Bruno Haible  <bruno@clisp.org>
40281
40282         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40283         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40284         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40285         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40286         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40287         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40288
40289 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40290
40291         * lib/sockets.h (gl_fd_to_handle): New function.
40292
40293         * tests/test-sockets.c: Call gl_fd_to_handle.
40294
40295 2009-02-09  Bruno Haible  <bruno@clisp.org>
40296
40297         * doc/havelib.texi: Document the conventions on bi-arch systems.
40298
40299 2009-02-08  Bruno Haible  <bruno@clisp.org>
40300
40301         Document the AC_LIB_LINKFLAGS macro.
40302         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40303         * doc/gnulib.texi: Include it.
40304
40305 2009-02-08  Bruno Haible  <bruno@clisp.org>
40306
40307         Fix wrong order of sections, compared to TOC.
40308         * doc/gnulib.texi: Include relocatable-maint.texi after the
40309         "Regular expressions" node, not before.
40310
40311 2009-02-08  Bruno Haible  <bruno@clisp.org>
40312
40313         Tests for module 'unicase/totitle'.
40314         * modules/unicase/totitle-tests: New file.
40315
40316         Tests for module 'unicase/tolower'.
40317         * modules/unicase/tolower-tests: New file.
40318
40319         Tests for module 'unicase/toupper'.
40320         * modules/unicase/toupper-tests: New file.
40321         * tests/unicase/test-mapping-part1.h: New file.
40322         * tests/unicase/test-mapping-part2.h: New file.
40323
40324         New module 'unicase/totitle'.
40325         * modules/unicase/totitle: New file.
40326         * lib/unicase/totitle.c: New file.
40327
40328         New module 'unicase/tolower'.
40329         * modules/unicase/tolower: New file.
40330         * lib/unicase/tolower.c: New file.
40331
40332         New module 'unicase/toupper'.
40333         * modules/unicase/toupper: New file.
40334         * lib/unicase/toupper.c: New file.
40335         * lib/unicase/simple-mapping.h: New file.
40336
40337         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40338         (mapping_table): New structure.
40339         (output_simple_mapping): New function.
40340         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40341         * modules/gen-uni-tables (Description): Update.
40342         * lib/unicase/toupper.h: New file, automatically generated by
40343         gen-uni-tables.
40344         * lib/unicase/tolower.h: New file, automatically generated by
40345         gen-uni-tables.
40346         * lib/unicase/totitle.h: New file, automatically generated by
40347         gen-uni-tables.
40348         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40349         gen-uni-tables.
40350         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40351         gen-uni-tables.
40352         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40353         gen-uni-tables.
40354
40355         New module 'unicase/base'.
40356         * modules/unicase/base: New file.
40357         * lib/unicase.h: New file.
40358
40359 2009-02-08  Bruno Haible  <bruno@clisp.org>
40360
40361         New module 'uniwbrk/ulc-wordbreaks'.
40362         * modules/uniwbrk/ulc-wordbreaks: New file.
40363         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40364
40365         New module 'uniwbrk/u32-wordbreaks'.
40366         * modules/uniwbrk/u32-wordbreaks: New file.
40367         * lib/uniwbrk/u32-wordbreaks.c: New file.
40368
40369         New module 'uniwbrk/u16-wordbreaks'.
40370         * modules/uniwbrk/u16-wordbreaks: New file.
40371         * lib/uniwbrk/u16-wordbreaks.c: New file.
40372
40373         New module 'uniwbrk/u8-wordbreaks'.
40374         * modules/uniwbrk/u8-wordbreaks: New file.
40375         * lib/uniwbrk/u8-wordbreaks.c: New file.
40376         * lib/uniwbrk/u-wordbreaks.h: New file.
40377
40378         New module 'uniwbrk/table'.
40379         * modules/uniwbrk/table: New file.
40380         * lib/uniwbrk/wbrktable.h: New file.
40381         * lib/uniwbrk/wbrktable.c: New file.
40382
40383         New module 'uniwbrk/wordbreak-property'.
40384         * modules/uniwbrk/wordbreak-property: New file.
40385         * lib/uniwbrk/wordbreak-property.c: New file.
40386
40387         * lib/gen-uni-tables.c (WBP_*): New enum items.
40388         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40389         (unicode_org_wbp): New variable.
40390         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40391         New functions.
40392         (wbp_table): New structure.
40393         (output_wbp, output_wbrk_tables): New functions.
40394         (main): Accept additional argument. Invoke fill_org_wbp,
40395         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40396         output_wbrk_tables.
40397         * modules/gen-uni-tables (Description): Update.
40398         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40399         gen-uni-tables.
40400
40401         New module 'uniwbrk/base'.
40402         * modules/uniwbrk/base: New file.
40403         * lib/uniwbrk.h: New file.
40404
40405 2009-02-08  Bruno Haible  <bruno@clisp.org>
40406
40407         Update to Unicode 5.1.0.
40408         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40409         U+2185..U+2188.
40410         (is_property_default_ignorable_code_point): Don't include characters
40411         of category Cc or Cs and not-a-characters.
40412         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40413         U+0D79, U+109E, U+109F, U+A60C.
40414         * lib/unictype/bidi_of.h: Regenerated.
40415         * lib/unictype/blocks.h: Regenerated.
40416         * lib/unictype/categ_C.h: Regenerated.
40417         * lib/unictype/categ_Cf.h: Regenerated.
40418         * lib/unictype/categ_Cn.h: Regenerated.
40419         * lib/unictype/categ_L.h: Regenerated.
40420         * lib/unictype/categ_Ll.h: Regenerated.
40421         * lib/unictype/categ_Lm.h: Regenerated.
40422         * lib/unictype/categ_Lo.h: Regenerated.
40423         * lib/unictype/categ_Lu.h: Regenerated.
40424         * lib/unictype/categ_M.h: Regenerated.
40425         * lib/unictype/categ_Mc.h: Regenerated.
40426         * lib/unictype/categ_Me.h: Regenerated.
40427         * lib/unictype/categ_Mn.h: Regenerated.
40428         * lib/unictype/categ_N.h: Regenerated.
40429         * lib/unictype/categ_Nd.h: Regenerated.
40430         * lib/unictype/categ_Nl.h: Regenerated.
40431         * lib/unictype/categ_No.h: Regenerated.
40432         * lib/unictype/categ_P.h: Regenerated.
40433         * lib/unictype/categ_Pd.h: Regenerated.
40434         * lib/unictype/categ_Pe.h: Regenerated.
40435         * lib/unictype/categ_Pf.h: Regenerated.
40436         * lib/unictype/categ_Pi.h: Regenerated.
40437         * lib/unictype/categ_Po.h: Regenerated.
40438         * lib/unictype/categ_Ps.h: Regenerated.
40439         * lib/unictype/categ_S.h: Regenerated.
40440         * lib/unictype/categ_Sk.h: Regenerated.
40441         * lib/unictype/categ_Sm.h: Regenerated.
40442         * lib/unictype/categ_So.h: Regenerated.
40443         * lib/unictype/categ_of.h: Regenerated.
40444         * lib/unictype/combining.h: Regenerated.
40445         * lib/unictype/ctype_alnum.h: Regenerated.
40446         * lib/unictype/ctype_alpha.h: Regenerated.
40447         * lib/unictype/ctype_graph.h: Regenerated.
40448         * lib/unictype/ctype_lower.h: Regenerated.
40449         * lib/unictype/ctype_print.h: Regenerated.
40450         * lib/unictype/ctype_punct.h: Regenerated.
40451         * lib/unictype/ctype_upper.h: Regenerated.
40452         * lib/unictype/decdigit.h: Regenerated.
40453         * lib/unictype/digit.h: Regenerated.
40454         * lib/unictype/mirror.h: Regenerated.
40455         * lib/unictype/numeric.h: Regenerated.
40456         * lib/unictype/pr_alphabetic.h: Regenerated.
40457         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40458         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40459         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40460         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40461         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40462         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40463         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40464         * lib/unictype/pr_combining.h: Regenerated.
40465         * lib/unictype/pr_dash.h: Regenerated.
40466         * lib/unictype/pr_decimal_digit.h: Regenerated.
40467         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40468         * lib/unictype/pr_deprecated.h: Regenerated.
40469         * lib/unictype/pr_diacritic.h: Regenerated.
40470         * lib/unictype/pr_extender.h: Regenerated.
40471         * lib/unictype/pr_format_control.h: Regenerated.
40472         * lib/unictype/pr_grapheme_base.h: Regenerated.
40473         * lib/unictype/pr_grapheme_extend.h: Regenerated.
40474         * lib/unictype/pr_grapheme_link.h: Regenerated.
40475         * lib/unictype/pr_id_continue.h: Regenerated.
40476         * lib/unictype/pr_id_start.h: Regenerated.
40477         * lib/unictype/pr_ideographic.h: Regenerated.
40478         * lib/unictype/pr_ignorable_control.h: Regenerated.
40479         * lib/unictype/pr_lowercase.h: Regenerated.
40480         * lib/unictype/pr_math.h: Regenerated.
40481         * lib/unictype/pr_numeric.h: Regenerated.
40482         * lib/unictype/pr_other_alphabetic.h: Regenerated.
40483         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
40484         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
40485         * lib/unictype/pr_other_id_continue.h: Regenerated.
40486         * lib/unictype/pr_other_lowercase.h: Regenerated.
40487         * lib/unictype/pr_other_math.h: Regenerated.
40488         * lib/unictype/pr_punctuation.h: Regenerated.
40489         * lib/unictype/pr_sentence_terminal.h: Regenerated.
40490         * lib/unictype/pr_soft_dotted.h: Regenerated.
40491         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
40492         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
40493         * lib/unictype/pr_unified_ideograph.h: Regenerated.
40494         * lib/unictype/pr_uppercase.h: Regenerated.
40495         * lib/unictype/pr_xid_continue.h: Regenerated.
40496         * lib/unictype/pr_xid_start.h: Regenerated.
40497         * lib/unictype/pr_zero_width.h: Regenerated.
40498         * lib/unictype/scripts.h: Regenerated.
40499         * lib/unictype/scripts_byname.gperf: Regenerated.
40500         * lib/unictype/sy_java_ident.h: Regenerated.
40501         * lib/unilbrk/lbrkprop1.h: Regenerated.
40502         * lib/unilbrk/lbrkprop2.h: Regenerated.
40503         * tests/unictype/test-categ_C.c: Regenerated.
40504         * tests/unictype/test-categ_Cf.c: Regenerated.
40505         * tests/unictype/test-categ_Cn.c: Regenerated.
40506         * tests/unictype/test-categ_L.c: Regenerated.
40507         * tests/unictype/test-categ_Ll.c: Regenerated.
40508         * tests/unictype/test-categ_Lm.c: Regenerated.
40509         * tests/unictype/test-categ_Lo.c: Regenerated.
40510         * tests/unictype/test-categ_Lu.c: Regenerated.
40511         * tests/unictype/test-categ_M.c: Regenerated.
40512         * tests/unictype/test-categ_Mc.c: Regenerated.
40513         * tests/unictype/test-categ_Me.c: Regenerated.
40514         * tests/unictype/test-categ_Mn.c: Regenerated.
40515         * tests/unictype/test-categ_N.c: Regenerated.
40516         * tests/unictype/test-categ_Nd.c: Regenerated.
40517         * tests/unictype/test-categ_Nl.c: Regenerated.
40518         * tests/unictype/test-categ_No.c: Regenerated.
40519         * tests/unictype/test-categ_P.c: Regenerated.
40520         * tests/unictype/test-categ_Pd.c: Regenerated.
40521         * tests/unictype/test-categ_Pe.c: Regenerated.
40522         * tests/unictype/test-categ_Pf.c: Regenerated.
40523         * tests/unictype/test-categ_Pi.c: Regenerated.
40524         * tests/unictype/test-categ_Po.c: Regenerated.
40525         * tests/unictype/test-categ_Ps.c: Regenerated.
40526         * tests/unictype/test-categ_S.c: Regenerated.
40527         * tests/unictype/test-categ_Sk.c: Regenerated.
40528         * tests/unictype/test-categ_Sm.c: Regenerated.
40529         * tests/unictype/test-categ_So.c: Regenerated.
40530         * tests/unictype/test-ctype_alnum.c: Regenerated.
40531         * tests/unictype/test-ctype_alpha.c: Regenerated.
40532         * tests/unictype/test-ctype_graph.c: Regenerated.
40533         * tests/unictype/test-ctype_lower.c: Regenerated.
40534         * tests/unictype/test-ctype_print.c: Regenerated.
40535         * tests/unictype/test-ctype_punct.c: Regenerated.
40536         * tests/unictype/test-ctype_upper.c: Regenerated.
40537         * tests/unictype/test-decdigit.h: Regenerated.
40538         * tests/unictype/test-digit.h: Regenerated.
40539         * tests/unictype/test-numeric.h: Regenerated.
40540         * tests/unictype/test-pr_alphabetic.c: Regenerated.
40541         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
40542         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
40543         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
40544         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
40545         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
40546         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
40547         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
40548         * tests/unictype/test-pr_combining.c: Regenerated.
40549         * tests/unictype/test-pr_dash.c: Regenerated.
40550         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
40551         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
40552         * tests/unictype/test-pr_deprecated.c: Regenerated.
40553         * tests/unictype/test-pr_diacritic.c: Regenerated.
40554         * tests/unictype/test-pr_extender.c: Regenerated.
40555         * tests/unictype/test-pr_format_control.c: Regenerated.
40556         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
40557         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
40558         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
40559         * tests/unictype/test-pr_id_continue.c: Regenerated.
40560         * tests/unictype/test-pr_id_start.c: Regenerated.
40561         * tests/unictype/test-pr_ideographic.c: Regenerated.
40562         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
40563         * tests/unictype/test-pr_lowercase.c: Regenerated.
40564         * tests/unictype/test-pr_math.c: Regenerated.
40565         * tests/unictype/test-pr_numeric.c: Regenerated.
40566         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
40567         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
40568         Regenerated.
40569         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
40570         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
40571         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
40572         * tests/unictype/test-pr_other_math.c: Regenerated.
40573         * tests/unictype/test-pr_punctuation.c: Regenerated.
40574         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
40575         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
40576         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
40577         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
40578         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
40579         * tests/unictype/test-pr_uppercase.c: Regenerated.
40580         * tests/unictype/test-pr_xid_continue.c: Regenerated.
40581         * tests/unictype/test-pr_xid_start.c: Regenerated.
40582         * tests/unictype/test-pr_zero_width.c: Regenerated.
40583
40584         Update to Unicode 5.1.0.
40585         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
40586         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
40587         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
40588         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
40589         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
40590         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
40591         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
40592         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
40593         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
40594         (nonspacing_table_ind): Update.
40595         * tests/uniwidth/test-uc_width2.sh: Update expected result.
40596
40597         Update to Unicode 5.1.0.
40598         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
40599         code transform.
40600         * lib/uniname/uniname.c (unicode_character_name,
40601         unicode_name_character): Add the range 0x1Fxxx to the code transform.
40602         * lib/uniname/uninames.h: Regenerated.
40603         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
40604
40605 2009-02-07  Bruno Haible  <bruno@clisp.org>
40606
40607         Merge gen-ctype and gen-lbrk into a single program.
40608         * lib/gen-uni-tables.c: New file, incorporating
40609         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
40610         Add directory prefixes to the names of the generated files.
40611         * lib/unictype/gen-ctype.c: Remove file.
40612         * lib/unilbrk/gen-lbrk.c: Remove file.
40613         * modules/gen-uni-tables: New file.
40614         * modules/unictype/gen-ctype: Remove file.
40615         * modules/unilbrk/gen-lbrk: Remove file.
40616
40617 2009-02-07  Bruno Haible  <bruno@clisp.org>
40618
40619         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
40620
40621         New module 'unistr/u32-strcoll'.
40622         * modules/unistr/u32-strcoll: New file.
40623         * lib/unistr/u32-strcoll.c: New file.
40624
40625         New module 'unistr/u16-strcoll'.
40626         * modules/unistr/u16-strcoll: New file.
40627         * lib/unistr/u16-strcoll.c: New file.
40628
40629         New module 'unistr/u8-strcoll'.
40630         * modules/unistr/u8-strcoll: New file.
40631         * lib/unistr/u8-strcoll.c: New file.
40632         * lib/unistr/u-strcoll.h: New file.
40633
40634 2009-02-07  Bruno Haible  <bruno@clisp.org>
40635
40636         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
40637         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40638         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40639         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
40640         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
40641         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
40642
40643 2009-02-07  Bruno Haible  <bruno@clisp.org>
40644
40645         Make 64-bit clean.
40646         * lib/unictype/gen-ctype.c (output_predicate, output_category,
40647         output_combclass, output_bidi_category, output_decimal_digit,
40648         output_digit, output_numeric, output_mirror, output_scripts,
40649         output_ident_category): Use proper width specifier in format strings.
40650
40651 2009-02-07  Bruno Haible  <bruno@clisp.org>
40652
40653         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
40654         failure behaviour.
40655
40656 2009-02-07  Jim Meyering  <meyering@redhat.com>
40657
40658         regex: avoid compilation failure with upcoming gcc-4.4
40659         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
40660         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
40661         "... error: integer overflow in preprocessor expression".
40662
40663 2009-02-05  Ben Pfaff  <blp@gnu.org>
40664
40665         Fix link errors on Windows when close module is used.
40666         * modules/close: Add $(LIB_CLOSE) to Link section.
40667         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
40668         $(LIB_CLOSE) on Windows.
40669
40670 2009-02-05  Jim Meyering  <meyering@redhat.com>
40671
40672         still avoid unused-parameter warnings, but do it cleanly
40673         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
40674         (get_fs_usage): Cast to void instead.
40675         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
40676         (dev_from_mount_options, read_file_system_list): Cast to void.
40677         Prompted by Bruno Haible.
40678
40679 2009-02-04  Jim Meyering  <meyering@redhat.com>
40680
40681         fsusage.c: correct copyright year
40682         * lib/fsusage.c: Reflect year in which the change is pushed into
40683
40684         avoid misc. warnings
40685         * lib/fsusage.c (UNUSED_PARAM): Define.
40686         (get_fs_usage): Mark parameter "disk" as unused.
40687         * lib/getugroups.c (getgrent): Use "void" in prototype.
40688         * lib/mountlist.c: Mark unused parameters.
40689         (read_file_system_list): Declare a local with "const".
40690         * lib/nanosleep.c (getnow): Declare static.
40691         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
40692
40693         dirfd: set errno upon failure
40694         * lib/dirfd.c: Include <errno.h>.
40695         Set errno to ENOTSUP when returning -1.
40696         * modules/dirfd (Depends-on): Add errno.
40697         Suggested by John Kodis <kodis@comcast.net>.
40698
40699 2009-02-01  Bruno Haible  <bruno@clisp.org>
40700
40701         Don't assume sizeof (long) >= sizeof (void *).
40702         * lib/memcmp.c: Include stdint.h.
40703         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
40704         srcp2 to 'const byte *'.
40705         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
40706         types to uintptr_t.
40707         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
40708         * modules/memcmp (Depends-on): Add stdint.
40709         Reported by Ozkan Sezer <sezeroz@gmail.com>.
40710
40711 2009-01-30  Eric Blake  <ebb9@byu.net>
40712
40713         fix more require-before-expand issues
40714         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
40715         expand, AC_PROG_AWK.
40716         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
40717
40718 2009-01-28  Eric Blake  <ebb9@byu.net>
40719
40720         version-etc: use consistent URL formatting
40721         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
40722         Improve formatting.  Use fputs for string without %.
40723
40724 2009-01-28  Jim Meyering  <meyering@redhat.com>
40725
40726         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
40727         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
40728         "underquoted definition of NAME" from autoconf-2.59.
40729
40730 2009-01-28  Bruno Haible  <bruno@clisp.org>
40731
40732         * doc/gnulib.texi: Add "Obsolete modules" to index.
40733
40734 2009-01-28  Jim Meyering  <meyering@redhat.com>
40735
40736         useless-if-before-free: recognize more variants
40737         * build-aux/useless-if-before-free: Also recognize e.g.,
40738         if (NULL != p) free (p);
40739
40740 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
40741
40742         test-getaddrinfo: skip (don't fail) this test when there's no network
40743         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
40744         on the presumption that it means you lack network access.
40745
40746 2009-01-26  Jim Meyering  <meyering@redhat.com>
40747
40748         fflush: avoid warnings on modern systems
40749         * lib/fflush.c (rpl_fflush): Move declarations of locals,
40750         pos and result, into scopes where they're used.
40751
40752 2009-01-26  Eric Blake  <ebb9@byu.net>
40753
40754         Silence warning reintroduced by recent extensions patch.
40755         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
40756         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
40757         autoconf.
40758
40759         Backport improved autoconf semantics of AC_DEFUN_ONCE.
40760         * m4/00gnulib.m4: New file.
40761         * gnulib-tool (func_get_filelist): Always use it.
40762         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
40763         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
40764
40765 2009-01-25  Bruno Haible  <bruno@clisp.org>
40766
40767         Make test-quotearg work on MacOS X and AIX.
40768         * tests/test-quotearg.sh: New file.
40769         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
40770         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
40771         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
40772         include <libintl.h>.
40773         (fake_locale): Remove variable.
40774         (gettext, dgettext, dcgettext): Remove functions.
40775         (main): Instead of setting a fake locale, set a real locale. Call
40776         textdomain and bindtextdomain.
40777         * modules/quotearg-tests (Files): Add the new files.
40778         (Depends-on): Add gettext, setenv, unsetenv.
40779         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
40780         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
40781         Augment TESTS_ENVIRONMENT.
40782
40783 2009-01-25  Bruno Haible  <bruno@clisp.org>
40784
40785         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
40786         fr_FR.ISO8859-1 locale on MacOS X.
40787         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
40788         ja_JP.eucJP locale on MacOS X.
40789         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
40790         zh_CN.GB18030 locale on MacOS X.
40791
40792 2009-01-25  Bruno Haible  <bruno@clisp.org>
40793
40794         Avoid link errors on MacOS X 10.3.
40795         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
40796         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
40797
40798 2009-01-25  Bruno Haible  <bruno@clisp.org>
40799
40800         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
40801         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
40802         * modules/pipe (Files): Remove m4/posix_spawn.m4.
40803         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
40804         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
40805         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
40806         posix_spawnattr_init, posix_spawnattr_setsigmask,
40807         posix_spawnattr_setflags, posix_spawnattr_destroy.
40808
40809         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
40810         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
40811         * modules/execute (Files): Remove m4/posix_spawn.m4.
40812         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
40813         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
40814         posix_spawnattr_init, posix_spawnattr_setsigmask,
40815         posix_spawnattr_setflags, posix_spawnattr_destroy.
40816
40817 2009-01-25  Bruno Haible  <bruno@clisp.org>
40818
40819         * lib/glthread/threadlib.c: Include <stdlib.h>.
40820
40821 2009-01-25  Bruno Haible  <bruno@clisp.org>
40822
40823         * lib/glthread/threadlib.c (dummy): New declaration.
40824
40825 2009-01-25  Bruno Haible  <bruno@clisp.org>
40826
40827         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
40828         multibyte characters also for the GB18030 encoding. Don't crash when
40829         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
40830
40831 2009-01-25  Bruno Haible  <bruno@clisp.org>
40832
40833         Avoid redefining 'struct random_data' on OSF/1 5.1.
40834         * lib/stdlib.in.h: Include <random.h> if it exists.
40835         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
40836         HAVE_RANDOM_H. Include <random.h> when testing whether
40837         'struct random_data' exists.
40838         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
40839
40840 2009-01-25  Bruno Haible  <bruno@clisp.org>
40841
40842         Don't install charset.alias on MacOS X >= 10.3.
40843         * lib/localcharset.c (DARWIN7): New macro.
40844         (get_charset_aliases): Hardcode the result for Darwin7.
40845         * modules/localcharset (install-exec-local): Don't install
40846         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
40847
40848 2009-01-25  Bruno Haible  <bruno@clisp.org>
40849
40850         Don't install charset.alias on mingw and Cygwin.
40851         * modules/localcharset (install-exec-local): Don't install
40852         charset.alias on mingw and Cygwin, if the file does not yet exist.
40853         The result for these platforms is hardcoded in localcharset.c.
40854
40855 2009-01-25  Bruno Haible  <bruno@clisp.org>
40856
40857         Make it possible again to use AC_GNU_SOURCE together with gnulib.
40858         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
40859         before requiring AC_USE_SYSTEM_EXTENSIONS.
40860
40861 2009-01-25  Jim Meyering  <meyering@redhat.com>
40862
40863         c-strtod: avoid warnings
40864         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
40865         "assignment discards qualifiers from pointer target type" warnings.
40866
40867 2009-01-24  Bruno Haible  <bruno@clisp.org>
40868
40869         Add support for non-UTF-8 locales on MacOS X.
40870         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
40871         canonical encodings. For Darwin 7 and newer, don't map traditional
40872         encodings to UTF-8.
40873         Reported by Vincent Lefevre <vincent@vinc17.org>
40874         at <http://savannah.gnu.org/bugs/?25235>.
40875
40876 2009-01-24  Bruno Haible  <bruno@clisp.org>
40877
40878         * doc/gnulib.texi (Obsolete modules): New section.
40879         Reported by Mike Frysinger <vapier@gentoo.org>.
40880
40881 2009-01-24  Bruno Haible  <bruno@clisp.org>
40882
40883         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
40884         (%.dvi): New rule.
40885
40886 2009-01-24  Bruno Haible  <bruno@clisp.org>
40887
40888         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
40889         Reported by Eric Blake.
40890
40891 2009-01-24  Bruno Haible  <bruno@clisp.org>
40892
40893         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
40894         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
40895         Reported by Gary V. Vaughan <gary@gnu.org>.
40896
40897 2009-01-24  Bruno Haible  <bruno@clisp.org>
40898
40899         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
40900
40901 2009-01-23  Bruno Haible  <bruno@clisp.org>
40902
40903         Make c-strtod, c-strtold usable in libraries.
40904         * lib/c-strtod.c: Include string.h instead of xalloc.h.
40905         (C_STRTOD): Call strdup instead of xstrdup.
40906         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
40907         * modules/c-strtold (Depends-on): Likewise.
40908         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
40909         * NEWS: Mention the change.
40910         Reported by Michael Gold <mgold@ncf.ca>.
40911
40912 2009-01-23  Jim Meyering  <meyering@redhat.com>
40913
40914         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
40915         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
40916         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
40917
40918 2009-01-23  Simon Josefsson  <simon@josefsson.org>
40919
40920         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
40921         GNU CoreUtils.
40922         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
40923         * modules/version-etc (Description): Update.
40924
40925 2009-01-22  Bruno Haible  <bruno@clisp.org>
40926
40927         Cache the C locale object.
40928         * lib/c-strtod.c (c_locale_cache): New variable.
40929         (c_locale): New function.
40930         (C_STRTOD): Use it, and don't call freelocale.
40931         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
40932         Suggested by Paolo Bonzini.
40933
40934 2009-01-21  Bruno Haible  <bruno@clisp.org>
40935
40936         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
40937         conditions other than overflow.
40938
40939 2009-01-21  Bruno Haible  <bruno@clisp.org>
40940
40941         * lib/c-strtod.c: Include errno.h.
40942         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
40943         value from STRTOD_L and STRTOD.
40944
40945 2009-01-21  Bruno Haible  <bruno@clisp.org>
40946         and Jim Meyering  <meyering@redhat.com>
40947
40948         nanosleep: skip configure test (fail it) for apple universal builds
40949         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
40950         universal builds, assume that nanosleep does not work.
40951         * modules/nanosleep (Depends-on): Add multiarch.
40952
40953         mktime: skip configure test (fail it) for apple universal builds
40954         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
40955         universal builds, assume that mktime does not work.
40956         * modules/mktime (Depends-on): Add multiarch.
40957
40958 2009-01-21  Eric Blake  <ebb9@byu.net>
40959
40960         multiarch: avoid expand-before-require warning
40961         * modules/multiarch (configure.ac): Require, rather than expand,
40962         gl_MULTIARCH.
40963         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
40964         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
40965         enforce that all clients require it.  Partial reversion of
40966         2008-12-29 patch.
40967
40968         error: avoid expand-before-require warning
40969         * modules/errno (configure.ac): Require, rather than expand,
40970         gl_HEADER_ERRNO_H.
40971         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
40972         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
40973         enforce that all clients require it.
40974
40975         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
40976         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
40977         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
40978         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
40979
40980 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
40981
40982         Revert:
40983         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
40984
40985         regex: do not depend on obsolete modules.
40986         * modules/regex: Remove memcmp and memmove.
40987
40988 2009-01-20  Bruno Haible  <bruno@clisp.org>
40989
40990         Make the 'link' module link on Windows NT 4.
40991         * lib/link.c (_WIN32_WINNT): Don't define.
40992         (CreateHardLinkFuncType): New type.
40993         (CreateHardLinkFunc, initialized): New variables.
40994         (initialize): New function.
40995         (link): Invoke CreateHardLink indirectly through the function pointer.
40996
40997 2009-01-20  Bruno Haible  <bruno@clisp.org>
40998
40999         Fix compilation failure on mingw.
41000         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41001
41002 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41003
41004         * doc/c-strtod.texi: Mention a couple of restrictions.
41005
41006 2009-01-20  Jim Meyering  <meyering@redhat.com>
41007
41008         gettimeofday: move more declarations out of functions
41009         * lib/gettimeofday.c: Move extern declarations of tzset and
41010         gmtime out of containing functions.  Prompted by Bruno Haible.
41011
41012 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41013
41014         regex: do not depend on obsolete modules.
41015         * modules/regex: Remove memcmp and memmove.
41016
41017 2009-01-19  Bruno Haible  <bruno@clisp.org>
41018
41019         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41020         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41021         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41022         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41023         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41024
41025 2009-01-19  Bruno Haible  <bruno@clisp.org>
41026
41027         * tests/test-link.c: Include <errno.h>.
41028         (main): Exit with code 77 when a hard link cannot be created due to
41029         the file system.
41030         * tests/test-link.sh: Skip test when a hard link cannot be created due
41031         to the file system.
41032         Suggested by Eric Blake.
41033
41034 2009-01-19  Martin Lambers  <marlam@marlam.de>
41035
41036         * modules/link-tests: New file.
41037         * tests/test-link.sh: New file.
41038         * tests/test-link.c: New file.
41039
41040 2009-01-19  Eric Blake  <ebb9@byu.net>
41041
41042         doc: mention another function added in cygwin 1.7.0
41043         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41044         Another new function in cygwin 1.7.
41045
41046 2009-01-19  Bruno Haible  <bruno@clisp.org>
41047
41048         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41049         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41050         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41051         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41052         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41053         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41054         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41055         * m4/md4.m4 (gl_MD4): Likewise.
41056         * m4/md5.m4 (gl_MD5): Likewise.
41057         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41058         * m4/sha1.m4 (gl_SHA1): Likewise.
41059         * m4/sha256.m4 (gl_SHA256): Likewise.
41060         * m4/sha512.m4 (gl_SHA512): Likewise.
41061
41062 2009-01-19  Bruno Haible  <bruno@clisp.org>
41063
41064         * modules/uniname/uniname-tests (Depends-on): Add progname.
41065         * tests/uniname/test-uninames.c: Include progname.h.
41066         (main): Call set_program_name.
41067
41068         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41069         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41070         (main): Call set_program_name.
41071
41072         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41073         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41074         (main): Call set_program_name.
41075
41076         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41077         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41078         (main): Call set_program_name.
41079
41080         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41081         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41082         (main): Call set_program_name.
41083
41084         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41085         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41086         (main): Call set_program_name.
41087
41088         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41089         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41090         (main): Call set_program_name.
41091
41092         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41093         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41094         (main): Call set_program_name.
41095
41096         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41097         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41098         (main): Call set_program_name.
41099
41100 2009-01-19  Eric Blake  <ebb9@byu.net>
41101
41102         test-unistd: test previous patch
41103         * tests/test-unistd.c: Test *_FILENO macros.
41104
41105         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41106         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41107         Guarantee a definition.
41108         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41109         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41110         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41111         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41112         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41113         Likewise.
41114         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41115         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41116         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41117         Likewise.
41118         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41119         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41120         (STDERR_FILENO): Likewise.
41121         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41122         (STDERR_FILENO): Likewise.
41123         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41124         (STDERR_FILENO): Likewise.
41125         Reported by Elbert Pol.
41126
41127 2009-01-19  Eric Blake  <ebb9@byu.net>
41128
41129         doc: mention more functions added in cygwin 1.7.0
41130         * doc/posix-functions/abort.texi (abort): Update wording related
41131         to cygwin.
41132         * doc/posix-functions/daylight.texi (daylight): Likewise.
41133         * doc/posix-functions/optarg.texi (optarg): Likewise.
41134         * doc/posix-functions/optarg.texi (opterr): Likewise.
41135         * doc/posix-functions/optarg.texi (optind): Likewise.
41136         * doc/posix-functions/optarg.texi (optopt): Likewise.
41137         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41138         worked in 1.5.x, and was withdrawn in 1.7.
41139         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41140         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41141         cygwin versions.
41142         * doc/posix-functions/perror.texi (perror): Likewise.
41143         * doc/posix-functions/printf.texi (printf): Likewise.
41144         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41145         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41146         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41147         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41148         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41149         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41150         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41151         Likewise.
41152         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41153         Likewise.
41154         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41155         this function.
41156         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41157         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41158         Likewise.
41159         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41160         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41161         * doc/posix-functions/confstr.texi (confstr): Likewise.
41162         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41163         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41164         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41165         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41166         * doc/posix-functions/fputws.texi (fputws): Likewise.
41167         * doc/posix-functions/fwide.texi (fwide): Likewise.
41168         * doc/posix-functions/getwc.texi (getwc): Likewise.
41169         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41170         * doc/posix-functions/putwc.texi (putwc): Likewise.
41171         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41172         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41173         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41174         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41175         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41176         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41177         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41178         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41179         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41180         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41181         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41182
41183 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41184
41185         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41186         * lib/ioctl.c: Include <sys/ioctl.h>.
41187
41188 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41189
41190         * modules/getdate-tests (Depends-on): Add progname.
41191         * tests/test-getdate.c: Use progname module, to avoid link errors
41192         on non-glibc systems.
41193
41194 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41195
41196         * modules/filenamecat-tests (Depends-on): Add progname.
41197         * modules/fstrcmp-tests (Depends-on): Likewise.
41198
41199         * tests/test-filenamecat.c: Use progname module, to avoid link
41200         errors on non-glibc systems.
41201         * tests/test-fstrcmp.c: Likewise.
41202
41203 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41204
41205         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41206         * lib/gettimeofday.c: Move extern declaration out of function.
41207
41208 2009-01-18  Bruno Haible  <bruno@clisp.org>
41209
41210         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41211         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41212         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41213
41214 2009-01-18  Bruno Haible  <bruno@clisp.org>
41215
41216         * lib/strftime.c (MEMPCPY): Remove unused macro.
41217         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41218
41219 2009-01-18  Martin Lambers  <marlam@marlam.de>
41220
41221         New module 'link'.
41222         * lib/unistd.in.h (link): New declaration.
41223         * lib/link.c: New file.
41224         * m4/link.m4: New file.
41225         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41226         HAVE_LINK.
41227         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41228         * modules/link: New file.
41229         * doc/posix-functions/link.texi: Mention the new module.
41230
41231 2009-01-18  Bruno Haible  <bruno@clisp.org>
41232
41233         * tests/test-avltree_list.c (main): Call set_program_name.
41234         * tests/test-avltree_oset.c (main): Likewise.
41235         * tests/test-obstack-printf.c: Include progname.h.
41236         (main): Call set_program_name.
41237         * tests/test-quotearg.c: Include progname.h.
41238         (main): Call set_program_name.
41239         * tests/test-xmemdup0.c: Include progname.h.
41240         (main): Call set_program_name.
41241
41242 2009-01-18  Bruno Haible  <bruno@clisp.org>
41243
41244         New module 'alphasort'.
41245         * lib/dirent.in.h (alphasort): New declaration.
41246         * lib/alphasort.c: New file, from glibc with modifications.
41247         * m4/alphasort.m4: New file.
41248         * modules/alphasort: New file.
41249         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41250         HAVE_ALPHASORT.
41251         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41252         HAVE_ALPHASORT.
41253         * doc/posix-functions/alphasort.texi: Mention the new module and the
41254         portability problems.
41255
41256 2009-01-18  Bruno Haible  <bruno@clisp.org>
41257
41258         New module 'scandir'.
41259         * lib/dirent.in.h (scandir): New declaration.
41260         * lib/scandir.c: New file, from glibc with modifications.
41261         * m4/scandir.m4: New file.
41262         * modules/scandir: New file.
41263         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41264         HAVE_SCANDIR.
41265         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41266         HAVE_SCANDIR.
41267         * doc/posix-functions/scandir.texi: Mention the new module and the
41268         portability problems.
41269
41270 2009-01-17  Bruno Haible  <bruno@clisp.org>
41271
41272         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41273         Update documentation.
41274         (func_remove_suffix): Escape all dots in the suffix. Update
41275         documentation.
41276         (func_filter_filelist): Update documentation.
41277         Reported by Ralf Wildenhues.
41278
41279 2009-01-17  Bruno Haible  <bruno@clisp.org>
41280
41281         * modules/dprintf-posix-tests: New file.
41282         * tests/test-dprintf-posix.sh: New file.
41283         * tests/test-dprintf-posix.c: New file.
41284
41285         New modules 'dprintf', 'dprintf-posix'.
41286         * lib/stdio.in.h (dprintf): New declaration.
41287         * lib/dprintf.c: New file.
41288         * m4/dprintf.m4: New file.
41289         * m4/dprintf-posix.m4: New file.
41290         * modules/dprintf: New file.
41291         * modules/dprintf-posix: New file.
41292         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41293         HAVE_DPRINTF, REPLACE_DPRINTF.
41294         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41295         HAVE_DPRINTF, REPLACE_DPRINTF.
41296         * doc/posix-functions/dprintf.texi: Mention the new modules.
41297
41298 2009-01-17  Bruno Haible  <bruno@clisp.org>
41299
41300         * modules/vdprintf-posix-tests: New file.
41301         * tests/test-vdprintf-posix.sh: New file.
41302         * tests/test-vdprintf-posix.c: New file.
41303
41304         New modules 'vdprintf', 'vdprintf-posix'.
41305         * lib/stdio.in.h (vdprintf): New declaration.
41306         * lib/vdprintf.c: New file.
41307         * m4/vdprintf.m4: New file.
41308         * m4/vdprintf-posix.m4: New file.
41309         * modules/vdprintf: New file.
41310         * modules/vdprintf-posix: New file.
41311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41312         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41313         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41314         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41315         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41316
41317 2009-01-17  Bruno Haible  <bruno@clisp.org>
41318
41319         Fix replacement of fopen on mingw.
41320         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41321         mingw.
41322
41323 2009-01-17  Bruno Haible  <bruno@clisp.org>
41324
41325         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41326         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41327
41328 2009-01-17  Bruno Haible  <bruno@clisp.org>
41329
41330         Avoid test-fflush2.sh failure on mingw.
41331         * tests/test-fflush2.c: Include binary-io.h.
41332         (main): Put standard input into binary mode.
41333         * modules/fflush-tests (Depends-on): Add binary-io.
41334
41335 2009-01-17  Bruno Haible  <bruno@clisp.org>
41336
41337         * lib/wchar.in.h: In another particular situation, include only the
41338         system's <wchar.h> file.
41339         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41340         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41341         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41342
41343 2009-01-17  Bruno Haible  <bruno@clisp.org>
41344
41345         Support for stripping executables in --enable-relocatable.
41346         * build-aux/install-reloc: Expect one more argument, or an environment
41347         variable RELOC_STRIP_PROG. If set, strip the destination program and
41348         its wrapper.
41349         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41350         RELOC_STRIP_PROG.
41351         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41352         to set RELOCATABLE_STRIP.
41353         * NEWS: Mention the new Makefile requirement.
41354
41355 2009-01-17  Bruno Haible  <bruno@clisp.org>
41356
41357         * build-aux/install-reloc: Remove debugging information left over by
41358         C compiler on MacOS X.
41359
41360 2009-01-17  Bruno Haible  <bruno@clisp.org>
41361
41362         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41363         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41364         _NSGetExecutablePath.
41365
41366 2009-01-16  Jim Meyering  <meyering@redhat.com>
41367
41368         strerror: avoid warnings about discarding "const"
41369         * lib/strerror.c (rpl_strerror): Instead of returning a const
41370         string from each and every "case", use a variable, and add a single
41371         cast after the switch.
41372
41373 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41374
41375         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41376
41377 2009-01-16  Bruno Haible  <bruno@clisp.org>
41378
41379         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41380         array initializer syntax that also works in C++ mode.
41381         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41382
41383 2009-01-16  Jim Meyering  <meyering@redhat.com>
41384
41385         poll: suppress a warning
41386         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41387         to ignore "...unsigned expression < 0 is always false" warnings.
41388
41389 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41390
41391         poll: remove declarations of unused variables
41392         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41393         sockbuf and optlen.
41394
41395 2009-01-15  Bruno Haible  <bruno@clisp.org>
41396
41397         Make fflush-after-ungetc POSIX compliant on BSD systems.
41398         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41399         (clear_ungetc_buffer): Implement also for other systems.
41400         (rpl_fflush): On glibc systems, invoke
41401         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41402         clear_ungetc_buffer after fetching the stream's position, not before.
41403
41404 2009-01-15  Bruno Haible  <bruno@clisp.org>
41405
41406         Make fflush-after-ungetc POSIX compliant on glibc systems.
41407         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41408         after ungetc.
41409         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41410         (rpl_fflush): On glibc systems, simply call the system's fflush
41411         function after clearing the ungetc buffer.
41412         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41413         Instead, lseek only to the end of file, then use the system's fseeko
41414         for the rest. On glibc systems, reset the EOF indicator bit.
41415
41416 2009-01-15  Jim Meyering  <meyering@redhat.com>
41417
41418         openmp.m4: revert quote-adding change, for portability to older autoconf
41419         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41420         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41421         Simon Josefsson noticed the problem when using autoconf-2.61.
41422
41423 2009-01-15  Bruno Haible  <bruno@clisp.org>
41424
41425         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41426         * tests/test-fflush2.c (ASSERT): Always fail.
41427         (main): Add two tests for fflush() after ungetc(), taking into account
41428         the Austin Group's clarification.
41429         Suggested by Eric Blake.
41430
41431 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41432
41433         mktime.m4: remove K&R-style function prototypes
41434         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41435         for the Sun C++ compiler.
41436
41437 2009-01-14  Bruno Haible  <bruno@clisp.org>
41438
41439         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41440         while including <wchar.h>.
41441         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41442         the system's <wchar.h> file.
41443         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41444
41445 2009-01-14  Bruno Haible  <bruno@clisp.org>
41446
41447         * m4/csharp.m4: Don't mention gettext on the serial number line.
41448         * m4/csharpexec.m4: Likewise.
41449         * m4/eaccess.m4: Likewise.
41450         * m4/javaexec.m4: Likewise.
41451         * m4/sig_atomic_t.m4: Likewise.
41452         * m4/tmpdir.m4: Likewise.
41453         * m4/intldir.m4: Bump gettext version.
41454         * m4/lib-ld.m4: Likewise.
41455
41456 2009-01-14  Bruno Haible  <bruno@clisp.org>
41457
41458         * lib/progname.c (set_program_name): Add more comments.
41459         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41460
41461 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41462
41463         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41464         were sys/stat.h does not define it.
41465
41466 2009-01-14  Jim Meyering  <meyering@redhat.com>
41467
41468         many *.m4 files: improve m4 quoting
41469         99% of this change was performed by running the following commands:
41470         git ls-files | grep '\.m4$' | xargs perl -pi \
41471           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
41472           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41473           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41474           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
41475         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
41476         The remainder were to add Copyright dates, increment serial numbers,
41477         undo some changes in comments, exclude m4/intl.m4, and add quotes
41478         around the "1" in ",1" where the unusual spacing prohibited the
41479         above regexps from doing the job.  For more details, see
41480         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
41481         * m4/acl.m4: Modified.
41482         * m4/afs.m4: Likewise.
41483         * m4/alloca.m4: Likewise.
41484         * m4/argp.m4: Likewise.
41485         * m4/argz.m4: Likewise.
41486         * m4/atexit.m4: Likewise.
41487         * m4/bison-i18n.m4: Likewise.
41488         * m4/bison.m4: Likewise.
41489         * m4/byteswap.m4: Likewise.
41490         * m4/c-stack.m4: Likewise.
41491         * m4/c-strtod.m4: Likewise.
41492         * m4/calloc.m4: Likewise.
41493         * m4/canonicalize-lgpl.m4: Likewise.
41494         * m4/chown.m4: Likewise.
41495         * m4/clock_time.m4: Likewise.
41496         * m4/codeset.m4: Likewise.
41497         * m4/copy-file.m4: Likewise.
41498         * m4/csharp.m4: Likewise.
41499         * m4/csharpcomp.m4: Likewise.
41500         * m4/csharpexec.m4: Likewise.
41501         * m4/d-ino.m4: Likewise.
41502         * m4/d-type.m4: Likewise.
41503         * m4/dirfd.m4: Likewise.
41504         * m4/double-slash-root.m4: Likewise.
41505         * m4/eaccess.m4: Likewise.
41506         * m4/eealloc.m4: Likewise.
41507         * m4/environ.m4: Likewise.
41508         * m4/errno_h.m4: Likewise.
41509         * m4/euidaccess.m4: Likewise.
41510         * m4/execute.m4: Likewise.
41511         * m4/fatal-signal.m4: Likewise.
41512         * m4/fchdir.m4: Likewise.
41513         * m4/fcntl_h.m4: Likewise.
41514         * m4/fileblocks.m4: Likewise.
41515         * m4/filenamecat.m4: Likewise.
41516         * m4/findprog.m4: Likewise.
41517         * m4/flexmember.m4: Likewise.
41518         * m4/fnmatch.m4: Likewise.
41519         * m4/fopen.m4: Likewise.
41520         * m4/fpending.m4: Likewise.
41521         * m4/fprintf-posix.m4: Likewise.
41522         * m4/free.m4: Likewise.
41523         * m4/frexp.m4: Likewise.
41524         * m4/frexpl.m4: Likewise.
41525         * m4/fsusage.m4: Likewise.
41526         * m4/ftruncate.m4: Likewise.
41527         * m4/gc-camellia.m4: Likewise.
41528         * m4/gc-random.m4: Likewise.
41529         * m4/gc.m4: Likewise.
41530         * m4/getaddrinfo.m4: Likewise.
41531         * m4/getcwd-abort-bug.m4: Likewise.
41532         * m4/getcwd-path-max.m4: Likewise.
41533         * m4/getdate.m4: Likewise.
41534         * m4/getdomainname.m4: Likewise.
41535         * m4/getgroups.m4: Likewise.
41536         * m4/gethostname.m4: Likewise.
41537         * m4/gethrxtime.m4: Likewise.
41538         * m4/getline.m4: Likewise.
41539         * m4/getloadavg.m4: Likewise.
41540         * m4/getndelim2.m4: Likewise.
41541         * m4/getpass.m4: Likewise.
41542         * m4/gettext.m4: Likewise.
41543         * m4/gettime.m4: Likewise.
41544         * m4/gettimeofday.m4: Likewise.
41545         * m4/gnulib-common.m4: Likewise.
41546         * m4/group-member.m4: Likewise.
41547         * m4/host-os.m4: Likewise.
41548         * m4/iconv.m4: Likewise.
41549         * m4/iconv_open.m4: Likewise.
41550         * m4/inet_ntop.m4: Likewise.
41551         * m4/inet_pton.m4: Likewise.
41552         * m4/inline.m4: Likewise.
41553         * m4/intldir.m4: Likewise.
41554         * m4/intlmacosx.m4: Likewise.
41555         * m4/intmax.m4: Likewise.
41556         * m4/intmax_t.m4: Likewise.
41557         * m4/inttypes.m4: Likewise.
41558         * m4/inttypes_h.m4: Likewise.
41559         * m4/inttypes-pri.m4: Likewise.
41560         * m4/isapipe.m4: Likewise.
41561         * m4/isnand.m4: Likewise.
41562         * m4/isnanf.m4: Likewise.
41563         * m4/isnanl.m4: Likewise.
41564         * m4/javacomp.m4: Likewise.
41565         * m4/javaexec.m4: Likewise.
41566         * m4/jm-winsz1.m4: Likewise.
41567         * m4/jm-winsz2.m4: Likewise.
41568         * m4/lchown.m4: Likewise.
41569         * m4/lcmessage.m4: Likewise.
41570         * m4/ldexpl.m4: Likewise.
41571         * m4/lib-ld.m4: Likewise.
41572         * m4/lib-link.m4: Likewise.
41573         * m4/libsigsegv.m4: Likewise.
41574         * m4/link-follow.m4: Likewise.
41575         * m4/localcharset.m4: Likewise.
41576         * m4/locale-fr.m4: Likewise.
41577         * m4/locale-ja.m4: Likewise.
41578         * m4/locale-tr.m4: Likewise.
41579         * m4/locale-zh.m4: Likewise.
41580         * m4/lock.m4: Likewise.
41581         * m4/longlong.m4: Likewise.
41582         * m4/ls-mntd-fs.m4: Likewise.
41583         * m4/lstat.m4: Likewise.
41584         * m4/malloc.m4: Likewise.
41585         * m4/mathl.m4: Likewise.
41586         * m4/mbrtowc.m4: Likewise.
41587         * m4/mbstate_t.m4: Likewise.
41588         * m4/mbswidth.m4: Likewise.
41589         * m4/memchr.m4: Likewise.
41590         * m4/memcmp.m4: Likewise.
41591         * m4/memcpy.m4: Likewise.
41592         * m4/memmem.m4: Likewise.
41593         * m4/memmove.m4: Likewise.
41594         * m4/mempcpy.m4: Likewise.
41595         * m4/memrchr.m4: Likewise.
41596         * m4/memset.m4: Likewise.
41597         * m4/minmax.m4: Likewise.
41598         * m4/mkdir-slash.m4: Likewise.
41599         * m4/mkdtemp.m4: Likewise.
41600         * m4/mktime.m4: Likewise.
41601         * m4/mmap-anon.m4: Likewise.
41602         * m4/mountlist.m4: Likewise.
41603         * m4/nanosleep.m4: Likewise.
41604         * m4/nls.m4: Likewise.
41605         * m4/nocrash.m4: Likewise.
41606         * m4/open.m4: Likewise.
41607         * m4/openat.m4: Likewise.
41608         * m4/openmp.m4: Likewise.
41609         * m4/pathmax.m4: Likewise.
41610         * m4/perl.m4: Likewise.
41611         * m4/physmem.m4: Likewise.
41612         * m4/pipe.m4: Likewise.
41613         * m4/po.m4: Likewise.
41614         * m4/poll.m4: Likewise.
41615         * m4/posixtm.m4: Likewise.
41616         * m4/posixver.m4: Likewise.
41617         * m4/printf-frexp.m4: Likewise.
41618         * m4/printf-frexpl.m4: Likewise.
41619         * m4/printf-posix.m4: Likewise.
41620         * m4/printf-posix-rpl.m4: Likewise.
41621         * m4/printf.m4: Likewise.
41622         * m4/progtest.m4: Likewise.
41623         * m4/putenv.m4: Likewise.
41624         * m4/readline.m4: Likewise.
41625         * m4/readlink.m4: Likewise.
41626         * m4/readutmp.m4: Likewise.
41627         * m4/realloc.m4: Likewise.
41628         * m4/regex.m4: Likewise.
41629         * m4/relocatable.m4: Likewise.
41630         * m4/relocatable-lib.m4: Likewise.
41631         * m4/rename-dest-slash.m4: Likewise.
41632         * m4/rename.m4: Likewise.
41633         * m4/rmdir-errno.m4: Likewise.
41634         * m4/rmdir.m4: Likewise.
41635         * m4/roundf.m4: Likewise.
41636         * m4/roundl.m4: Likewise.
41637         * m4/rpmatch.m4: Likewise.
41638         * m4/save-cwd.m4: Likewise.
41639         * m4/selinux-selinux-h.m4: Likewise.
41640         * m4/setenv.m4: Likewise.
41641         * m4/settime.m4: Likewise.
41642         * m4/sig2str.m4: Likewise.
41643         * m4/sig_atomic_t.m4: Likewise.
41644         * m4/signalblocking.m4: Likewise.
41645         * m4/signbit.m4: Likewise.
41646         * m4/sigpipe.m4: Likewise.
41647         * m4/sockets.m4: Likewise.
41648         * m4/sockpfaf.m4: Likewise.
41649         * m4/st_dm_mode.m4: Likewise.
41650         * m4/stat-time.m4: Likewise.
41651         * m4/stdbool.m4: Likewise.
41652         * m4/stdint.m4: Likewise.
41653         * m4/stdint_h.m4: Likewise.
41654         * m4/stpcpy.m4: Likewise.
41655         * m4/stpncpy.m4: Likewise.
41656         * m4/strcase.m4: Likewise.
41657         * m4/strchrnul.m4: Likewise.
41658         * m4/strcspn.m4: Likewise.
41659         * m4/strdup.m4: Likewise.
41660         * m4/strftime.m4: Likewise.
41661         * m4/strndup.m4: Likewise.
41662         * m4/strnlen.m4: Likewise.
41663         * m4/strpbrk.m4: Likewise.
41664         * m4/strptime.m4: Likewise.
41665         * m4/strsep.m4: Likewise.
41666         * m4/strtod.m4: Likewise.
41667         * m4/strtoimax.m4: Likewise.
41668         * m4/strtok_r.m4: Likewise.
41669         * m4/strtol.m4: Likewise.
41670         * m4/strtoll.m4: Likewise.
41671         * m4/strtoul.m4: Likewise.
41672         * m4/strtoull.m4: Likewise.
41673         * m4/strtoumax.m4: Likewise.
41674         * m4/strverscmp.m4: Likewise.
41675         * m4/threadlib.m4: Likewise.
41676         * m4/timegm.m4: Likewise.
41677         * m4/tm_gmtoff.m4: Likewise.
41678         * m4/tmpdir.m4: Likewise.
41679         * m4/tmpfile.m4: Likewise.
41680         * m4/tzset.m4: Likewise.
41681         * m4/uintmax_t.m4: Likewise.
41682         * m4/unlinkdir.m4: Likewise.
41683         * m4/unlocked-io.m4: Likewise.
41684         * m4/uptime.m4: Likewise.
41685         * m4/userspec.m4: Likewise.
41686         * m4/utimbuf.m4: Likewise.
41687         * m4/utime.m4: Likewise.
41688         * m4/utimes-null.m4: Likewise.
41689         * m4/utimes.m4: Likewise.
41690         * m4/vararrays.m4: Likewise.
41691         * m4/vasnprintf.m4: Likewise.
41692         * m4/vfprintf-posix.m4: Likewise.
41693         * m4/vprintf-posix.m4: Likewise.
41694         * m4/wait-process.m4: Likewise.
41695         * m4/wchar_t.m4: Likewise.
41696         * m4/wint_t.m4: Likewise.
41697         * m4/write-any-file.m4: Likewise.
41698         * m4/yield.m4: Likewise.
41699
41700 2009-01-13  Bruno Haible  <bruno@clisp.org>
41701
41702         Avoid test-copy-file.sh failures when ACL support insufficient.
41703         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
41704         TESTS_ENVIRONMENT.
41705         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
41706         Reported by Jim Meyering.
41707
41708 2009-01-13  Bruno Haible  <bruno@clisp.org>
41709
41710         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
41711         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
41712         * modules/unistdio/u8-printf-parse (Files): Likewise.
41713         * modules/unistdio/u32-printf-parse (Files): Likewise.
41714         * modules/unistdio/ulc-printf-parse (Files): Likewise.
41715
41716 2009-01-13  Simon Josefsson  <simon@josefsson.org>
41717
41718         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
41719         and m4/inttypes_h.m4 too.
41720
41721 2009-01-12  Eric Blake  <ebb9@byu.net>
41722
41723         tests: IRIX 6.2 cc can't compile -0.0 into .data
41724         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
41725         rather than at compile-time.
41726         * tests/test-floorl.c (minus_zero): Likewise.
41727         * tests/test-frexpl.c (minus_zero): Likewise.
41728         * tests/test-isnan.c (minus_zerol): Likewise.
41729         * tests/test-isnanl.h (minus_zero): Likewise.
41730         * tests/test-ldexpl.c (minus_zero): Likewise.
41731         * tests/test-roundl.c (minus_zero): Likewise.
41732         * tests/test-signbit.c (minus_zerol): Likewise.
41733         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
41734         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
41735         * tests/test-truncl.c (minus_zero): Likewise.
41736         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
41737         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
41738         Reported by Tom G. Christensen and Nelson H. F. Beebe.
41739
41740 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41741
41742         regex: fix glibc bug 9697
41743         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
41744         handling.
41745
41746 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41747
41748         regex: fix glibc bug 697
41749         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
41750         being NULL also if there are no backreferences.
41751
41752 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41753
41754         regex: merge glibc changes
41755         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
41756         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
41757         re_string_skip_chars, re_string_reconstruct): Likewise.
41758         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
41759
41760 2009-01-07  Jim Meyering  <meyering@redhat.com>
41761
41762         poll: filter through cppi
41763         * lib/poll.c: Indent cpp directives to reflect nesting.
41764
41765 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
41766
41767         poll: don't return uninitialized
41768         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
41769
41770 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
41771
41772         avoid compile failure on AIX 6.1
41773         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
41774         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
41775
41776 2009-01-04  Jim Meyering  <meyering@redhat.com>
41777
41778         remove duplicate inclusion of <stdio.h>
41779         * tests/test-fprintf-posix.c: Likewise.
41780         * tests/test-printf-posix.c: Likewise.
41781         * tests/test-snprintf-posix.c: Likewise.
41782         * tests/test-sprintf-posix.c: Likewise.
41783         * tests/test-vasprintf-posix.c: Likewise.
41784         * tests/test-vfprintf-posix.c: Likewise.
41785         * tests/test-vprintf-posix.c: Likewise.
41786         * tests/test-vsnprintf-posix.c: Likewise.
41787         * tests/test-vsprintf-posix.c: Likewise.
41788
41789 2009-01-03  Jim Meyering  <meyering@redhat.com>
41790
41791         gnulib-tool: fix sed-based filtering
41792         * gnulib-tool (func_filter_filelist): Remove extra backslash
41793         in sed_fff_filter definition.
41794
41795 2009-01-02  Jim Meyering  <meyering@redhat.com>
41796
41797         strftime: avoid compilation failure on Solaris 2.6
41798         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
41799         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
41800         Don't #define mbrlen or mbsinit, since now they're guaranteed to
41801         be available.  Reported by Tom G. Christensen.  Details in
41802         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
41803
41804 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41805             Bruno Haible  <bruno@clisp.org>
41806
41807         Speed up gnulib-tool by doing more string processing through shell
41808         built-ins.
41809         * gnulib-tool (fast_func_append): New variable.
41810         (func_remove_prefix, func_remove_suffix): New functions.
41811         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
41812         (func_filter_filelist): New function.
41813         (func_get_dependencies): Use func_remove_suffix instead of sed.
41814         (func_get_automake_snippet): Use func_filter_filelist instead of a
41815         subshell and sed invocation.
41816
41817 2009-01-01  Bruno Haible  <bruno@clisp.org>
41818
41819         Fix a security bug.
41820         * gnulib-tool (func_import, import, update): Don't allow the characters
41821         '"', '$', '`', '\' in macro arguments that become part of commands that
41822         are evaluated.
41823
41824 2009-01-01  Bruno Haible  <bruno@clisp.org>
41825
41826         * gnulib-tool (func_reset_sigpipe): Add more comments.
41827
41828 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41829
41830         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
41831         func_emit_tests_Makefile_am, func_import): Abort loops early if we
41832         already know the answer.
41833
41834 2009-01-01  Jim Meyering  <meyering@redhat.com>
41835
41836         * lib/version-etc.c (version_etc_va): Update copyright year.
41837
41838 2008-12-30  Bruno Haible  <bruno@clisp.org>
41839
41840         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
41841         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
41842         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
41843
41844 2008-12-29  Eric Blake  <ebb9@byu.net>
41845
41846         multiarch: avoid autoconf AC_REQUIRE bug
41847         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
41848         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
41849         2.63 and older.
41850         Reported by Bruno Haible, and analyzed in
41851         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
41852
41853 2008-12-29  Bruno Haible  <bruno@clisp.org>
41854
41855         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
41856         files in subdirectories correctly.
41857         Reported by Ralf Wildenhues.
41858
41859 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41860
41861         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
41862         rather than 'join FILE -', for Solaris join.
41863
41864 2008-12-29  Bruno Haible  <bruno@clisp.org>
41865
41866         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
41867         quoting.
41868         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
41869         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
41870         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
41871         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
41872         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
41873         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
41874         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
41875         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
41876         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
41877         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
41878         * m4/nls.m4 (AM_NLS): Likewise.
41879         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
41880         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
41881         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
41882         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
41883         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
41884         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
41885         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
41886         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
41887         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
41888         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
41889         * m4/xsize.m4 (gl_XSIZE): Likewise.
41890         Suggested by Jim Meyering.
41891
41892 2008-11-17  Bruce Korb  <bkorb@gnu.org>
41893
41894         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
41895         * lib/parse-duration.c: use a switch instead of cascading if's.
41896
41897 2008-12-29  Eric Blake  <ebb9@byu.net>
41898
41899         wchar.h: supply WEOF on Irix 5.3
41900         * lib/wchar.in.h (wint_t): Also supply WEOF.
41901         * lib/wctype.in.h (wint_t): Likewise.
41902         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
41903         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
41904         Reported by Tom G. Christensen.
41905
41906 2008-12-26  Bruno Haible  <bruno@clisp.org>
41907
41908         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
41909         i486, i586, i686.
41910
41911 2008-12-26  Bruno Haible  <bruno@clisp.org>
41912
41913         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
41914
41915 2008-12-26  Bruno Haible  <bruno@clisp.org>
41916
41917         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
41918         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
41919         not __STDC_CONSTANT_MACROS.
41920         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
41921
41922 2008-12-25  Bruno Haible  <bruno@clisp.org>
41923
41924         Add support for universal builds to vasnprintf.
41925         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
41926         universal builds, guess no.
41927         * modules/vasnprintf-posix (Depends-on): Add multiarch.
41928         * modules/vasprintf-posix (Depends-on): Likewise.
41929         * modules/fprintf-posix (Depends-on): Likewise.
41930         * modules/vfprintf-posix (Depends-on): Likewise.
41931         * modules/snprintf-posix (Depends-on): Likewise.
41932         * modules/vsnprintf-posix (Depends-on): Likewise.
41933         * modules/sprintf-posix (Depends-on): Likewise.
41934         * modules/vsprintf-posix (Depends-on): Likewise.
41935         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41936         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41937         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41938         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41939         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41940         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41941         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41942
41943         Add support for universal builds to <inttypes.h>.
41944         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
41945         _SCNu64_PREFIX): In Apple
41946         universal builds, define directly, using _LP64.
41947         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
41948         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
41949         * modules/inttypes (Depends-on): Add multiarch.
41950         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
41951
41952         Add support for universal builds to <stdint.h>.
41953         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
41954         universal builds, define directly, using _LP64.
41955         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
41956         Apple universal builds, don't test for the size and suffix of ptrdiff_t
41957         and size_t.
41958         * modules/stdint (Depends-on): Add multiarch.
41959         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
41960
41961         New module 'multiarch'.
41962         * modules/multiarch: New file.
41963         * m4/multiarch.m4: New file.
41964
41965 2008-12-25  Bruno Haible  <bruno@clisp.org>
41966
41967         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
41968
41969 2008-12-25  Bruno Haible  <bruno@clisp.org>
41970
41971         * modules/btowc (License): Relicense under LGPLv2+.
41972         * modules/mbsinit (License): Likewise.
41973         * modules/mbrtowc (License): Likewise.
41974         * modules/wcrtomb (License): Likewise.
41975         * modules/streq (License): Likewise.
41976         Reported by David Lutterkort <lutter@redhat.com>.
41977
41978 2008-12-23  Bruno Haible  <bruno@clisp.org>
41979
41980         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
41981
41982 2008-12-23  Bruno Haible  <bruno@clisp.org>
41983
41984         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
41985         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
41986         GETADDRINFO_LIB, not in LIBS.
41987         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
41988         * modules/canon-host (Link): Likewise.
41989         * NEWS: Mention the change.
41990         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
41991         GETADDRINFO_LIB.
41992
41993 2008-12-22  Bruno Haible  <bruno@clisp.org>
41994
41995         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
41996         * doc/posix-functions/iswalpha_l.texi: Likewise.
41997         * doc/posix-functions/iswblank_l.texi: Likewise.
41998         * doc/posix-functions/iswcntrl_l.texi: Likewise.
41999         * doc/posix-functions/iswctype_l.texi: Likewise.
42000         * doc/posix-functions/iswdigit_l.texi: Likewise.
42001         * doc/posix-functions/iswgraph_l.texi: Likewise.
42002         * doc/posix-functions/iswlower_l.texi: Likewise.
42003         * doc/posix-functions/iswprint_l.texi: Likewise.
42004         * doc/posix-functions/iswpunct_l.texi: Likewise.
42005         * doc/posix-functions/iswspace_l.texi: Likewise.
42006         * doc/posix-functions/iswupper_l.texi: Likewise.
42007         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42008         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42009         * doc/posix-functions/open_wmemstream.texi: Likewise.
42010         * doc/posix-functions/swscanf.texi: Likewise.
42011         * doc/posix-functions/towctrans_l.texi: Likewise.
42012         * doc/posix-functions/towlower.texi: Likewise.
42013         * doc/posix-functions/towlower_l.texi: Likewise.
42014         * doc/posix-functions/towupper.texi: Likewise.
42015         * doc/posix-functions/towupper_l.texi: Likewise.
42016         * doc/posix-functions/vfwprintf.texi: Likewise.
42017         * doc/posix-functions/vfwscanf.texi: Likewise.
42018         * doc/posix-functions/vswscanf.texi: Likewise.
42019         * doc/posix-functions/vwprintf.texi: Likewise.
42020         * doc/posix-functions/vwscanf.texi: Likewise.
42021         * doc/posix-functions/wcpcpy.texi: Likewise.
42022         * doc/posix-functions/wcpncpy.texi: Likewise.
42023         * doc/posix-functions/wcscasecmp.texi: Likewise.
42024         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42025         * doc/posix-functions/wcscoll_l.texi: Likewise.
42026         * doc/posix-functions/wcsdup.texi: Likewise.
42027         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42028         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42029         * doc/posix-functions/wcsnlen.texi: Likewise.
42030         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42031         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42032         * doc/posix-functions/wctrans_l.texi: Likewise.
42033         * doc/posix-functions/wctype_l.texi: Likewise.
42034         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42035         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42036         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42037         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42038         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42039         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42040         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42041         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42042         * doc/glibc-functions/wcschrnul.texi: Likewise.
42043         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42044         * doc/glibc-functions/wcstod_l.texi: Likewise.
42045         * doc/glibc-functions/wcstof_l.texi: Likewise.
42046         * doc/glibc-functions/wcstol_l.texi: Likewise.
42047         * doc/glibc-functions/wcstold_l.texi: Likewise.
42048         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42049         * doc/glibc-functions/wcstoq.texi: Likewise.
42050         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42051         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42052         * doc/glibc-functions/wcstouq.texi: Likewise.
42053         * doc/glibc-functions/wmempcpy.texi: Likewise.
42054
42055 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42056             Eric Blake  <ebb9@byu.net>
42057             Paolo Bonzini  <bonzini@gnu.org>
42058             Bruno Haible  <bruno@clisp.org>
42059
42060         Make c-stack work on Haiku.
42061         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42062         (c_stack_action): Use SA_ONSTACK flag.
42063
42064 2008-12-22  Bruno Haible  <bruno@clisp.org>
42065
42066         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42067
42068 2008-12-22  Bruno Haible  <bruno@clisp.org>
42069
42070         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42071         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42072         being overridden.
42073         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42074         New macros.
42075         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42076         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42077         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42078         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42079
42080 2008-12-22  Bruno Haible  <bruno@clisp.org>
42081
42082         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42083         from test code.
42084
42085 2008-12-22  Eric Blake  <ebb9@byu.net>
42086
42087         Avoid gcc warnings on cygwin.
42088         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42089         Avoid unused variable.
42090         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42091         Likewise.
42092
42093 2008-12-22  Bruno Haible  <bruno@clisp.org>
42094
42095         Remove HAVE_MBRTOWC conditionals.
42096         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42097         (mbscasecmp): Assume mbrtowc function.
42098         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42099         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42100         * lib/mbschr.c: Include mbuiter.h unconditionally.
42101         (mbschr): Assume mbrtowc function.
42102         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42103         (mbscspn): Assume mbrtowc function.
42104         * lib/mbslen.c: Include mbuiter.h unconditionally.
42105         (mbslen): Assume mbrtowc function.
42106         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42107         (mbsncasecmp): Assume mbrtowc function.
42108         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42109         (mbsnlen): Assume mbrtowc function.
42110         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42111         (mbspbrk): Assume mbrtowc function.
42112         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42113         (mbspcasecmp): Assume mbrtowc function.
42114         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42115         (mbsrchr): Assume mbrtowc function.
42116         * lib/mbssep.c: Include mbuiter.h unconditionally.
42117         (mbssep): Assume mbrtowc function.
42118         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42119         (mbsspn): Assume mbrtowc function.
42120         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42121         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42122         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42123         (mbstok_r): Assume mbrtowc function.
42124         * lib/propername.c: Include mbuiter.h unconditionally.
42125         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42126         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42127         (trim2): Assume mbrtowc function.
42128         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42129         (mbsnwidth): Assume mbrtowc function.
42130         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42131         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42132         fallback definitions.
42133         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42134
42135 2008-12-22  Bruno Haible  <bruno@clisp.org>
42136
42137         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42138
42139 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42140
42141         * modules/regex: Request emulations for the mb*/wc* functions we need.
42142         * m4/regex.m4: Don't look for those functions here.
42143         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42144
42145 2008-12-22  Bruno Haible  <bruno@clisp.org>
42146
42147         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42148
42149 2008-12-21  Bruno Haible  <bruno@clisp.org>
42150
42151         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42152         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42153         (Include): Remove conditionalization.
42154         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42155         (Include): Remove conditionalization.
42156         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42157         (Include): Remove conditionalization.
42158         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42159         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42160         * NEWS: Mention the change.
42161         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42162         via Sergey Poznyakoff <gray@gnu.org.ua>.
42163
42164 2008-12-21  Bruno Haible  <bruno@clisp.org>
42165
42166         * MODULES.html.sh (Extended multibyte and wide character utilities
42167         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42168         wcrtomb, wcsrtombs.
42169         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42170         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42171         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42172         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42173
42174 2008-12-21  Bruno Haible  <bruno@clisp.org>
42175
42176         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42177
42178 2008-12-21  Bruno Haible  <bruno@clisp.org>
42179
42180         * modules/wcsnrtombs-tests: New file.
42181         * tests/test-wcsnrtombs1.sh: New file.
42182         * tests/test-wcsnrtombs2.sh: New file.
42183         * tests/test-wcsnrtombs3.sh: New file.
42184         * tests/test-wcsnrtombs4.sh: New file.
42185         * tests/test-wcsnrtombs.c: New file.
42186
42187         New module 'wcsnrtombs'.
42188         * lib/wchar.in.h (wcsnrtombs): New declaration.
42189         * lib/wcsnrtombs.c: New file.
42190         * lib/wcsrtombs-state.c: New file.
42191         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42192         (internal_state): Remove variable.
42193         * m4/wcsnrtombs.m4: New file.
42194         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42195         compilation units.
42196         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42197         HAVE_WCSNRTOMBS.
42198         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42199         HAVE_WCSNRTOMBS.
42200         * modules/wcsnrtombs: New file.
42201         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42202         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42203
42204 2008-12-21  Bruno Haible  <bruno@clisp.org>
42205
42206         * modules/wcsrtombs-tests: New file.
42207         * tests/test-wcsrtombs1.sh: New file.
42208         * tests/test-wcsrtombs2.sh: New file.
42209         * tests/test-wcsrtombs3.sh: New file.
42210         * tests/test-wcsrtombs4.sh: New file.
42211         * tests/test-wcsrtombs.c: New file.
42212
42213         New module 'wcsrtombs'.
42214         * lib/wchar.in.h (wcsrtombs): New declaration.
42215         * lib/wcsrtombs.c: New file.
42216         * m4/wcsrtombs.m4: New file.
42217         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42218         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42219         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42220         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42221         * modules/wcsrtombs: New file.
42222         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42223         bugs.
42224
42225 2008-12-21  Bruno Haible  <bruno@clisp.org>
42226
42227         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42228         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42229         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42230         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42231         if not correct.
42232         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42233         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42234         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42235         m4/locale-zh.m4, m4/codeset.m4.
42236         * doc/posix-functions/wcrtomb.texi: Document the bug.
42237
42238 2008-12-21  Bruno Haible  <bruno@clisp.org>
42239
42240         Work around a btowc() bug on IRIX 6.5.
42241         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42242         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42243         REPLACE_WTOBC if not.
42244         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42245         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42246         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42247
42248 2008-12-21  Bruno Haible  <bruno@clisp.org>
42249
42250         * modules/wcrtomb-tests: New file.
42251         * tests/test-wcrtomb.sh: New file.
42252         * tests/test-wcrtomb.c: New file.
42253
42254         New module 'wcrtomb'.
42255         * lib/wchar.in.h (wcrtomb): New declaration.
42256         * lib/wcrtomb.c: New file.
42257         * m4/wcrtomb.m4: New file.
42258         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42259         HAVE_WCRTOMB.
42260         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42261         HAVE_WCRTOMB.
42262         * modules/wcrtomb: New file.
42263         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42264
42265 2008-12-21  Bruno Haible  <bruno@clisp.org>
42266
42267         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42268         * modules/mbsrtowcs (Files): Likewise.
42269         * modules/wctob (Files): Likewise.
42270         * modules/c-strcase-tests (Files): Likewise.
42271         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42272         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42273         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42274         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42275         * modules/vasnprintf-posix-tests (Files): Likewise.
42276
42277 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42278
42279         gitlog-to-changelog: pass all command-line arguments to git-log
42280         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42281         it is sometimes convenient to filter the commits in various ways.
42282         gitlog-to-changelog only allows --since to specify a start date,
42283         but git-log itself supports many other filtering mechanisms.
42284         At the moment, I want to filter by branch name.  Rather than
42285         adding a --branch option to gitlog-to-changelog, it seems more
42286         flexible to simply pass all options directly to git-log and let
42287         git do the work.  Notice that this effectively makes --since a
42288         redundant option for gitlog-to-changelog, but removing it would
42289         require current usage to change since calls would then require
42290         an additional '--'.
42291
42292 2008-12-21  Bruno Haible  <bruno@clisp.org>
42293
42294         * modules/mbsnrtowcs-tests: New file.
42295         * tests/test-mbsnrtowcs1.sh: New file.
42296         * tests/test-mbsnrtowcs2.sh: New file.
42297         * tests/test-mbsnrtowcs3.sh: New file.
42298         * tests/test-mbsnrtowcs4.sh: New file.
42299         * tests/test-mbsnrtowcs.c: New file.
42300
42301         New module 'mbsnrtowcs'.
42302         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42303         * lib/mbsnrtowcs.c: New file.
42304         * lib/mbsrtowcs-state.c: New file.
42305         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42306         (internal_state): Remove variable.
42307         * m4/mbsnrtowcs.m4: New file.
42308         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42309         compilation units.
42310         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42311         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42312         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42313         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42314         * modules/mbsnrtowcs: New file.
42315         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42316         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42317         portability problem.
42318
42319 2008-12-21  Bruno Haible  <bruno@clisp.org>
42320
42321         Work around mbsrtowcs bug.
42322         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42323         (gl_FUNC_MBSRTOWCS): Invoke it.
42324         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42325         m4/locale-zh.m4.
42326         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42327
42328 2008-12-21  Bruno Haible  <bruno@clisp.org>
42329
42330         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42331
42332 2008-12-21  Bruno Haible  <bruno@clisp.org>
42333
42334         Update doc for AIX.
42335         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42336         16-bit wchar_t type.
42337         * doc/posix-functions/btowc.texi: Likewise.
42338         * doc/posix-functions/fgetwc.texi: Likewise.
42339         * doc/posix-functions/fgetws.texi: Likewise.
42340         * doc/posix-functions/fputwc.texi: Likewise.
42341         * doc/posix-functions/fputws.texi: Likewise.
42342         * doc/posix-functions/fwide.texi: Likewise.
42343         * doc/posix-functions/fwprintf.texi: Likewise.
42344         * doc/posix-functions/fwscanf.texi: Likewise.
42345         * doc/posix-functions/getwchar.texi: Likewise.
42346         * doc/posix-functions/getwc.texi: Likewise.
42347         * doc/posix-functions/iswalnum.texi: Likewise.
42348         * doc/posix-functions/iswalpha.texi: Likewise.
42349         * doc/posix-functions/iswblank.texi: Likewise.
42350         * doc/posix-functions/iswcntrl.texi: Likewise.
42351         * doc/posix-functions/iswctype.texi: Likewise.
42352         * doc/posix-functions/iswdigit.texi: Likewise.
42353         * doc/posix-functions/iswgraph.texi: Likewise.
42354         * doc/posix-functions/iswlower.texi: Likewise.
42355         * doc/posix-functions/iswprint.texi: Likewise.
42356         * doc/posix-functions/iswpunct.texi: Likewise.
42357         * doc/posix-functions/iswspace.texi: Likewise.
42358         * doc/posix-functions/iswupper.texi: Likewise.
42359         * doc/posix-functions/iswxdigit.texi: Likewise.
42360         * doc/posix-functions/mbrtowc.texi: Likewise.
42361         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42362         * doc/posix-functions/mbstowcs.texi: Likewise.
42363         * doc/posix-functions/mbtowc.texi: Likewise.
42364         * doc/posix-functions/putwchar.texi: Likewise.
42365         * doc/posix-functions/putwc.texi: Likewise.
42366         * doc/posix-functions/swprintf.texi: Likewise.
42367         * doc/posix-functions/tolower.texi: Likewise.
42368         * doc/posix-functions/toupper.texi: Likewise.
42369         * doc/posix-functions/towctrans.texi: Likewise.
42370         * doc/posix-functions/ungetwc.texi: Likewise.
42371         * doc/posix-functions/vswprintf.texi: Likewise.
42372         * doc/posix-functions/wcrtomb.texi: Likewise.
42373         * doc/posix-functions/wcscat.texi: Likewise.
42374         * doc/posix-functions/wcschr.texi: Likewise.
42375         * doc/posix-functions/wcscmp.texi: Likewise.
42376         * doc/posix-functions/wcscoll.texi: Likewise.
42377         * doc/posix-functions/wcscpy.texi: Likewise.
42378         * doc/posix-functions/wcscspn.texi: Likewise.
42379         * doc/posix-functions/wcsftime.texi: Likewise.
42380         * doc/posix-functions/wcslen.texi: Likewise.
42381         * doc/posix-functions/wcsncat.texi: Likewise.
42382         * doc/posix-functions/wcsncmp.texi: Likewise.
42383         * doc/posix-functions/wcsncpy.texi: Likewise.
42384         * doc/posix-functions/wcspbrk.texi: Likewise.
42385         * doc/posix-functions/wcsrchr.texi: Likewise.
42386         * doc/posix-functions/wcsrtombs.texi: Likewise.
42387         * doc/posix-functions/wcsspn.texi: Likewise.
42388         * doc/posix-functions/wcsstr.texi: Likewise.
42389         * doc/posix-functions/wcstod.texi: Likewise.
42390         * doc/posix-functions/wcstof.texi: Likewise.
42391         * doc/posix-functions/wcstoimax.texi: Likewise.
42392         * doc/posix-functions/wcstok.texi: Likewise.
42393         * doc/posix-functions/wcstold.texi: Likewise.
42394         * doc/posix-functions/wcstoll.texi: Likewise.
42395         * doc/posix-functions/wcstol.texi: Likewise.
42396         * doc/posix-functions/wcstombs.texi: Likewise.
42397         * doc/posix-functions/wcstoull.texi: Likewise.
42398         * doc/posix-functions/wcstoul.texi: Likewise.
42399         * doc/posix-functions/wcstoumax.texi: Likewise.
42400         * doc/posix-functions/wcswidth.texi: Likewise.
42401         * doc/posix-functions/wcsxfrm.texi: Likewise.
42402         * doc/posix-functions/wctob.texi: Likewise.
42403         * doc/posix-functions/wctomb.texi: Likewise.
42404         * doc/posix-functions/wctrans.texi: Likewise.
42405         * doc/posix-functions/wctype.texi: Likewise.
42406         * doc/posix-functions/wcwidth.texi: Likewise.
42407         * doc/posix-functions/wmemchr.texi: Likewise.
42408         * doc/posix-functions/wmemcmp.texi: Likewise.
42409         * doc/posix-functions/wmemcpy.texi: Likewise.
42410         * doc/posix-functions/wmemmove.texi: Likewise.
42411         * doc/posix-functions/wmemset.texi: Likewise.
42412         * doc/posix-functions/wprintf.texi: Likewise.
42413         * doc/posix-functions/wscanf.texi: Likewise.
42414
42415 2008-12-21  Bruno Haible  <bruno@clisp.org>
42416
42417         Update doc for HP-UX 11.11.
42418         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42419         in HP-UX version 11.00, not in all versions of HP-UX 11.
42420         * doc/posix-functions/fwide.texi: Likewise.
42421         * doc/posix-functions/fwprintf.texi: Likewise.
42422         * doc/posix-functions/fwscanf.texi: Likewise.
42423         * doc/posix-functions/inet_ntop.texi: Likewise.
42424         * doc/posix-functions/inet_pton.texi: Likewise.
42425         * doc/posix-functions/mbrlen.texi: Likewise.
42426         * doc/posix-functions/mbrtowc.texi: Likewise.
42427         * doc/posix-functions/mbsinit.texi: Likewise.
42428         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42429         * doc/posix-functions/swprintf.texi: Likewise.
42430         * doc/posix-functions/swscanf.texi: Likewise.
42431         * doc/posix-functions/towctrans.texi: Likewise.
42432         * doc/posix-functions/vfwprintf.texi: Likewise.
42433         * doc/posix-functions/vswprintf.texi: Likewise.
42434         * doc/posix-functions/vwprintf.texi: Likewise.
42435         * doc/posix-functions/wcrtomb.texi: Likewise.
42436         * doc/posix-functions/wcsrtombs.texi: Likewise.
42437         * doc/posix-functions/wcsstr.texi: Likewise.
42438         * doc/posix-functions/wctob.texi: Likewise.
42439         * doc/posix-functions/wctrans.texi: Likewise.
42440         * doc/posix-functions/wmemchr.texi: Likewise.
42441         * doc/posix-functions/wmemcmp.texi: Likewise.
42442         * doc/posix-functions/wmemcpy.texi: Likewise.
42443         * doc/posix-functions/wmemmove.texi: Likewise.
42444         * doc/posix-functions/wmemset.texi: Likewise.
42445         * doc/posix-functions/wprintf.texi: Likewise.
42446         * doc/posix-functions/wscanf.texi: Likewise.
42447
42448 2008-12-21  Bruno Haible  <bruno@clisp.org>
42449
42450         Work around a portability problem.
42451         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42452         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42453
42454 2008-12-20  Bruno Haible  <bruno@clisp.org>
42455
42456         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42457         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42458         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42459         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42460         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42461
42462         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42463         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42464         set.
42465         (GNULIB_defined_mbstate_t): New macro.
42466         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42467         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42468         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
42469         reuses the system's mbrtowc function but works around the bugs.
42470         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
42471         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
42472         macros.
42473         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
42474         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
42475         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
42476         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
42477         REPLACE_MBSINIT if mbsinit needs to be overridden.
42478         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
42479         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42480         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
42481         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42482         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42483         m4/locale-zh.m4.
42484         (Depends): Add mbsinit.
42485         * modules/mbsinit (Depends): Add mbrtowc.
42486         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
42487
42488 2008-12-20  Bruno Haible  <bruno@clisp.org>
42489
42490         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
42491         so that there are no conversion errors on AIX.
42492         * tests/test-mbsrtowcs.c (main): LIkewise.
42493
42494 2008-12-20  Bruno Haible  <bruno@clisp.org>
42495
42496         Work around wctob bug on Solaris <= 9.
42497         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
42498         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
42499         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
42500         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
42501         * modules/wctob (Files): Add m4/locale-fr.m4.
42502         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
42503
42504 2008-12-20  Bruno Haible  <bruno@clisp.org>
42505
42506         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
42507         /dev/null.
42508         * tests/test-select-in.sh: Likewise.
42509         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42510
42511 2008-12-20  Bruno Haible  <bruno@clisp.org>
42512
42513         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
42514         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
42515         Cygwin 1.5.x.
42516
42517 2008-12-20  Bruno Haible  <bruno@clisp.org>
42518
42519         Ensure mbstate_t is defined on HP-UX 11.11.
42520         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
42521         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
42522         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
42523         AC_USE_SYSTEM_EXTENSIONS.
42524         * modules/fnmatch (Depends-on): Add extensions.
42525         * modules/mbrlen (Depends-on): Likewise.
42526         * modules/mbrtowc (Depends-on): Likewise.
42527         * modules/mbsinit (Depends-on): Likewise.
42528         * modules/mbsrtowcs (Depends-on): Likewise.
42529         * modules/mbswidth (Depends-on): Likewise.
42530         * modules/quotearg (Depends-on): Likewise.
42531         * modules/strftime (Depends-on): Likewise.
42532
42533 2008-12-20  Bruno Haible  <bruno@clisp.org>
42534
42535         Ensure wctob is declared on IRIX 6.5.
42536         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
42537         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
42538         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
42539         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
42540         of HAVE_WCTOB.
42541         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
42542         HAVE_WCTOB.
42543         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
42544
42545 2008-12-19  Bruno Haible  <bruno@clisp.org>
42546
42547         * modules/mbsrtowcs-tests: New file.
42548         * tests/test-mbsrtowcs1.sh: New file.
42549         * tests/test-mbsrtowcs2.sh: New file.
42550         * tests/test-mbsrtowcs3.sh: New file.
42551         * tests/test-mbsrtowcs4.sh: New file.
42552         * tests/test-mbsrtowcs.c: New file.
42553
42554         New module 'mbsrtowcs'.
42555         * lib/wchar.in.h (mbsrtowcs): New declaration.
42556         * lib/mbsrtowcs.c: New file.
42557         * m4/mbsrtowcs.m4: New file.
42558         * modules/mbsrtowcs: New file.
42559         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
42560         HAVE_MBSRTOWCS.
42561         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
42562         HAVE_MBSRTOWCS.
42563         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
42564
42565 2008-12-19  Bruno Haible  <bruno@clisp.org>
42566
42567         New module 'mbrlen'.
42568         * lib/wchar.in.h (mbrlen): New declaration.
42569         * lib/mbrlen.c: New file.
42570         * m4/mbrlen.m4: New file.
42571         * modules/mbrlen: New file.
42572         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
42573         HAVE_MBRLEN.
42574         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
42575         HAVE_MBRLEN.
42576         * doc/posix-functions/mbrlen.texi: Document the new module.
42577
42578 2008-12-19  Bruno Haible  <bruno@clisp.org>
42579
42580         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
42581         * modules/mbrtowc (Depends-on): Add verify.
42582         Suggested by Paul Eggert.
42583
42584 2008-12-18  Bruno Haible  <bruno@clisp.org>
42585
42586         * modules/mbsinit-tests: New file.
42587         * tests/test-mbsinit.sh: New file.
42588         * tests/test-mbsinit.c: New file.
42589
42590 2008-12-18  Bruno Haible  <bruno@clisp.org>
42591
42592         * modules/mbrtowc-tests: New file.
42593         * tests/test-mbrtowc1.sh: New file.
42594         * tests/test-mbrtowc2.sh: New file.
42595         * tests/test-mbrtowc3.sh: New file.
42596         * tests/test-mbrtowc4.sh: New file.
42597         * tests/test-mbrtowc.c: New file.
42598
42599         New module 'mbrtowc'.
42600         * lib/wchar.in.h (mbstate_t): Override when the system does not have
42601         mbsinit and mbrtowc.
42602         (mbrtowc): New declaration.
42603         * lib/mbrtowc.c: New file.
42604         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
42605         * modules/mbrtowc: New file.
42606         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
42607         HAVE_MBRTOWC.
42608         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
42609         HAVE_MBRTOWC.
42610         * doc/posix-functions/mbrtowc.texi: Document the new module.
42611
42612 2008-12-18  Bruno Haible  <bruno@clisp.org>
42613
42614         New module 'wctob'.
42615         * lib/wchar.in.h (wctob): New declaration.
42616         * lib/wctob.c: New file.
42617         * m4/wctob.m4: New file.
42618         * modules/wctob: New file.
42619         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
42620         HAVE_WCTOB.
42621         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
42622         * doc/posix-functions/wctob.texi: Document the new module.
42623
42624 2008-12-18  Bruno Haible  <bruno@clisp.org>
42625
42626         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
42627         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
42628
42629 2008-12-18  Simon Josefsson  <simon@josefsson.org>
42630
42631         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
42632         G. Christensen" <tgc@jupiterrise.com>.
42633
42634         * lib/flock.c: Need to include errno.h.  Reported by "Tom
42635         G. Christensen" <tgc@jupiterrise.com>.
42636
42637         * lib/flock.c: Need to include string.h.  Reported by "Tom
42638         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
42639         <ebb9@byu.net>.
42640
42641 2008-12-18  Bruno Haible  <bruno@clisp.org>
42642
42643         * m4/locale-ja.m4: New file, from GNU gettext.
42644
42645 2008-12-17  Bruno Haible  <bruno@clisp.org>
42646
42647         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
42648         Suggested by Eric Blake.
42649
42650 2008-12-17  Bruno Haible  <bruno@clisp.org>
42651
42652         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
42653
42654 2008-12-17  Bruno Haible  <bruno@clisp.org>
42655
42656         * lib/mbsinit.c: Include verify.h. Verify an assumption.
42657         * modules/mbsinit (Depends-on): Add verify.
42658         Suggested by Paul Eggert.
42659
42660 2008-12-17  Bruno Haible  <bruno@clisp.org>
42661
42662         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
42663         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
42664         gl_FUNC_MBRTOWC.
42665         * m4/mbiter.m4 (gl_MBITER): LIkewise.
42666         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
42667         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
42668         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
42669         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
42670         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
42671         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
42672         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
42673         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
42674         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
42675         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
42676         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
42677         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
42678         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
42679         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
42680         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
42681         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
42682         * modules/trim (configure.ac): Likewise.
42683
42684 2008-12-17  Bruno Haible  <bruno@clisp.org>
42685
42686         * modules/btowc-tests: New file.
42687         * tests/test-btowc1.sh: New file.
42688         * tests/test-btowc2.sh: New file.
42689         * tests/test-btowc.c: New file.
42690
42691         New module 'btowc'.
42692         * lib/wchar.in.h (btowc): New declaration.
42693         * lib/btowc.c: New file.
42694         * m4/btowc.m4: New file.
42695         * modules/btowc: New file.
42696         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
42697         HAVE_BTOWC.
42698         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
42699         * doc/posix-functions/btowc.texi: Document the new module.
42700
42701 2008-12-17  Bruno Haible  <bruno@clisp.org>
42702
42703         New module 'mbsinit'.
42704         * lib/wchar.in.h (mbsinit): New declaration.
42705         * lib/mbsinit.c: New file.
42706         * m4/mbsinit.m4: New file.
42707         * modules/mbsinit: New file.
42708         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
42709         HAVE_MBSINIT.
42710         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
42711         HAVE_MBSINIT.
42712         * doc/posix-functions/mbsinit.texi: Document the new module.
42713
42714 2008-12-16  Bruno Haible  <bruno@clisp.org>
42715
42716         * lib/unistd.in.h: Add comment.
42717         * tests/test-environ.c: Don't include <stdlib.h>.
42718
42719 2008-12-16  Bruno Haible  <bruno@clisp.org>
42720
42721         * lib/parse-duration.h (parse_duration): Document return value
42722         convention.
42723         * lib/parse-duration.c: Include specification header first. Add
42724         comments.
42725         (_): Remove macro.
42726         (parse_year_month_day, parse_hour_minute_second): Move side effects
42727         outside of strchr call.
42728         (parse_non_iso8601): Move side effects outside of isspace call.
42729         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
42730         call.
42731
42732 2008-12-16  Bruno Haible  <bruno@clisp.org>
42733
42734         * tests/test-parse-duration.sh: Produce no output when the test
42735         succeeds.
42736
42737 2008-12-16  Bruno Haible  <bruno@clisp.org>
42738
42739         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
42740         expressions.
42741
42742 2008-12-15  Bruno Haible  <bruno@clisp.org>
42743
42744         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
42745         * doc/glibc-functions/flistxattr.texi: Likewise.
42746         * doc/glibc-functions/fopencookie.texi: Likewise.
42747         * doc/glibc-functions/fremovexattr.texi: Likewise.
42748         * doc/glibc-functions/fsetxattr.texi: Likewise.
42749         * doc/glibc-functions/getxattr.texi: Likewise.
42750         * doc/glibc-functions/lgetxattr.texi: Likewise.
42751         * doc/glibc-functions/listxattr.texi: Likewise.
42752         * doc/glibc-functions/llistxattr.texi: Likewise.
42753         * doc/glibc-functions/lremovexattr.texi: Likewise.
42754         * doc/glibc-functions/lsetxattr.texi: Likewise.
42755         * doc/glibc-functions/removexattr.texi: Likewise.
42756         * doc/glibc-functions/setxattr.texi: Likewise.
42757         * doc/posix-functions/open_memstream.texi: Likewise.
42758
42759 2008-12-15  Eric Blake  <ebb9@byu.net>
42760
42761         Update doc for cygwin 1.7.
42762         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
42763         functions.
42764         * doc/posix-functions/fchmodat.texi: Likewise.
42765         * doc/posix-functions/fchownat.texi: Likewise.
42766         * doc/posix-functions/fdopendir.texi: Likewise.
42767         * doc/posix-functions/fmemopen.texi: Likewise.
42768         * doc/posix-functions/freeaddrinfo.texi: Likewise.
42769         * doc/posix-functions/fstatat.texi: Likewise.
42770         * doc/posix-functions/futimens.texi: Likewise.
42771         * doc/posix-functions/gai_strerror.texi: Likewise.
42772         * doc/posix-functions/getaddrinfo.texi: Likewise.
42773         * doc/posix-functions/getnameinfo.texi: Likewise.
42774         * doc/posix-functions/if_freenameindex.texi: Likewise.
42775         * doc/posix-functions/if_indextoname.texi: Likewise.
42776         * doc/posix-functions/if_nameindex.texi: Likewise.
42777         * doc/posix-functions/if_nametoindex.texi: Likewise.
42778         * doc/posix-functions/insque.texi: Likewise.
42779         * doc/posix-functions/linkat.texi: Likewise.
42780         * doc/posix-functions/llrint.texi: Likewise.
42781         * doc/posix-functions/llrintf.texi: Likewise.
42782         * doc/posix-functions/llrintl.texi: Likewise.
42783         * doc/posix-functions/lockf.texi: Likewise.
42784         * doc/posix-functions/lrintl.texi: Likewise.
42785         * doc/posix-functions/mkdirat.texi: Likewise.
42786         * doc/posix-functions/mkfifoat.texi: Likewise.
42787         * doc/posix-functions/mknodat.texi: Likewise.
42788         * doc/posix-functions/mq_close.texi: Likewise.
42789         * doc/posix-functions/mq_getattr.texi: Likewise.
42790         * doc/posix-functions/mq_notify.texi: Likewise.
42791         * doc/posix-functions/mq_open.texi: Likewise.
42792         * doc/posix-functions/mq_receive.texi: Likewise.
42793         * doc/posix-functions/mq_send.texi: Likewise.
42794         * doc/posix-functions/mq_setattr.texi: Likewise.
42795         * doc/posix-functions/mq_timedreceive.texi: Likewise.
42796         * doc/posix-functions/mq_timedsend.texi: Likewise.
42797         * doc/posix-functions/mq_unlink.texi: Likewise.
42798         * doc/posix-functions/open_memstream.texi: Likewise.
42799         * doc/posix-functions/openat.texi: Likewise.
42800         * doc/posix-functions/posix_fadvise.texi: Likewise.
42801         * doc/posix-functions/posix_fallocate.texi: Likewise.
42802         * doc/posix-functions/posix_madvise.texi: Likewise.
42803         * doc/posix-functions/posix_memalign.texi: Likewise.
42804         * doc/posix-functions/posix_openpt.texi: Likewise.
42805         * doc/posix-functions/readlinkat.texi: Likewise.
42806         * doc/posix-functions/remque.texi: Likewise.
42807         * doc/posix-functions/renameat.texi: Likewise.
42808         * doc/posix-functions/rintl.texi: Likewise.
42809         * doc/posix-functions/sem_unlink.texi: Likewise.
42810         * doc/posix-functions/shm_open.texi: Likewise.
42811         * doc/posix-functions/shm_unlink.texi: Likewise.
42812         * doc/posix-functions/signgam.texi: Likewise.
42813         * doc/posix-functions/sigset.texi: Likewise.
42814         * doc/posix-functions/stpcpy.texi: Likewise.
42815         * doc/posix-functions/stpncpy.texi: Likewise.
42816         * doc/posix-functions/strerror.texi: Likewise.
42817         * doc/posix-functions/strtod.texi: Likewise.
42818         * doc/posix-functions/symlinkat.texi: Likewise.
42819         * doc/posix-functions/unlinkat.texi: Likewise.
42820         * doc/posix-functions/utimensat.texi: Likewise.
42821         * doc/glibc-functions/bindresvport.texi: Likewise.
42822         * doc/glibc-functions/dn_expand.texi: Likewise.
42823         * doc/glibc-functions/exp10.texi: Likewise.
42824         * doc/glibc-functions/exp10f.texi: Likewise.
42825         * doc/glibc-functions/fgetxattr.texi: Likewise.
42826         * doc/glibc-functions/flistxattr.texi: Likewise.
42827         * doc/glibc-functions/fopencookie.texi: Likewise.
42828         * doc/glibc-functions/freeifaddrs.texi: Likewise.
42829         * doc/glibc-functions/fremovexattr.texi: Likewise.
42830         * doc/glibc-functions/fsetxattr.texi: Likewise.
42831         * doc/glibc-functions/getifaddrs.texi: Likewise.
42832         * doc/glibc-functions/getxattr.texi: Likewise.
42833         * doc/glibc-functions/lgetxattr.texi: Likewise.
42834         * doc/glibc-functions/listxattr.texi: Likewise.
42835         * doc/glibc-functions/llistxattr.texi: Likewise.
42836         * doc/glibc-functions/lremovexattr.texi: Likewise.
42837         * doc/glibc-functions/lsetxattr.texi: Likewise.
42838         * doc/glibc-functions/pow10.texi: Likewise.
42839         * doc/glibc-functions/pow10f.texi: Likewise.
42840         * doc/glibc-functions/rcmd_af.texi: Likewise.
42841         * doc/glibc-functions/removexattr.texi: Likewise.
42842         * doc/glibc-functions/res_init.texi: Likewise.
42843         * doc/glibc-functions/res_mkquery.texi: Likewise.
42844         * doc/glibc-functions/res_query.texi: Likewise.
42845         * doc/glibc-functions/res_querydomain.texi: Likewise.
42846         * doc/glibc-functions/res_send.texi: Likewise.
42847         * doc/glibc-functions/rresvport_af.texi: Likewise.
42848         * doc/glibc-functions/setxattr.texi: Likewise.
42849         * doc/glibc-functions/strcasestr.texi: Likewise.
42850
42851 2008-12-15  Bruno Haible  <bruno@clisp.org>
42852
42853         Fix compilation error on OSF/1 4.0.
42854         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
42855         <sys/time.h>, simply delegate to the system header.
42856         Reported by Daniel Richard G. <oss@teragram.com>.
42857
42858 2008-12-15  Bruno Haible  <bruno@clisp.org>
42859
42860         * doc/posix-functions/openat.texi: Mention the 'openat' module.
42861         * doc/posix-functions/fchmodat.texi: Likewise.
42862         * doc/posix-functions/fchownat.texi: Likewise.
42863         * doc/posix-functions/fdopendir.texi: Likewise.
42864         * doc/posix-functions/fstatat.texi: Likewise.
42865         * doc/posix-functions/mkdirat.texi: Likewise.
42866         * doc/posix-functions/unlinkat.texi: Likewise.
42867
42868 2008-12-14  Bruno Haible  <bruno@clisp.org>
42869
42870         Update doc for POSIX:2008.
42871         * doc/posix-functions/faccessat.texi: New file.
42872         * doc/posix-functions/fchmodat.texi: New file.
42873         * doc/posix-functions/fchownat.texi: New file.
42874         * doc/posix-functions/fdopendir.texi: New file.
42875         * doc/posix-functions/fstatat.texi: New file.
42876         * doc/posix-functions/futimens.texi: New file.
42877         * doc/posix-functions/linkat.texi: New file.
42878         * doc/posix-functions/mkdirat.texi: New file.
42879         * doc/posix-functions/mkfifoat.texi: New file.
42880         * doc/posix-functions/mknodat.texi: New file.
42881         * doc/posix-functions/open_wmemstream.texi: New file.
42882         * doc/posix-functions/openat.texi: New file.
42883         * doc/posix-functions/psiginfo.texi: New file.
42884         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
42885         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
42886         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
42887         * doc/posix-functions/readlinkat.texi: New file.
42888         * doc/posix-functions/renameat.texi: New file.
42889         * doc/posix-functions/strerror_l.texi: New file.
42890         * doc/posix-functions/symlinkat.texi: New file.
42891         * doc/posix-functions/unlinkat.texi: New file.
42892         * doc/posix-functions/utimensat.texi: New file.
42893         * doc/gnulib.texi (Function Substitutes): Add these subsections.
42894
42895 2008-12-14  Bruno Haible  <bruno@clisp.org>
42896
42897         Update doc for POSIX:2008.
42898         * doc/posix-functions/alphasort.texi: Renamed from
42899         doc/glibc-functions/alphasort.texi.
42900         * doc/posix-functions/dirfd.texi: Renamed from
42901         doc/glibc-functions/dirfd.texi.
42902         * doc/posix-functions/dprintf.texi: Renamed from
42903         doc/glibc-functions/dprintf.texi.
42904         * doc/posix-functions/duplocale.texi: Renamed from
42905         doc/glibc-functions/duplocale.texi.
42906         * doc/posix-functions/fexecve.texi: Renamed from
42907         doc/glibc-functions/fexecve.texi.
42908         * doc/posix-functions/fmemopen.texi: Renamed from
42909         doc/glibc-functions/fmemopen.texi.
42910         * doc/posix-functions/freelocale.texi: Renamed from
42911         doc/glibc-functions/freelocale.texi.
42912         * doc/posix-functions/getdate_err.texi: Renamed from
42913         doc/glibc-functions/getdate_err.texi.
42914         * doc/posix-functions/isalnum_l.texi: Renamed from
42915         doc/glibc-functions/isalnum_l.texi.
42916         * doc/posix-functions/isalpha_l.texi: Renamed from
42917         doc/glibc-functions/isalpha_l.texi.
42918         * doc/posix-functions/isblank_l.texi: Renamed from
42919         doc/glibc-functions/isblank_l.texi.
42920         * doc/posix-functions/iscntrl_l.texi: Renamed from
42921         doc/glibc-functions/iscntrl_l.texi.
42922         * doc/posix-functions/isdigit_l.texi: Renamed from
42923         doc/glibc-functions/isdigit_l.texi.
42924         * doc/posix-functions/isgraph_l.texi: Renamed from
42925         doc/glibc-functions/isgraph_l.texi.
42926         * doc/posix-functions/islower_l.texi: Renamed from
42927         doc/glibc-functions/islower_l.texi.
42928         * doc/posix-functions/isprint_l.texi: Renamed from
42929         doc/glibc-functions/isprint_l.texi.
42930         * doc/posix-functions/ispunct_l.texi: Renamed from
42931         doc/glibc-functions/ispunct_l.texi.
42932         * doc/posix-functions/isspace_l.texi: Renamed from
42933         doc/glibc-functions/isspace_l.texi.
42934         * doc/posix-functions/isupper_l.texi: Renamed from
42935         doc/glibc-functions/isupper_l.texi.
42936         * doc/posix-functions/iswalnum_l.texi: Renamed from
42937         doc/glibc-functions/iswalnum_l.texi.
42938         * doc/posix-functions/iswalpha_l.texi: Renamed from
42939         doc/glibc-functions/iswalpha_l.texi.
42940         * doc/posix-functions/iswblank_l.texi: Renamed from
42941         doc/glibc-functions/iswblank_l.texi.
42942         * doc/posix-functions/iswcntrl_l.texi: Renamed from
42943         doc/glibc-functions/iswcntrl_l.texi.
42944         * doc/posix-functions/iswctype_l.texi: Renamed from
42945         doc/glibc-functions/iswctype_l.texi.
42946         * doc/posix-functions/iswdigit_l.texi: Renamed from
42947         doc/glibc-functions/iswdigit_l.texi.
42948         * doc/posix-functions/iswgraph_l.texi: Renamed from
42949         doc/glibc-functions/iswgraph_l.texi.
42950         * doc/posix-functions/iswlower_l.texi: Renamed from
42951         doc/glibc-functions/iswlower_l.texi.
42952         * doc/posix-functions/iswprint_l.texi: Renamed from
42953         doc/glibc-functions/iswprint_l.texi.
42954         * doc/posix-functions/iswpunct_l.texi: Renamed from
42955         doc/glibc-functions/iswpunct_l.texi.
42956         * doc/posix-functions/iswspace_l.texi: Renamed from
42957         doc/glibc-functions/iswspace_l.texi.
42958         * doc/posix-functions/iswupper_l.texi: Renamed from
42959         doc/glibc-functions/iswupper_l.texi.
42960         * doc/posix-functions/iswxdigit_l.texi: Renamed from
42961         doc/glibc-functions/iswxdigit_l.texi.
42962         * doc/posix-functions/isxdigit_l.texi: Renamed from
42963         doc/glibc-functions/isxdigit_l.texi.
42964         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
42965         doc/glibc-functions/mbsnrtowcs.texi.
42966         * doc/posix-functions/mkdtemp.texi: Renamed from
42967         doc/glibc-functions/mkdtemp.texi.
42968         * doc/posix-functions/newlocale.texi: Renamed from
42969         doc/glibc-functions/newlocale.texi.
42970         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
42971         doc/glibc-functions/nl_langinfo_l.texi.
42972         * doc/posix-functions/open_memstream.texi: Renamed from
42973         doc/glibc-functions/open_memstream.texi.
42974         * doc/posix-functions/opterr.texi: Renamed from
42975         doc/glibc-functions/opterr.texi.
42976         * doc/posix-functions/optind.texi: Renamed from
42977         doc/glibc-functions/optind.texi.
42978         * doc/posix-functions/optopt.texi: Renamed from
42979         doc/glibc-functions/optopt.texi.
42980         * doc/posix-functions/psignal.texi: Renamed from
42981         doc/glibc-functions/psignal.texi.
42982         * doc/posix-functions/scandir.texi: Renamed from
42983         doc/glibc-functions/scandir.texi.
42984         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
42985         doc/glibc-functions/sched_get_priority_min.texi.
42986         * doc/posix-functions/signgam.texi: Renamed from
42987         doc/glibc-functions/signgam.texi.
42988         * doc/posix-functions/stpcpy.texi: Renamed from
42989         doc/glibc-functions/stpcpy.texi.
42990         * doc/posix-functions/stpncpy.texi: Renamed from
42991         doc/glibc-functions/stpncpy.texi.
42992         * doc/posix-functions/strcasecmp_l.texi: Renamed from
42993         doc/glibc-functions/strcasecmp_l.texi.
42994         * doc/posix-functions/strcoll_l.texi: Renamed from
42995         doc/glibc-functions/strcoll_l.texi.
42996         * doc/posix-functions/strfmon_l.texi: Renamed from
42997         doc/glibc-functions/strfmon_l.texi.
42998         * doc/posix-functions/strftime_l.texi: Renamed from
42999         doc/glibc-functions/strftime_l.texi.
43000         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43001         doc/glibc-functions/strncasecmp_l.texi.
43002         * doc/posix-functions/strndup.texi: Renamed from
43003         doc/glibc-functions/strndup.texi.
43004         * doc/posix-functions/strnlen.texi: Renamed from
43005         doc/glibc-functions/strnlen.texi.
43006         * doc/posix-functions/strsignal.texi: Renamed from
43007         doc/glibc-functions/strsignal.texi.
43008         * doc/posix-functions/strxfrm_l.texi: Renamed from
43009         doc/glibc-functions/strxfrm_l.texi.
43010         * doc/posix-functions/timer_gettime.texi: Renamed from
43011         doc/glibc-functions/timer_gettime.texi.
43012         * doc/posix-functions/tolower_l.texi: Renamed from
43013         doc/glibc-functions/tolower_l.texi.
43014         * doc/posix-functions/toupper_l.texi: Renamed from
43015         doc/glibc-functions/toupper_l.texi.
43016         * doc/posix-functions/towctrans_l.texi: Renamed from
43017         doc/glibc-functions/towctrans_l.texi.
43018         * doc/posix-functions/towlower_l.texi: Renamed from
43019         doc/glibc-functions/towlower_l.texi.
43020         * doc/posix-functions/towupper_l.texi: Renamed from
43021         doc/glibc-functions/towupper_l.texi.
43022         * doc/posix-functions/uselocale.texi: Renamed from
43023         doc/glibc-functions/uselocale.texi.
43024         * doc/posix-functions/vdprintf.texi: Renamed from
43025         doc/glibc-functions/vdprintf.texi.
43026         * doc/posix-functions/wcpcpy.texi:
43027         Renamed from doc/glibc-functions/wcpcpy.texi.
43028         * doc/posix-functions/wcpncpy.texi: Renamed from
43029         doc/glibc-functions/wcpncpy.texi.
43030         * doc/posix-functions/wcscasecmp.texi: Renamed from
43031         doc/glibc-functions/wcscasecmp.texi.
43032         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43033         doc/glibc-functions/wcscasecmp_l.texi.
43034         * doc/posix-functions/wcscoll_l.texi: Renamed from
43035         doc/glibc-functions/wcscoll_l.texi.
43036         * doc/posix-functions/wcsdup.texi: Renamed from
43037         doc/glibc-functions/wcsdup.texi.
43038         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43039         doc/glibc-functions/wcsncasecmp.texi.
43040         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43041         doc/glibc-functions/wcsncasecmp_l.texi.
43042         * doc/posix-functions/wcsnlen.texi: Renamed from
43043         doc/glibc-functions/wcsnlen.texi.
43044         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43045         doc/glibc-functions/wcsnrtombs.texi.
43046         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43047         doc/glibc-functions/wcsxfrm_l.texi.
43048         * doc/posix-functions/wctrans_l.texi: Renamed from
43049         doc/glibc-functions/wctrans_l.texi.
43050         * doc/posix-functions/wctype_l.texi: Renamed from
43051         doc/glibc-functions/wctype_l.texi.
43052         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43053         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43054         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43055         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43056         these subsections.
43057         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43058         Remove sections.
43059
43060 2008-12-14  Bruno Haible  <bruno@clisp.org>
43061
43062         Update doc for POSIX:2008.
43063         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43064
43065 2008-12-14  Bruno Haible  <bruno@clisp.org>
43066
43067         Update doc for POSIX:2008.
43068         * doc/pastposix-functions/bcmp.texi: Renamed from
43069         doc/posix-functions/bcmp.texi.
43070         * doc/pastposix-functions/bcopy.texi: Renamed from
43071         doc/posix-functions/bcopy.texi.
43072         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43073         doc/posix-functions/bsd_signal.texi.
43074         * doc/pastposix-functions/bzero.texi: Renamed from
43075         doc/posix-functions/bzero.texi.
43076         * doc/pastposix-functions/ecvt.texi: Renamed from
43077         doc/posix-functions/ecvt.texi.
43078         * doc/pastposix-functions/fcvt.texi: Renamed from
43079         doc/posix-functions/fcvt.texi.
43080         * doc/pastposix-functions/ftime.texi: Renamed from
43081         doc/posix-functions/ftime.texi.
43082         * doc/pastposix-functions/gcvt.texi: Renamed from
43083         doc/posix-functions/gcvt.texi.
43084         * doc/pastposix-functions/getcontext.texi: Renamed from
43085         doc/posix-functions/getcontext.texi.
43086         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43087         doc/posix-functions/gethostbyaddr.texi.
43088         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43089         doc/posix-functions/gethostbyname.texi.
43090         * doc/pastposix-functions/getwd.texi: Renamed from
43091         doc/posix-functions/getwd.texi.
43092         * doc/pastposix-functions/h_errno.texi: Renamed from
43093         doc/posix-functions/h_errno.texi.
43094         * doc/pastposix-functions/index.texi: Renamed from
43095         doc/posix-functions/index.texi.
43096         * doc/pastposix-functions/makecontext.texi: Renamed from
43097         doc/posix-functions/makecontext.texi.
43098         * doc/pastposix-functions/mktemp.texi: Renamed from
43099         doc/posix-functions/mktemp.texi.
43100         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43101         doc/posix-functions/pthread_attr_getstackaddr.texi.
43102         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43103         doc/posix-functions/pthread_attr_setstackaddr.texi.
43104         * doc/pastposix-functions/rindex.texi: Renamed from
43105         doc/posix-functions/rindex.texi.
43106         * doc/pastposix-functions/scalb.texi: Renamed from
43107         doc/posix-functions/scalb.texi.
43108         * doc/pastposix-functions/setcontext.texi: Renamed from
43109         doc/posix-functions/setcontext.texi.
43110         * doc/pastposix-functions/swapcontext.texi: Renamed from
43111         doc/posix-functions/swapcontext.texi.
43112         * doc/pastposix-functions/ualarm.texi: Renamed from
43113         doc/posix-functions/ualarm.texi.
43114         * doc/pastposix-functions/usleep.texi: Renamed from
43115         doc/posix-functions/usleep.texi.
43116         * doc/pastposix-functions/vfork.texi: Renamed from
43117         doc/posix-functions/vfork.texi.
43118         * doc/pastposix-functions/wcswcs.texi: Renamed from
43119         doc/posix-functions/wcswcs.texi.
43120         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43121         (Function Substitutes): Update.
43122
43123 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43124
43125         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43126         m4/strerror.m4.
43127
43128 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43129             Bruno Haible  <bruno@clisp.org>
43130
43131         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43132
43133 2008-12-13  Bruno Haible  <bruno@clisp.org>
43134
43135         * modules/strtoull (Depends-on): Remove unistd.
43136
43137 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43138
43139         * modules/strtoull (Depends-on): Add stdlib.
43140
43141 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43142
43143         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43144
43145 2008-12-10  Jim Meyering  <meyering@redhat.com>
43146
43147         gl_ASSERT: don't say assertions are disabled when they're not
43148         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43149         "checking whether to enable assertions... no", when they are in
43150         fact enabled.  This is solely a bug in the output of configure.
43151         In spite of saying "no", NDEBUG was not defined in that case.
43152         Also, as noted by Eric Blake, leave assertions enabled upon
43153         --enable-assert=INVALID.
43154
43155 2008-12-10  Bruno Haible  <bruno@clisp.org>
43156
43157         Change MODULES.html to refer to POSIX:2008 where possible.
43158         * MODULES.html.sh (POSIX2008_URL): New variable.
43159         (posix_headers): Remove sys/timeb, ucontext.
43160         (posix2001_headers): New variable.
43161         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43162         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43163         index, makecontext, mktemp, pthread_attr_getstackaddr,
43164         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43165         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43166         (posix2001_functions): New variable.
43167         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43168         otherwise.
43169
43170 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43171
43172         add missing include to parse-duration.c
43173         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43174         * modules/parse-duration (Depends-on): Add xalloc.
43175
43176         fix sed script reading maint.mk
43177         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43178         (syntax-check-rules): Use it.
43179
43180 2008-12-09  Bruno Haible  <bruno@clisp.org>
43181
43182         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43183         MacOS X 10.4/PowerPC.
43184         Reported by Simon Josefsson.
43185
43186 2008-12-08  Jim Meyering  <meyering@redhat.com>
43187
43188         work around mingw's lack of some S_IF definitions
43189         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43190         Reported by Simon Josefsson.
43191
43192 2008-12-08  Bruno Haible  <bruno@clisp.org>
43193
43194         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43195         applied to variables. Needed on MacOS X 10.4/PowerPC.
43196         Reported by Simon Josefsson.
43197
43198 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43199         and Eric Blake  <ebb9@byu.net>
43200
43201         assert: honor --enable-assert
43202         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43203         order to honor --enable-assert, rather than treating it as a
43204         synonym for --disable-assert.
43205
43206 2008-12-08  Jim Meyering  <meyering@redhat.com>
43207
43208         * lib/posixtm.c: Remove now-useless declaration of mktime.
43209
43210         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43211
43212 2008-12-07  Bruno Haible  <bruno@clisp.org>
43213
43214         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43215         test_once): Mark functions as static.
43216         * tests/test-tls.c (test_tls): Likewise.
43217
43218 2008-12-07  Bruno Haible  <bruno@clisp.org>
43219
43220         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43221         iconv_register_autodetect.
43222
43223 2008-12-07  Jim Meyering  <meyering@redhat.com>
43224
43225         posixtm.c: avoid a warning
43226         * lib/posixtm.c (posixtime): Don't initialize tm0.
43227         It's no longer needed to placate gcc4's -Wuninitialized,
43228         and the attempt to placate would elicit a new warning.
43229
43230         unicodeio.c: mark unused parameters
43231         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43232         (fallback_failure_callback): Likewise.
43233
43234 2008-12-07  Bruno Haible  <bruno@clisp.org>
43235
43236         * gnulib-tool (func_create_testdir): When building the tests
43237         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43238         Reported by Simon Josefsson.
43239
43240 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43241
43242         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43243
43244 2008-12-06  Bruno Haible  <bruno@clisp.org>
43245
43246         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43247         Suggested by Eric Blake.
43248
43249 2008-12-06  Bruno Haible  <bruno@clisp.org>
43250
43251         Fix a c-stack test failure on MacOS X.
43252         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43253         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43254         handler for SIGBUS as well.
43255         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43256         install a signal handler for SIGBUS as well.
43257         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43258
43259 2008-12-06  Bruno Haible  <bruno@clisp.org>
43260
43261         Advocacy documentation.
43262         * doc/gnulib-intro.texi (Benefits): New section.
43263         * doc/gnulib.texi: Update.
43264
43265 2008-12-06  Bruno Haible  <bruno@clisp.org>
43266
43267         Document the 'manywarnings' module.
43268         * doc/manywarnings.texi: New file.
43269         * doc/gnulib.texi: Include it.
43270
43271 2008-12-05  Eric Blake  <ebb9@byu.net>
43272
43273         tests: silence some gcc warnings
43274         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43275         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43276         type mismatches.
43277
43278 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43279             Bruno Haible  <bruno@clisp.org>
43280
43281         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43282
43283 2008-11-29  Jim Meyering  <meyering@redhat.com>
43284
43285         unicodeio.c: mark unused parameters
43286         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43287         (fallback_failure_callback): Likewise.
43288
43289         fts: fix a thinko
43290         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43291         (set_stat_type): Return S_IF*-valued "type" directly.
43292         Prompted by James Youngman's spotting a related bug.
43293         Confirmed by further testing through find.
43294
43295         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43296         * lib/fts.c (D_TYPE): Define.
43297         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43298         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43299         (s_ifmt_shift_bits): New function.
43300         (set_stat_type): New function.
43301         (fts_build): When not calling fts_stat, call set_stat_type
43302         to propagate dirent.d_type info to fts_read caller.
43303         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43304         fts_statp->st_mode type information may be valid.
43305
43306 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43307
43308         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43309         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43310         <sds@gnu.org>.
43311
43312 2008-11-20  Bruno Haible  <bruno@clisp.org>
43313
43314         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43315         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43316         INCLUDE_NEXT.
43317         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43318         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43319         * modules/math (Makefile.am): Substitute
43320         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43321         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43322
43323 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43324             Bruno Haible  <bruno@clisp.org>
43325
43326         * lib/stdint.in.h: Define all type macros so that their expansion is
43327         a single typedef'ed token. Fixes a compilation failure in Boost which
43328         does "using ::int8_t;".
43329
43330 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43331
43332         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43333         gl_MANYWARN_ALL_GCC.
43334         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43335         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43336         * modules/manywarnings: New file.
43337         * MODULES.html.sh: Mention manywarnings module.
43338
43339 2008-11-18  Bruno Haible  <bruno@clisp.org>
43340
43341         * doc/gnulib-tool.texi (Unit tests): New section.
43342
43343 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43344
43345         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43346         paths like 'lib/po/foo.po'.
43347
43348 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43349
43350         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43351         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43352
43353 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43354
43355         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43356         parameter works.
43357
43358 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43359
43360         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43361
43362 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43363
43364         * modules/parse-duration-tests: New file.
43365         * tests/test-parse-duration.sh: New file.
43366         * tests/test-parse-duration.c: New file.
43367
43368         New module 'parse-duration'.
43369         * lib/parse-duration.h: New file.
43370         * lib/parse-duration.c: New file.
43371         * modules/parse-duration: New file.
43372
43373 2008-11-17  Bruno Haible  <bruno@clisp.org>
43374
43375         * tests/test-select-out.sh: Comment out the first pipe test.
43376         Reported by Simon Josefsson.
43377
43378 2008-11-17  Bruno Haible  <bruno@clisp.org>
43379
43380         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43381         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43382         gl_HOSTENT.
43383
43384 2008-11-17  Bruno Haible  <bruno@clisp.org>
43385
43386         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43387         -lnetwork and -lnet. Needed for Haiku and BeOS.
43388
43389 2008-11-16  Bruno Haible  <bruno@clisp.org>
43390
43391         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43392
43393 2008-11-16  Bruno Haible  <bruno@clisp.org>
43394
43395         Avoid test failure on Haiku.
43396         * tests/test-fsync.c: Include <errno.h>.
43397         (main): Don't require that fsync (0) fails.
43398
43399 2008-11-15  Bruno Haible  <bruno@clisp.org>
43400
43401         New module 'hostent'.
43402         * modules/hostent: New file.
43403         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43404
43405 2008-11-15  Bruno Haible  <bruno@clisp.org>
43406
43407         New module 'servent'.
43408         * modules/servent: New file.
43409         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43410
43411 2008-11-15  Bruno Haible  <bruno@clisp.org>
43412
43413         Avoid generating same test program with two different rules.
43414         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43415         test-frexp to test-frexp-nolibm.
43416         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43417         test-frexpl to test-frexpl-nolibm.
43418
43419 2008-11-15  Bruno Haible  <bruno@clisp.org>
43420
43421         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43422         $(FREXPL_LIBM).
43423
43424 2008-11-15  Bruno Haible  <bruno@clisp.org>
43425
43426         * lib/netdb.in.h: Activate the definitions also when the system's
43427         <netdb.h> has 'struct addrinfo'.
43428         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43429         EAI_OVERFLOW or AI_NUMERICSERV.
43430         * doc/posix-headers/netdb.texi: Document the problem.
43431
43432 2008-11-15  Bruno Haible  <bruno@clisp.org>
43433
43434         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43435
43436         Make the 'sched' module work on platforms where <sched.h> exists but
43437         is incomplete (such as Haiku).
43438         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43439         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43440         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43441         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43442         HAVE_STRUCT_SCHED_PARAM.
43443         * modules/sched (Depends-on): Add include_next.
43444         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43445         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43446         * doc/posix-headers/sched.texi: Document the issue.
43447
43448 2008-11-13  Jim Meyering  <meyering@redhat.com>
43449
43450         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43451         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43452         test would fail due to the difference in the Report bugs to ...
43453         line.  The expected address is empty, "<>", while the actual
43454         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43455
43456 2008-11-12  Bruno Haible  <bruno@clisp.org>
43457
43458         lstat: don't compile lstat.c on systems lacking lstat
43459         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43460         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43461         Reported by Daniel P. Berrange via Jim Meyering.
43462
43463 2008-11-12  Jim Meyering  <meyering@redhat.com>
43464
43465         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43466
43467 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43468
43469         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
43470         instead.
43471
43472 2008-11-12  Bruno Haible  <bruno@clisp.org>
43473
43474         * lib/unicodeio.c: Include unistr.h.
43475         (utf8_wctomb): Remove function.
43476         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
43477
43478 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43479
43480         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
43481         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
43482         <bruno@clisp.org>.
43483         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
43484
43485 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43486
43487         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
43488         * doc/gnulib.texi: Add section for warnings.
43489
43490 2008-11-11  Bruno Haible  <bruno@clisp.org>
43491
43492         * lib/sockets.h: Add a comment.
43493
43494 2008-11-11  Karl Berry  <karl@gnu.org>
43495
43496         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
43497
43498 2008-11-11  Eric Blake  <ebb9@byu.net>
43499
43500         fdl.texi: avoid git symlinks
43501         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
43502
43503 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43504
43505         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
43506
43507 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43508
43509         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
43510         (gl_WARN_ADD): Substitute $2 if literal.
43511
43512 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43513
43514         * m4/warning.m4: Remove.
43515
43516 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43517
43518         * m4/warnings.m4: Almost complete rewrite. :-)
43519
43520 2008-11-10  Simon Josefsson  <simon@josefsson.org>
43521
43522         * modules/warnings: New module.
43523         * m4/warnings.m4: New file.
43524         * MODULES.html.sh: Mention warnings module.
43525         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
43526         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43527
43528 2008-11-10  Eric Blake  <ebb9@byu.net>
43529
43530         fdl.texi: make a symlink to the latest version
43531         * doc/standards.texi: Revert today's earlier change.
43532         * doc/fdl-1.2.texi: Rename from old fdl.texi...
43533         * doc/fdl.texi: ...and replace this with a symlink to the newer
43534         fdl-1.3.texi.
43535
43536 2008-11-10  Bruno Haible  <bruno@clisp.org>
43537
43538         * tests/test-select-fd.c (main): Accept the result file name as fourth
43539         argument.
43540         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
43541         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
43542
43543 2008-11-10  Bruno Haible  <bruno@clisp.org>
43544
43545         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
43546         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
43547         as autoconf-substituted macros.
43548         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
43549         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
43550         gl_NETDB_H_DEFAULTS. Set these variables.
43551         * modules/netdb (Makefile.am): Substitute these variables.
43552
43553 2008-11-10  Eric Blake  <ebb9@byu.net>
43554
43555         standards.texi: include correct file for FDL 1.3
43556         * doc/standards.texi (GNU Free Documentation License): Change
43557         include file to pull in FDL 1.3, not 1.2.
43558
43559         fdl.texi: revert accidental change to license
43560         * doc/fdl.texi: This is FDL 1.2, not 1.3.
43561
43562 2008-11-10  Bruno Haible  <bruno@clisp.org>
43563
43564         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
43565         cross-compiling guesses also when the native compile gives no result.
43566
43567 2008-11-10  Bruno Haible  <bruno@clisp.org>
43568
43569         * lib/spawni.c (__spawni): Force variable into the stack.
43570
43571 2008-11-10  Bruno Haible  <bruno@clisp.org>
43572
43573         Add support for Haiku.
43574         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
43575         glibc and BeOS, but also on Haiku.
43576         * lib/fpurge.c (fpurge): Likewise.
43577         * lib/freadable.c (freadable): Likewise.
43578         * lib/freadahead.c (freadahead): Likewise.
43579         * lib/freading.c (freading): Likewise.
43580         * lib/freadptr.c (freadptr): Likewise.
43581         * lib/freadseek.c (freadptrinc): Likewise.
43582         * lib/fseeko.c (rpl_fseeko): Likewise.
43583         * lib/fseterr.c (fseterr): Likewise.
43584         * lib/fwritable.c (fwritable): Likewise.
43585         * lib/fwriting.c (fwriting): Likewise.
43586         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
43587
43588 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43589
43590         * lib/config.charset: Treat Haiku like BeOS.
43591
43592 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43593
43594         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
43595         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
43596
43597 2008-11-08  Bruno Haible  <bruno@clisp.org>
43598
43599         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
43600         AC_CACHE_CHECK.
43601
43602 2008-11-08  Bruno Haible  <bruno@clisp.org>
43603
43604         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
43605
43606 2008-11-08  Bruno Haible  <bruno@clisp.org>
43607
43608         * tests/test-select-fd.c: New file.
43609         * tests/test-select-in.sh: New file.
43610         * tests/test-select-out.sh: New file.
43611         * tests/test-select-stdin.c: New file.
43612         * modules/select-tests (Files): Add the new files.
43613         (Depends-on): Add gettimeofday.
43614         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
43615         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
43616         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
43617
43618 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
43619             Bruno Haible  <bruno@clisp.org>
43620
43621         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
43622
43623 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
43624
43625         * build-aux/pmccabe2html: Added support for C++ source files.
43626
43627 2008-11-05  Ben Pfaff  <blp@gnu.org>
43628
43629         Fix lib/close.c build on Windows.
43630         * modules/close (Files): Add lib/w32sock.h.
43631
43632 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
43633
43634         Accept Bison's NEWS format.
43635         * build-aux/announce-gen (print_news_deltas): Tweak
43636         $re_prefix.
43637
43638 2008-11-04  Bruno Haible  <bruno@clisp.org>
43639
43640         * modules/random_r (Maintainer): Add glibc.
43641
43642 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43643
43644         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
43645         by karl@freefriends.org (Karl Berry).
43646         * doc/alloca.texi: Likewise.
43647         * doc/c-ctype.texi: Likewise.
43648         * doc/c-strcase.texi: Likewise.
43649         * doc/c-strcaseeq.texi: Likewise.
43650         * doc/c-strcasestr.texi: Likewise.
43651         * doc/c-strstr.texi: Likewise.
43652         * doc/c-strtod.texi: Likewise.
43653         * doc/c-strtold.texi: Likewise.
43654         * doc/ctime.texi: Likewise.
43655         * doc/error.texi: Likewise.
43656         * doc/fdl.texi: Likewise.
43657         * doc/gcd.texi: Likewise.
43658         * doc/getdate.texi: Likewise.
43659         * doc/gnulib-intro.texi: Likewise.
43660         * doc/gnulib-tool.texi: Likewise.
43661         * doc/gnulib.texi: Likewise.
43662         * doc/inet_ntoa.texi: Likewise.
43663         * doc/maintain.texi: Likewise.
43664         * doc/make-stds.texi: Likewise.
43665         * doc/quote.texi: Likewise.
43666         * doc/regexprops-generic.texi: Likewise.
43667         * doc/standards.texi: Likewise.
43668         * doc/verify.texi: Likewise.
43669         * doc/visibility.texi: Likewise.
43670         * doc/gnulib.texi (GNU Free Documentation License): Include
43671         fdl-1.3.texi instead of fdl.texi.
43672
43673 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43674
43675         * doc/fdl-1.3.texi: New file, from
43676         <http://www.gnu.org/licenses/fdl-1.3.texi>.
43677         * modules/fdl-1.3: Add.
43678         * MODULES.html.sh: Add fdl-1.3.
43679
43680 2008-11-03  Bruno Haible  <bruno@clisp.org>
43681
43682         Make determination of absolute name of header file work with AIX xlc.
43683         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
43684         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
43685         preprocessing.
43686         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43687         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
43688
43689 2008-11-03  Simon Josefsson  <simon@josefsson.org>
43690
43691         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
43692         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
43693         <ludo@gnu.org>.
43694
43695 2008-11-02  Bruno Haible  <bruno@clisp.org>
43696
43697         Mark 'strpbrk' obsolete.
43698         * modules/strpbrk (Status, Notice): New sections.
43699         * modules/strtok_r (Depends-on): Add strpbrk.
43700
43701 2008-11-02  Bruno Haible  <bruno@clisp.org>
43702
43703         Mark 'strdup' obsolete.
43704         * modules/strdup (Status, Notice): New sections.
43705         * modules/findprog (Depends-on): Add strdup.
43706         * modules/getaddrinfo (Depends-on): Likewise.
43707         * modules/localename (Depends-on): Likewise.
43708         * modules/relocatable-lib (Depends-on): Likewise.
43709         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
43710         * modules/relocatable-prog (Depends-on): Likewise.
43711         * modules/trim (Depends-on): Likewise.
43712         * modules/unictype/gen-ctype (Depends-on): Likewise.
43713         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
43714
43715 2008-11-02  Bruno Haible  <bruno@clisp.org>
43716
43717         Mark 'strcspn' obsolete.
43718         * modules/strcspn (Status, Notice): New sections.
43719
43720 2008-11-02  Bruno Haible  <bruno@clisp.org>
43721
43722         Mark 'rmdir' obsolete.
43723         * modules/rmdir (Status, Notice): New sections.
43724         * modules/clean-temp (Depends-on): Add rmdir.
43725         * modules/openat (Depends-on): Likewise.
43726
43727 2008-11-02  Bruno Haible  <bruno@clisp.org>
43728
43729         Mark 'raise' obsolete.
43730         * modules/raise (Status, Notice): New sections.
43731         (Include): Specify <signal.h>.
43732         * modules/stdio (Depends-on): Add raise.
43733         * modules/write (Depends-on): Likewise.
43734
43735 2008-11-02  Bruno Haible  <bruno@clisp.org>
43736
43737         Mark 'memset' obsolete.
43738         * modules/memset (Status, Notice): New sections.
43739
43740 2008-11-02  Bruno Haible  <bruno@clisp.org>
43741
43742         Mark 'memmove' obsolete.
43743         * modules/memmove (Status, Notice): New sections.
43744         * modules/argp (Depends-on): Add memmove.
43745         * modules/argz (Depends-on): Likewise.
43746         * modules/canonicalize (Depends-on): Likewise.
43747         * modules/canonicalize-lgpl (Depends-on): Likewise.
43748         * modules/fts (Depends-on): Likewise.
43749         * modules/getcwd (Depends-on): Likewise.
43750         * modules/human (Depends-on): Likewise.
43751         * modules/regex (Depends-on): Likewise.
43752         * modules/striconveh (Depends-on): Likewise.
43753         * modules/trim (Depends-on): Likewise.
43754         * modules/unistr/u8-move (Depends-on): Likewise.
43755         * modules/unistr/u16-move (Depends-on): Likewise.
43756         * modules/unistr/u32-move (Depends-on): Likewise.
43757
43758 2008-11-02  Bruno Haible  <bruno@clisp.org>
43759
43760         Mark 'memcpy' obsolete.
43761         * modules/memcpy (Status, Notice): New sections.
43762
43763 2008-11-02  Bruno Haible  <bruno@clisp.org>
43764
43765         Mark 'memcmp' obsolete.
43766         * modules/memcmp (Status, Notice): New sections.
43767         * modules/argmatch (Depends-on): Add memchr.
43768         * modules/backupfile (Depends-on): Likewise.
43769         * modules/c-strcasestr (Depends-on): Likewise.
43770         * modules/crypto/des (Depends-on): Likewise.
43771         * modules/csharpcomp (Depends-on): Likewise.
43772         * modules/fnmatch (Depends-on): Likewise.
43773         * modules/git-merge-changelog (Depends-on): Likewise.
43774         * modules/isnand (Depends-on): Likewise.
43775         * modules/isnand-nolibm (Depends-on): Likewise.
43776         * modules/isnanf (Depends-on): Likewise.
43777         * modules/isnanf-nolibm (Depends-on): Likewise.
43778         * modules/isnanl (Depends-on): Likewise.
43779         * modules/isnanl-nolibm (Depends-on): Likewise.
43780         * modules/mbchar (Depends-on): Likewise.
43781         * modules/memcoll (Depends-on): Likewise.
43782         * modules/quotearg (Depends-on): Likewise.
43783         * modules/regex (Depends-on): Likewise.
43784         * modules/relocatable-prog (Depends-on): Likewise.
43785         * modules/same (Depends-on): Likewise.
43786         * modules/signbit (Depends-on): Likewise.
43787         * modules/strcasestr-simple (Depends-on): Likewise.
43788         * modules/unictype/gen-ctype (Depends-on): Likewise.
43789         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
43790         * modules/uniname/uniname (Depends-on): Likewise.
43791         * modules/unistr/u8-cmp (Depends-on): Likewise.
43792
43793 2008-11-02  Bruno Haible  <bruno@clisp.org>
43794
43795         Mark 'memchr' obsolete.
43796         * modules/memchr (Status, Notice): New sections.
43797         * modules/argp (Depends-on): Add memchr.
43798         * modules/base64 (Depends-on): Likewise.
43799         * modules/c-strcasestr (Depends-on): Likewise.
43800         * modules/chdir-long (Depends-on): Likewise.
43801         * modules/fnmatch (Depends-on): Likewise.
43802         * modules/getsubopt (Depends-on): Likewise.
43803         * modules/git-merge-changelog (Depends-on): Likewise.
43804         * modules/glob (Depends-on): Likewise.
43805         * modules/strcasestr-simple (Depends-on): Likewise.
43806         * modules/strnlen (Depends-on): Likewise.
43807
43808 2008-11-02  Bruno Haible  <bruno@clisp.org>
43809
43810         Mark 'atexit' obsolete.
43811         * modules/atexit (Status, Notice): New sections.
43812         * modules/chdir-long (Depends-on): Add atexit.
43813         * modules/wait-process (Depends-on): Likewise.
43814
43815 2008-11-02  Bruno Haible  <bruno@clisp.org>
43816
43817         * gnulib-tool: New option --with-obsolete.
43818         (func_usage): Document it.
43819         (func_modules_transitive_closure): Drop obsolete dependencies if
43820         incobsolete is not true.
43821         (func_import): Read and save the incobsolete variable to the cache.
43822
43823 2008-11-02  Bruno Haible  <bruno@clisp.org>
43824
43825         * modules/TEMPLATE-EXTENDED: New field 'Status'.
43826         * gnulib-tool: New option --extract-status.
43827         (func_usage): Document it.
43828         (sed_extract_prog): Recognize it.
43829         (func_get_status): New function.
43830
43831 2008-10-30  Simon Josefsson  <simon@josefsson.org>
43832
43833         * modules/sockets (License): Change from LGPL to LGPLv2+.
43834
43835 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43836
43837         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
43838
43839 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43840
43841         * MODULES.html.sh (Support for systems lacking POSIX:2001):
43842         Mention times and sys_times.
43843         * modules/sys_times, modules/sys_times-tests: New modules.
43844         * modules/times, modules/times-tests: Likewise
43845         * m4/sys_times_h.m4: New file.
43846         * lib/sys_times.in.h: Likewise
43847         * lib/times.c: Likewise.
43848         * tests/test-sys_times.c: Likewise.
43849         * tests/test-times.c: Likewise.
43850         * doc/posix-headers/sys_times.texi: Update.
43851         * doc/posix-functions/times.texi: Update.
43852
43853 2008-10-28  Jim Meyering  <meyering@redhat.com>
43854
43855         * modules/tempname (Depends-on): Add lstat.
43856
43857         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
43858
43859 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43860
43861         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
43862         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
43863         using idiom used elsewhere in gnulib.
43864
43865 2008-10-27  Jim Meyering  <meyering@redhat.com>
43866
43867         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
43868
43869 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43870
43871         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
43872         TESTS_ENVIRONMENT, for shell scripts that needs to call built
43873         programs.
43874         * tests/test-argp-2.sh: Use $EXEEXT when needed.
43875
43876 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43877
43878         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
43879
43880 2008-10-27  Bruno Haible  <bruno@clisp.org>
43881
43882         * tests/test-lstat.c: Include <stdio.h>.
43883
43884 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43885
43886         * modules/lstat-tests: New module.
43887         * tests/test-lstat.c: New file.
43888
43889 2008-10-26  Jim Meyering  <meyering@redhat.com>
43890
43891         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
43892
43893 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43894             Bruno Haible  <bruno@clisp.org>
43895
43896         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
43897         * modules/configmake (Include): Add a note that the include must come
43898         after all system headers.
43899         * lib/javaversion.c: Include configmake.h after all other includes.
43900
43901 2008-10-26  Bruno Haible  <bruno@clisp.org>
43902
43903         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
43904         HAVE_STRUCT_RANDOM_DATA to 1.
43905         (gl_STDLIB_H): Simplify.
43906
43907 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43908
43909         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
43910         substitute HAVE_STRUCT_RANDOM_DATA.
43911         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
43912         random_data.
43913         * modules/stdlib (Makefile.am): Substitute
43914         HAVE_STRUCT_RANDOM_DATA.
43915
43916 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43917
43918         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
43919         * doc/gnulib-intro.texi (Copyright): Likewise.
43920
43921 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43922
43923         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
43924         findings.
43925
43926 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
43927             Bruno Haible  <bruno@clisp.org>
43928
43929         * lib/unistd.in.h: Include <winsock2.h>.
43930         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
43931         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
43932         Provide dummy declarations.
43933         (gethostname): Override.
43934         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
43935         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
43936         gl_PREREQ_SYS_H_WINSOCK2.
43937         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
43938         * doc/posix-functions/gethostname.texi: More details.
43939
43940 2008-10-25  Bruno Haible  <bruno@clisp.org>
43941
43942         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
43943         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
43944         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
43945
43946         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
43947         here ...
43948         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
43949         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
43950         gl_UNISTD_H_DEFAULTS.
43951
43952 2008-10-25  Eric Blake  <ebb9@byu.net>
43953
43954         signbit: avoid spurious compiler failure
43955         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
43956         declarations inside function.
43957
43958 2008-10-24  Simon Josefsson  <simon@josefsson.org>
43959             Bruno Haible  <bruno@clisp.org>
43960
43961         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
43962         * modules/random_r (Depends-on): Add stdint.
43963
43964 2008-10-24  Bruno Haible  <bruno@clisp.org>
43965
43966         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
43967         Eggert.
43968         * modules/strerror (License): Likewise.
43969
43970 2008-10-24  Jim Meyering  <meyering@redhat.com>
43971
43972         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
43973         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
43974
43975 2008-10-24  Eric Blake  <ebb9@byu.net>
43976
43977         getgroups: fix compilation when getgroups is available
43978         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
43979         but with <config.h> override of getgroups disabled.
43980
43981 2008-10-24  Simon Josefsson  <simon@josefsson.org>
43982
43983         * doc/gnulib.texi (Header files): Add note about C++ problems.
43984         Explained by Bruno Haible <bruno@clisp.org>.
43985
43986 2008-10-23  Bruno Haible  <bruno@clisp.org>
43987
43988         Define a dummy SA_NODEFER macro on Interix.
43989         * lib/signal.in.h (SA_NODEFER): Define fallback.
43990         Reported by Aleksey Cheusov <cheusov@tut.by> via
43991         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
43992
43993 2008-10-23  Bruno Haible  <bruno@clisp.org>
43994
43995         * modules/freadahead (License): Change to LGPLv2+.
43996         Suggested by Simon Josefsson.
43997
43998 2008-10-23  Jim Meyering  <meyering@redhat.com>
43999
44000         random_r: new module
44001         * modules/random_r: New file.
44002         * m4/random_r.m4: New file.
44003         * lib/random_r.c: New file, from glibc.
44004         * modules/random_r-tests: New file.
44005         * tests/test-random_r.c: New file.
44006         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44007          Declare.
44008         (RAND_MAX): Define.
44009         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44010         * modules/stdlib: Substitute them, too.
44011         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44012         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44013         * doc/glibc-functions/random_r.texi: Likewise.
44014         * doc/glibc-functions/setstate_r.texi: Likewise.
44015         * doc/glibc-functions/srandom_r.texi: Likewise.
44016         * config/srclist.txt: Mention it.
44017
44018 2008-10-23  David Lutterkort  <lutter@redhat.com>
44019
44020         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44021         link requirement
44022
44023 2008-10-23  Jim Meyering  <meyering@redhat.com>
44024
44025         selinux-h: mark parameters of stub functions as intentionally unused
44026         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44027         * lib/se-context.in.h: Likewise.
44028
44029 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44030
44031         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44032
44033 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44034
44035         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44036
44037 2008-10-22  Eric Blake  <ebb9@byu.net>
44038
44039         glthread/thread: avoid compiler warning
44040         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44041         Add unreachable abort to silence compiler.
44042
44043 2008-10-22  Eric Blake  <ebb9@byu.net>
44044
44045         netdb: also supply struct addrinfo for cygwin 1.5.x
44046         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44047         older cygwin.
44048         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44049         cygwin.
44050         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44051
44052 2008-10-22  Bruno Haible  <bruno@clisp.org>
44053
44054         * users.txt: Update entry about pspp.
44055
44056 2008-10-21  Bruno Haible  <bruno@clisp.org>
44057
44058         Simplification.
44059         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44060         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44061
44062         Simplification.
44063         * lib/ioctl.c (ioctl): Don't undefine.
44064         * lib/socket.c (socket): Don't undefine.
44065
44066         Remove unused module indicator macros.
44067         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44068         GNULIB_$1 as a C macro.
44069
44070         * doc/posix-functions/close.texi: Undo last change.
44071         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44072         Windows platforms.
44073
44074 2008-10-21  Bruno Haible  <bruno@clisp.org>
44075
44076         Add gethostname() declaration to <unistd.h>.
44077         * lib/unistd.in.h (gethostname): New declaration.
44078         * lib/gethostname.c: Include <unistd.h>.
44079         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44080         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44082         and HAVE_GETHOSTNAME.
44083         * modules/gethostname (Depends-on): Add unistd.
44084         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44085         (Include): Specify <unistd.h>.
44086         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44087         HAVE_GETHOSTNAME.
44088         * tests/test-gethostname.c: Include <unistd.h> first.
44089
44090 2008-10-21  Bruno Haible  <bruno@clisp.org>
44091
44092         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44093         * modules/select-tests (Depends-on): Likewise.
44094         Reported by Simon Josefsson.
44095
44096 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44097
44098         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44099         * lib/accept.c: New file, based on winsock.c.
44100         * lib/bind.c: New file, based on winsock.c.
44101         * lib/connect.c: New file, based on winsock.c.
44102         * lib/getpeername.c: New file, based on winsock.c.
44103         * lib/getsockname.c: New file, based on winsock.c.
44104         * lib/getsockopt.c: New file, based on winsock.c.
44105         * lib/ioctl.c: New file, based on winsock.c.
44106         * lib/listen.c: New file, based on winsock.c.
44107         * lib/recv.c: New file, based on winsock.c.
44108         * lib/recvfrom.c: New file, based on winsock.c.
44109         * lib/send.c: New file, based on winsock.c.
44110         * lib/sendto.c: New file, based on winsock.c.
44111         * lib/setsockopt.c: New file, based on winsock.c.
44112         * lib/shutdown.c: New file, based on winsock.c.
44113         * lib/socket.c: New file, based on winsock.c.
44114         * lib/w32sock.h: New file, based on winsock.c.
44115         * lib/winsock.c: Remove file.
44116         * modules/accept: Likewise.
44117         * modules/bind: Likewise.
44118         * modules/connect: Likewise.
44119         * modules/getpeername: Likewise.
44120         * modules/getsockname: Likewise.
44121         * modules/getsockopt: Likewise.
44122         * modules/ioctl: Likewise.
44123         * modules/listen: Likewise.
44124         * modules/recv: Likewise.
44125         * modules/recvfrom: Likewise.
44126         * modules/send: Likewise.
44127         * modules/sendto: Likewise.
44128         * modules/setsockopt: Likewise.
44129         * modules/shutdown: Likewise.
44130         * modules/socket: Use socket.c instead of winsock.c.
44131         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44132         * doc/posix-functions/accept.texi: Doc fix.
44133         * doc/posix-functions/bind.texi: Doc fix.
44134         * doc/posix-functions/close.texi: Doc fix.
44135         * doc/posix-functions/connect.texi: Doc fix.
44136         * doc/posix-functions/getpeername.texi: Doc fix.
44137         * doc/posix-functions/getsockname.texi: Doc fix.
44138         * doc/posix-functions/getsockopt.texi: Doc fix.
44139         * doc/posix-functions/ioctl.texi: Doc fix.
44140         * doc/posix-functions/listen.texi: Doc fix.
44141         * doc/posix-functions/recv.texi: Doc fix.
44142         * doc/posix-functions/recvfrom.texi: Doc fix.
44143         * doc/posix-functions/send.texi: Doc fix.
44144         * doc/posix-functions/sendto.texi: Doc fix.
44145         * doc/posix-functions/setsockopt.texi: Doc fix.
44146         * doc/posix-functions/shutdown.texi: Doc fix.
44147         * doc/posix-functions/socket.texi: Doc fix.
44148
44149 2008-10-20  Bruno Haible  <bruno@clisp.org>
44150
44151         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44152         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44153         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44154         as an alias for SIGABRT.
44155         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44156         (sigaction): Map it to SIGABRT.
44157         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44158
44159 2008-10-20  Bruno Haible  <bruno@clisp.org>
44160
44161         * lib/fts.c: Don't include lstat.h.
44162         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44163
44164         Move the lstat() declaration to <sys/stat.h>.
44165         * lib/lstat.h: Remove file.
44166         * lib/sys_stat.in.h: Add special invocation convention.
44167         (lstat): New declaration.
44168         * lib/lstat.c (orig_lstat): New function.
44169         (rpl_lstat): Use orig_lstat instead of lstat.
44170         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44171         AC_C_INLINE. Set REPLACE_LSTAT.
44172         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44173         and REPLACE_LSTAT.
44174         * modules/lstat (Files): Remove lib/lstat.h.
44175         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44176         (Include): Specify <sys/stat.h> instead of lstat.h.
44177         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44178         REPLACE_LSTAT.
44179         * NEWS: Mention the change.
44180
44181 2008-10-20  Bruno Haible  <bruno@clisp.org>
44182
44183         * modules/posix_spawn-tests: New file.
44184         * tests/test-posix_spawn3.c: New file.
44185
44186 2008-10-20  Bruno Haible  <bruno@clisp.org>
44187
44188         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44189         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44190         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44191         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44192         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44193
44194 2008-10-20  Bruno Haible  <bruno@clisp.org>
44195
44196         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44197         of posix_spawn on AIX 5.3.
44198
44199 2008-10-20  Bruno Haible  <bruno@clisp.org>
44200
44201         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44202
44203 2008-10-20  Bruno Haible  <bruno@clisp.org>
44204
44205         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44206         of AC_LANG_PROGRAM.
44207
44208 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44209
44210         * lib/netdb.in.h: Don't define GNU specific constants until they
44211         are supported or needed.  Reported by Bruno Haible
44212         <bruno@clisp.org>.
44213
44214 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44215
44216         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44217
44218 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44219
44220         * lib/getaddrinfo.h: Remove file.
44221         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44222         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44223         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44224         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44225         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44226         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44227         * tests/test-getaddrinfo.c: Likewise.
44228         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44229         * NEWS: Mention change.
44230
44231 2008-10-19  Bruno Haible  <bruno@clisp.org>
44232
44233         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44234
44235 2008-10-19  Bruno Haible  <bruno@clisp.org>
44236
44237         * lib/wait-process.c: Include simply <sys/wait.h>.
44238         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44239         WIFSTOPPED): Remove fallback definitions.
44240         * modules/wait-process (Depends-on): Add sys_wait.
44241
44242         New module 'sys_wait'.
44243         * modules/sys_wait: New file.
44244         * lib/sys_wait.in.h: New file, partially copied from
44245         lib/wait-process.c.
44246         * m4/sys_wait_h.m4: New file.
44247         * doc/posix-headers/sys_wait.texi: Mention the new module.
44248
44249 2008-10-19  Bruno Haible  <bruno@clisp.org>
44250
44251         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44252
44253 2008-10-19  Bruno Haible  <bruno@clisp.org>
44254
44255         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44256         * lib/wait-process.c (WAIT_T): Remove type.
44257         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44258         (wait_subprocess): Update.
44259
44260 2008-10-19  Bruno Haible  <bruno@clisp.org>
44261
44262         New module 'atoll'.
44263         * modules/atoll: New file.
44264         * lib/stdlib.in.h (atoll): New declaration.
44265         * lib/atoll.c: New file, from glibc with modifications.
44266         * m4/atoll.m4: New file.
44267         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44268         HAVE_ATOLL.
44269         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44270         * doc/posix-functions/atoll.texi: Mention the new module.
44271
44272 2008-10-19  Bruno Haible  <bruno@clisp.org>
44273
44274         Add strtoull() declaration to <stdlib.h>.
44275         * lib/stdlib.in.h (strtoull): New declaration.
44276         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44277         Set HAVE_STRTOULL.
44278         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44279         HAVE_STRTOULL.
44280         * modules/strtoull (Depends-on): Add stdlib.
44281         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44282         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44283         HAVE_STRTOULL.
44284
44285 2008-10-19  Bruno Haible  <bruno@clisp.org>
44286
44287         Add strtoll() declaration to <stdlib.h>.
44288         * lib/stdlib.in.h (strtoll): New declaration.
44289         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44290         Set HAVE_STRTOLL.
44291         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44292         HAVE_STRTOLL.
44293         * modules/strtoll (Depends-on): Add stdlib.
44294         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44295         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44296
44297 2008-10-19  Bruno Haible  <bruno@clisp.org>
44298
44299         * modules/bcopy (Depends-on): Add strings.
44300         (Include): Specify <strings.h>.
44301
44302 2008-10-19  Bruno Haible  <bruno@clisp.org>
44303
44304         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44305
44306 2008-10-19  Bruno Haible  <bruno@clisp.org>
44307
44308         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44309         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44310         mingw.
44311
44312 2008-10-19  Bruno Haible  <bruno@clisp.org>
44313
44314         * lib/atanl.c: Don't include isnanl.h.
44315         * lib/cosl.c: Likewise.
44316         * lib/ldexpl.c: Likewise.
44317         * lib/logl.c: Likewise.
44318         * lib/sinl.c: Likewise.
44319         * lib/sqrtl.c: Likewise.
44320         * lib/tanl.c: Likewise.
44321
44322         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44323         * lib/isnanf.h: Remove file.
44324         * lib/isnand.h: Remove file.
44325         * lib/isnanl.h: Remove file.
44326         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44327         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44328         macros.
44329         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44330         HAVE_ISNANF, don't define it as a C macro.
44331         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44332         HAVE_ISNAND, don't define it as a C macro.
44333         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44334         HAVE_ISNANL, don't define it as a C macro.
44335         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44336         HAVE_ISNAN[FDL].
44337         * modules/isnanf (Files): Remove lib/isnanf.h.
44338         (Depends-on): Add math.
44339         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44340         (Include): Specify <math.h> instead of isnanf.h.
44341         * modules/isnand (Files): Remove lib/isnand.h.
44342         (Depends-on): Add math.
44343         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44344         (Include): Specify <math.h> instead of isnand.h.
44345         * modules/isnanl (Files): Remove lib/isnanl.h.
44346         (Depends-on): Add math.
44347         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44348         (Include): Specify <math.h> instead of isnanl.h.
44349         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44350         HAVE_ISNAN[FDL].
44351         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44352         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44353         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44354         * NEWS: Mention the change.
44355
44356 2008-10-18  Bruno Haible  <bruno@clisp.org>
44357
44358         Add getusershell(), setusershell(), endusershell() declarations to
44359         <unistd.h>.
44360         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44361         declarations.
44362         * lib/getusershell.c: Include unistd.h.
44363         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44364         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44365         HAVE_GETUSERSHELL.
44366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44367         and HAVE_GETUSERSHELL.
44368         * modules/getusershell (Depends-on): Add unistd, extensions.
44369         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44370         (Include): Specify <unistd.h>.
44371         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44372         HAVE_GETUSERSHELL.
44373
44374 2008-10-18  Bruno Haible  <bruno@clisp.org>
44375
44376         Add a getloadavg() declaration to <stdlib.h>.
44377         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44378         getloadavg declaration.
44379         (getloadavg): New declaration.
44380         * lib/getloadavg.c: Include <stdlib.h> first.
44381         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44382         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44383         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44384         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44385         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44386         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44387         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44388         (Include): Specify <stdlib.h>.
44389         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44390         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44391
44392 2008-10-18  Bruno Haible  <bruno@clisp.org>
44393
44394         * lib/dirchownmod.c: Don't include lchmod.h.
44395
44396         Move the lchmod() declaration to <sys/stat.h>.
44397         * lib/lchmod.h: Remove file.
44398         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44399         (lchmod): New declaration, moved here from lib/lchown.h.
44400         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44401         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44402         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44403         and HAVE_LCHMOD.
44404         * modules/lchmod (Files): Remove lib/lchmod.h.
44405         (Depends-on): Add sys_stat, extensions.
44406         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44407         (Include): Specify <sys/stat.h> instead of lchmod.h.
44408         * modules/sys_stat (Depends-on): Add link-warning.
44409         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44410         definition of GL_LINK_WARNING.
44411         * NEWS: Mention the change.
44412
44413 2008-10-18  Bruno Haible  <bruno@clisp.org>
44414
44415         * lib/fchdir.c: Don't include dirfd.h.
44416         * lib/fts.c: Likewise.
44417         * lib/getcwd.c: Likewise.
44418         * lib/glob.c: Likewise.
44419
44420         Move the dirfd() declaration to <dirent.h>.
44421         * lib/dirfd.h: Remove file.
44422         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44423         (dirfd): New declaration.
44424         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44425         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44426         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44427         HAVE_DECL_DIRFD.
44428         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44429         HAVE_DECL_DIRFD.
44430         * modules/dirfd (Files): Remove lib/dirfd.h.
44431         (Depends-on): Add dirent, extensions.
44432         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44433         (Include): Specify <dirent.h> instead of dirfd.h.
44434         * modules/dirent (Depends-on): Add link-warning.
44435         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44436         definition of GL_LINK_WARNING.
44437         * NEWS: Mention the change.
44438
44439 2008-10-18  Bruno Haible  <bruno@clisp.org>
44440
44441         Move the euidaccess() declaration to <unistd.h>.
44442         * lib/euidaccess.h: Remove file.
44443         * lib/unistd.in.h (euidaccess): New declaration.
44444         * lib/euidaccess.c: Don't include euidaccess.h.
44445         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44446         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44448         and HAVE_EUIDACCESS.
44449         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44450         (Depends-on): Add unistd.
44451         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44452         (Include): Specify <unistd.h> instead of euidaccess.h.
44453         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44454         HAVE_EUIDACCESS.
44455         * NEWS: Mention the change.
44456
44457 2008-10-18  Bruno Haible  <bruno@clisp.org>
44458
44459         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44460
44461         Move the getdomainname() declaration to <unistd.h>.
44462         * lib/getdomainname.h: Remove file.
44463         * lib/unistd.in.h (getdomainname): New declaration.
44464         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44465         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44466         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44467         HAVE_GETDOMAINNAME.
44468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44469         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
44470         * modules/getdomainname (Files): Remove lib/getdomainname.h.
44471         (Depends-on): Add unistd, extensions.
44472         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44473         (Includes): Specify <unistd.h> instead of getdomainname.h.
44474         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
44475         HAVE_GETDOMAINNAME.
44476         * NEWS: Mention the change.
44477
44478 2008-10-18  Bruno Haible  <bruno@clisp.org>
44479
44480         * modules/dirent: New file.
44481         * m4/dirent_h.m4: New file.
44482         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
44483         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
44484         * modules/fchdir (Files): Remove lib/dirent.in.h.
44485         (Depends-on): Add dirent.
44486         (Makefile.am): Move rules to modules/dirent.
44487         * doc/posix-headers/dirent.texi: Mention the new module.
44488
44489 2008-10-18  Bruno Haible  <bruno@clisp.org>
44490
44491         Avoid -Wunused-parameter warnings in public gnulib header files.
44492         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
44493         macro.
44494         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
44495
44496 2008-10-18  Bruno Haible  <bruno@clisp.org>
44497
44498         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
44499         * doc/glibc-functions/error.texi: Mention the module 'error'.
44500         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
44501         * doc/glibc-functions/getdomainname.texi: Mention the module
44502         'getdomainname'.
44503         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
44504         * doc/glibc-functions/getpagesize.texi: Mention the module
44505         'getpagesize'.
44506         * doc/glibc-functions/getusershell.texi: Mention the module
44507         'getusershell'.
44508         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
44509         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
44510         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
44511         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
44512         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
44513         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
44514         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
44515         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
44516         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
44517         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
44518         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
44519         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
44520         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
44521         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
44522
44523 2008-10-17  Bruno Haible  <bruno@clisp.org>
44524
44525         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
44526         HP-UX and IRIX, use -0.0L.
44527         * tests/test-ceill.c (minus_zero): Likewise.
44528         * tests/test-floorl.c (minus_zero): Likewise.
44529         * tests/test-frexpl.c (minus_zero): Likewise.
44530         * tests/test-isnan.c (minus_zerol): Likewise.
44531         * tests/test-isnanl.h (minus_zero): Likewise.
44532         * tests/test-ldexpl.c (minus_zero): Likewise.
44533         * tests/test-roundl.c (minus_zero): Likewise.
44534         * tests/test-signbit.c (minus_zerol): Likewise.
44535         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44536         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44537         * tests/test-truncl.c (minus_zero): Likewise.
44538         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44539         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44540         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
44541         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44542
44543 2008-10-17  Bruno Haible  <bruno@clisp.org>
44544
44545         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
44546         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
44547         that it gets activated only for gcc >= 3.0.
44548         * lib/dirent.in.h: Likewise.
44549         * lib/errno.in.h: Likewise.
44550         * lib/fcntl.in.h: Likewise.
44551         * lib/float.in.h: Likewise.
44552         * lib/iconv.in.h: Likewise.
44553         * lib/inttypes.in.h: Likewise.
44554         * lib/locale.in.h: Likewise.
44555         * lib/math.in.h: Likewise.
44556         * lib/netdb.in.h: Likewise.
44557         * lib/netinet_in.in.h: Likewise.
44558         * lib/search.in.h: Likewise.
44559         * lib/signal.in.h: Likewise.
44560         * lib/spawn.in.h: Likewise.
44561         * lib/stdarg.in.h: Likewise.
44562         * lib/stdint.in.h: Likewise.
44563         * lib/stdio.in.h: Likewise.
44564         * lib/stdlib.in.h: Likewise.
44565         * lib/string.in.h: Likewise.
44566         * lib/strings.in.h: Likewise.
44567         * lib/sys_file.in.h: Likewise.
44568         * lib/sys_ioctl.in.h: Likewise.
44569         * lib/sys_select.in.h: Likewise.
44570         * lib/sys_socket.in.h: Likewise.
44571         * lib/sys_stat.in.h: Likewise.
44572         * lib/sys_time.in.h: Likewise.
44573         * lib/sysexits.in.h: Likewise.
44574         * lib/time.in.h: Likewise.
44575         * lib/unistd.in.h: Likewise.
44576         * lib/wchar.in.h: Likewise.
44577         * lib/wctype.in.h: Likewise.
44578         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44579
44580 2008-10-17  Jim Meyering  <meyering@redhat.com>
44581
44582         ignore-value: don't depend on inline module
44583         * modules/ignore-value (Depends-on): Remove 'inline'.
44584         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
44585         Suggestion from Bruno Haible.
44586
44587 2008-10-17  Bruno Haible  <bruno@clisp.org>
44588
44589         New implementation of condition variables for Win32.
44590         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
44591         (gl_linked_waitqueue_t): New type.
44592         (gl_cond_t): Use it.
44593         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
44594         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
44595         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
44596         (glthread_cond_init_func, glthread_cond_wait_func,
44597         glthread_cond_timedwait_func, glthread_cond_signal_func,
44598         glthread_cond_broadcast_func, glthread_cond_destroy_func):
44599         Reimplemented on the basis of gl_linked_waitqueue_t.
44600         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
44601         gl_waitqueue_t.
44602         (gl_rwlock_t): Update.
44603         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
44604
44605 2008-10-17  Simon Josefsson  <simon@josefsson.org>
44606
44607         * modules/recvfrom (Depends-on): Add dependency on getpeername.
44608         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44609
44610 2008-10-17  Jim Meyering  <meyering@redhat.com>
44611
44612         ignore-value: new module
44613         * modules/ignore-value: New file.
44614         * lib/ignore-value.h: New file.
44615         * MODULES.html.sh (Compiler warning management): New section,
44616         just for this module.  More to come.
44617
44618 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44619
44620         open-safer.c: avoid 'signed and unsigned in conditional...' warning
44621         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
44622         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
44623
44624 2008-10-16  Jim Meyering  <meyering@redhat.com>
44625
44626         openat-die.c: avoid 'no previous prototype' warning
44627         * lib/openat-die.c: Include "openat.h".
44628         Reported by Reuben Thomas <rrt@sc3d.org>.
44629
44630 2008-10-16  Simon Josefsson  <simon@josefsson.org>
44631
44632         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
44633         * lib/netdb.in.h: Fix typo.
44634         Reported by Bruno Haible  <bruno@clisp.org>
44635
44636         * lib/netdb.in.h: Include sys/socket.h for platforms without
44637         netdb.h, to get structures like hostent on MinGW.
44638         * modules/netdb (Depends-on): Add sys_socket.
44639
44640 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44641
44642         * modules/netdb, modules/netdb-tests: New file.
44643         * m4/netdb_h.m4: New file.
44644         * lib/netdb.in.h: Add, currently just an empty file pending
44645         definitions.
44646         * tests/test-netdb.c: New file.
44647         * doc/posix-headers/netdb.texi: Mention that we replace it if
44648         needed.
44649         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44650         netdb.
44651
44652 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44653
44654         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
44655         with code.
44656
44657 2008-10-13  Bruno Haible  <bruno@clisp.org>
44658
44659         * lib/glthread/cond.c (glthread_cond_wait_func,
44660         glthread_cond_timedwait_func): Add a comment.
44661
44662 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44663
44664         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
44665         * tests/test-select.c: Likewise,
44666
44667 2008-10-13  Bruno Haible  <bruno@clisp.org>
44668
44669         * lib/glthread/cond.c (glthread_cond_wait_func,
44670         glthread_cond_timedwait_func): Fix variable name.
44671         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44672
44673 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
44674
44675         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
44676         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
44677         struct sockaddr.sa_len.
44678         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
44679
44680 2008-10-13  Simon Josefsson  <simon@josefsson.org>
44681
44682         * build-aux/pmccabe2html: Add css and css_url parameters.
44683
44684 2008-10-12  Bruno Haible  <bruno@clisp.org>
44685
44686         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
44687         calling aclx_get.
44688         Reported by Rainer Tammer <tammer@tammer.net>.
44689
44690 2008-10-12  Bruno Haible  <bruno@clisp.org>
44691
44692         Use msvcrt aware primitives for creation/termination of Win32 threads.
44693         * lib/glthread/thread.c: Include <process.h>.
44694         (glthread_create_func): Use _beginthreadex instead of CreateThread.
44695         (wrapper_func): Update signature.
44696         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
44697
44698 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44699             Bruno Haible  <bruno@clisp.org>
44700
44701         Provide a Win32 implementation of the 'cond' module.
44702         * lib/glthread/cond.h [USE_WIN32]: New implementation.
44703         * lib/glthread/cond.c (glthread_cond_init_func,
44704         glthread_cond_wait_func, glthread_cond_timedwait_func,
44705         glthread_cond_signal_func, glthread_cond_broadcast_func,
44706         glthread_cond_destroy_func) [USE_WIN32]: New functions.
44707         * modules/cond (Dependencies): Add gettimeofday.
44708
44709 2008-10-11  Bruno Haible  <bruno@clisp.org>
44710
44711         Make sleep work on older versions of mingw.
44712         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
44713         only whether it exists.
44714         * doc/posix-functions/sleep.texi: Mention the problem with older
44715         versions of mingw.
44716
44717 2008-10-11  Bruno Haible  <bruno@clisp.org>
44718
44719         New module 'shutdown'.
44720         * modules/shutdown: New file.
44721         * lib/sys_socket.in.h (shutdown): New declaration.
44722         * lib/winsock.c (shutdown): New function.
44723         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
44724         GNULIB_SHUTDOWN.
44725         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
44726         * doc/posix-functions/shutdown.texi: Document the new module.
44727
44728 2008-10-11  Jim Meyering  <meyering@redhat.com>
44729
44730         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
44731
44732 2008-10-11  Bruno Haible  <bruno@clisp.org>
44733
44734         New module 'fclose'.
44735         * modules/fclose: New file.
44736         * lib/stdio.in.h (fclose): New declaration.
44737         * lib/fclose.c: New file.
44738         * m4/fclose.m4: New file.
44739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
44740         REPLACE_FCLOSE.
44741         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
44742         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
44743         REPLACE_FCLOSE.
44744         * modules/close (Depends-on): fclose.
44745         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
44746
44747 2008-10-11  Bruno Haible  <bruno@clisp.org>
44748
44749         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
44750         set errno and don't call _close.
44751
44752 2008-10-10  Bruno Haible  <bruno@clisp.org>
44753
44754         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
44755         ACL, not afterwards. Fixes test failure on Cygwin.
44756
44757 2008-10-09  Ben Pfaff  <blp@gnu.org>
44758
44759         * build-aux/announce-gen: Fix gnulib version related part of usage
44760         message.  Die with a useful error message if no tarballs are
44761         found.
44762
44763 2008-10-10  Jim Meyering  <meyering@redhat.com>
44764
44765         bootstrap: use git's --depth=N option only if it's supported
44766         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
44767         recognize the --depth option.  Reported by Pádraig Brady.
44768
44769 2008-10-09  Bruno Haible  <bruno@clisp.org>
44770
44771         New module 'ioctl'.
44772         * modules/ioctl: New file.
44773         * lib/sys_socket.in.h (ioctl): Remove declaration.
44774         * lib/winsock.c: Include <sys/ioctl.h>.
44775         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
44776         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44777         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
44778         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
44779         * doc/posix-functions/ioctl.texi: Mention the new module.
44780
44781 2008-10-09  Bruno Haible  <bruno@clisp.org>
44782
44783         New module 'sys_ioctl'.
44784         * lib/sys_ioctl.in.h: New file.
44785         * m4/sys_ioctl_h.m4: New file.
44786         * modules/sys_ioctl: New file.
44787         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
44788
44789 2008-10-09  Bruno Haible  <bruno@clisp.org>
44790
44791         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
44792         * lib/winsock.c: Include <stdarg.h>.
44793         (rpl_ioctl): Change to second argument 'int' and then varargs.
44794
44795 2008-10-09  Bruno Haible  <bruno@clisp.org>
44796
44797         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
44798         when the sys_socket module is present and the system has <winsock2.h>.
44799
44800 2008-10-09  Bruno Haible  <bruno@clisp.org>
44801
44802         * doc/posix-functions/close.texi: Mention module 'close' instead of
44803         module 'sys_socket'.
44804
44805 2008-10-09  Bruno Haible  <bruno@clisp.org>
44806
44807         * doc/glibc-headers/sys_ioctl.texi: New file.
44808         * doc/gnulib.texi: Include it.
44809
44810 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44811             Bruno Haible  <bruno@clisp.org>
44812
44813         Combine the two replacements of 'close'.
44814         * lib/sys_socket.in.h (close): Define to a reminder to include
44815         <unistd.h>.
44816         (_gl_close_fd_maybe_socket): New declaration.
44817         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
44818         * lib/winsock.c (close): Remove undefinition.
44819         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
44820         needed for the gnulib module 'close'.
44821         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
44822         define to an error symbol or to a warning, if suitable.
44823         * lib/close.c: Include <sys/socket.h>.
44824         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
44825         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
44826         UNISTD_H_HAVE_WINSOCK2_H.
44827         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
44828         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44829         UNISTD_H_HAVE_WINSOCK2_H.
44830         * modules/sys_socket (Files): Add m4/unistd_h.m4.
44831         (configure.ac): Set a module indicator.
44832         (Makefile.am): Substitute GNULIB_CLOSE.
44833         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
44834         * modules/poll-tests (Depends-on): Add close.
44835         * modules/select-tests (Depends-on): Likewise.
44836
44837 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44838             Bruno Haible  <bruno@clisp.org>
44839
44840         New module 'close'.
44841         * modules/close: New file.
44842         * lib/unistd.in.h (close): Move declaration out of the
44843         FCHDIR_REPLACEMENT scope.
44844         (_gl_unregister_fd): New declaration.
44845         * lib/close.c: New file.
44846         * lib/fchdir.c (rpl_close): Remove function.
44847         * m4/close.m4: New file.
44848         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
44849         close.
44850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
44851         REPLACE_CLOSE.
44852         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
44853         REPLACE_CLOSE.
44854         * modules/fchdir (Depends-on): Add close.
44855
44856 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44857             Bruno Haible  <bruno@clisp.org>
44858
44859         * lib/fcntl.in.h (open): Simplify conditionals.
44860         (_gl_register_fd): New declaration.
44861         * lib/fchdir.c (rpl_open): Remove function.
44862         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
44863         also.
44864         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
44865         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
44866         open.
44867
44868 2008-10-09  Jim Meyering  <meyering@redhat.com>
44869
44870         GNUmakefile: use the more name-space-friendly "_version"
44871         * top/GNUmakefile (_dummy): Update.
44872         (_version): Rename from "version".
44873
44874 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44875             Bruno Haible  <bruno@clisp.org>
44876
44877         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
44878         rpl_close.
44879         (_gl_register_fd): New function, extracted from rpl_open.
44880         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
44881         (rpl_open, rpl_opendir): Use _gl_register_fd.
44882
44883 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44884
44885         Fix organization of 'open' replacement.
44886         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
44887         (gl_FUNC_OPEN): Use it.
44888         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
44889
44890 2008-10-08  Bruno Haible  <bruno@clisp.org>
44891
44892         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
44893
44894 2008-10-08  Simon Josefsson  <simon@josefsson.org>
44895
44896         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
44897         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
44898         listen).
44899
44900 2008-10-08  Eric Blake  <ebb9@byu.net>
44901
44902         GNUmakefile: add 'make version' target
44903         * top/GNUmakefile (_curr-ver): Split version update rules...
44904         (version): ...into a target.
44905
44906 2008-10-07  Bruno Haible  <bruno@clisp.org>
44907
44908         Use a more portable replacement expression for -0.0L.
44909         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
44910         instead of -0.0L. Fix m4 quotation.
44911
44912         * tests/test-signbit.c: Include <float.h>.
44913         (minus_zero): New variable.
44914         (test_signbitl): Use minus_zero instead of -zero.
44915         * modules/signbit-tests (Depends-on): Add float.
44916
44917         * tests/test-ceill.c: Include <float.h>.
44918         (zero): Remove variable.
44919         (minus_zero): New variable.
44920         (main): Use minus_zero instead of -zero.
44921         * modules/ceill-tests (Depends-on): Add float.
44922
44923         * tests/test-floorl.c: Include <float.h>.
44924         (zero): Remove variable.
44925         (minus_zero): New variable.
44926         (main): Use minus_zero instead of -zero.
44927         * modules/floorl-tests (Depends-on): Add float.
44928
44929         * tests/test-roundl.c: Include <float.h>.
44930         (zero): Remove variable.
44931         (minus_zero): New variable.
44932         (main): Use minus_zero instead of -zero.
44933         * modules/roundl-tests (Depends-on): Add float.
44934
44935         * tests/test-truncl.c: Include <float.h>.
44936         (zero): Remove variable.
44937         (minus_zero): New variable.
44938         (main): Use minus_zero instead of -zero.
44939         * modules/truncl-tests (Depends-on): Add float.
44940
44941         * tests/test-frexpl.c (zero): Remove variable.
44942         (minus_zero): New variable.
44943         (main): Use minus_zero instead of -zero.
44944         * modules/frexpl-tests (Depends-on): Add float.
44945
44946         * tests/test-isnan.c (zerol): Remove variable.
44947         (minus_zerol): New variable.
44948         (test_long_double): Use minus_zerol instead of -zerol.
44949         * modules/isnan-tests (Depends-on): Add float.
44950
44951         * tests/test-isnanl.h (zero): Remove variable.
44952         (minus_zero): New variable.
44953         (main): Use minus_zero instead of -zero.
44954         * modules/isnanl-nolibm-tests (Depends-on): Add float.
44955         * modules/isnanl-tests (Depends-on): Add float.
44956
44957         * tests/test-ldexpl.c (zero): Remove variable.
44958         (minus_zero): New variable.
44959         (main): Use minus_zero instead of -zero.
44960         * modules/ldexpl-tests (Depends-on): Add float.
44961
44962         * tests/test-snprintf-posix.h (zerol): Remove variable.
44963         (minus_zerol): New variable.
44964         (test_function): Use minus_zerol instead of -zerol.
44965         * modules/snprintf-posix-tests (Depends-on): Add float.
44966         * modules/vsnprintf-posix-tests (Depends-on): Add float.
44967
44968         * tests/test-sprintf-posix.h (zerol): Remove variable.
44969         (minus_zerol): New variable.
44970         (test_function): Use minus_zerol instead of -zerol.
44971         * modules/sprintf-posix-tests (Depends-on): Add float.
44972         * modules/vsprintf-posix-tests (Depends-on): Add float.
44973
44974         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
44975         (minus_zerol): New variable.
44976         (test_function): Use minus_zerol instead of -zerol.
44977         * modules/vasnprintf-posix-tests (Depends-on): Add float.
44978
44979         * tests/test-vasprintf-posix.c (zerol): Remove variable.
44980         (minus_zerol): New variable.
44981         (test_function): Use minus_zerol instead of -zerol.
44982         * modules/vasprintf-posix-tests (Depends-on): Add float.
44983
44984 2008-10-07  Simon Josefsson  <simon@josefsson.org>
44985
44986         * MODULES.html.sh (Support for building documentation): Mention
44987         pmccabe2html.  Sort entries.
44988
44989         Add pmccabe2html module, from gnupdf.
44990         * build-aux/pmccabe.css: New file.
44991         * build-aux/pmccabe2html: New file.
44992         * m4/pmccabe2html.m4: New file.
44993         * modules/pmccabe2html: New file.
44994
44995 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
44996
44997         flock: new module
44998         * MODULES.html.sh: Add to list of modules.
44999         * lib/flock.c: flock implementation for Windows and Unix systems
45000         which have fcntl.
45001         * doc/glibc-functions/flock.texi: Update documentation.
45002         * lib/sys_file.in.h: <sys/file.h> header file.
45003         * m4/flock.m4: M4 macros.
45004         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45005         * modules/flock: flock module.
45006         * modules/flock-tests: flock tests module.
45007         * modules/sys_file: sys/file.h module.
45008         * tests/test-flock.c: test suite for flock.
45009
45010 2008-10-06  Jim Meyering  <meyering@redhat.com>
45011
45012         bootstrap: check for LT_INIT more portably still ;-)
45013         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45014         Spotted by Bruno Haible.
45015
45016 2008-10-06  Eric Blake  <ebb9@byu.net>
45017
45018         test-signbit: avoid tripping Irix cc bug on -0.0L
45019         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45020         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45021         entire testsuite consistent and avoids an Irix 6.2 bug.
45022
45023 2008-10-05  Bruno Haible  <bruno@clisp.org>
45024             Jim Meyering  <jim@meyering.net>
45025
45026         Add an option for ignoring EPIPE during close_stdout.
45027         * lib/closeout.h: Include <stdbool.h>.
45028         (close_stdout_set_ignore_EPIPE): New declaration.
45029         * lib/closeout.c: Include <stdbool.h>.
45030         (ignore_EPIPE): New variable.
45031         (close_stdout_set_ignore_EPIPE): New function.
45032         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45033         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45034         failure.
45035         * modules/closeout (Depends-on): Add stdbool.
45036
45037 2008-10-05  Bruno Haible  <bruno@clisp.org>
45038
45039         * modules/accept: New file.
45040         * modules/bind: New file.
45041         * modules/connect: New file.
45042         * modules/getpeername: New file.
45043         * modules/getsockname: New file.
45044         * modules/getsockopt: New file.
45045         * modules/listen: New file.
45046         * modules/recv: New file.
45047         * modules/recvfrom: New file.
45048         * modules/send: New file.
45049         * modules/sendto: New file.
45050         * modules/setsockopt: New file.
45051         * modules/socket: New file.
45052         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45053         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45054         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45055         the particular module is requested. Add a link warning when the
45056         particular module is not requested.
45057         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45058         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45059         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45060         the particular module is requested.
45061         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45062         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45063         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45064         * modules/sys_socket (Depends-on): Add link-warning.
45065         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45066         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45067         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45068         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45069         GL_LINK_WARNING.
45070         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45071         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45072         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45073         * doc/posix-functions/getpeername.texi: Mention the new module
45074         'getpeername'.
45075         * doc/posix-functions/getsockname.texi: Mention the new module
45076         'getsockname'.
45077         * doc/posix-functions/getsockopt.texi: Mention the new module
45078         'getsockopt'.
45079         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45080         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45081         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45082         * doc/posix-functions/send.texi: Mention the new module 'send'.
45083         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45084         * doc/posix-functions/setsockopt.texi: Mention the new module
45085         'setsockopt'.
45086         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45087         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45088         listen, connect, accept.
45089         * modules/select-tests (Depends-on): Likewise.
45090
45091 2008-10-05  Bruno Haible  <bruno@clisp.org>
45092
45093         * lib/winsock.c (strerror): Remove unused #undef.
45094         (rpl_close): Remove unused local variable.
45095
45096         * modules/sys_socket (Depends-on); Add errno.
45097
45098 2008-10-05  Bruno Haible  <bruno@clisp.org>
45099
45100         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45101         (select): Add a link warning when the 'select' module is not used.
45102         * modules/sys_select (Depends-on): Add link-warning.
45103         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45104         Suggested by Paolo Bonzini.
45105
45106 2008-10-05  Jim Meyering  <meyering@redhat.com>
45107
45108         bootstrap: check for LT_INIT more portably
45109         * build-aux/bootstrap: Avoid using grep -E, since it's not
45110         portable enough.  Suggestion from Bruno Haible.
45111
45112 2008-10-05  Bruno Haible  <bruno@clisp.org>
45113
45114         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45115         as being fixed by gnulib.
45116
45117 2008-10-05  Bruno Haible  <bruno@clisp.org>
45118
45119         * modules/select-tests: New file, mostly copied from
45120         modules/sys_select-tests.
45121         * tests/test-select.c: New file, mostly copied from
45122         tests/test-sys_select.c.
45123         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45124         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45125         (Makefile.am): Remove test_sys_select_LDADD.
45126
45127         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45128         to an undefined symbol, for an error message.
45129         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45130         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45131         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45132         winsock-select.c here.
45133         * modules/sys_select (Files): Remove lib/winsock-select.c.
45134         (Depends-on): Remove alloca.
45135         (Makefile.am): Substitute GNULIB_SELECT.
45136         * modules/select: New file.
45137         * doc/posix-functions/select.texi: Update.
45138
45139 2008-10-05  Bruno Haible  <bruno@clisp.org>
45140
45141         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45142         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45143         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45144         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45145         getdtablesize.
45146         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45147         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45148
45149 2008-10-05  Bruno Haible  <bruno@clisp.org>
45150
45151         * modules/getdtablesize-tests: New file.
45152         * tests/test-getdtablesize.c: New file.
45153
45154         New module 'getdtablesize'.
45155         * lib/unistd.in.h (getdtablesize): New declaration.
45156         * lib/getdtablesize.c: New file.
45157         * m4/getdtablesize.m4: New file.
45158         * modules/getdtablesize: New file.
45159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45160         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45161         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45162         HAVE_GETDTABLESIZE.
45163         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45164
45165 2008-10-05  Bruno Haible  <bruno@clisp.org>
45166
45167         * modules/sched (Makefile.am): Fix typo.
45168         Reported by Simon Josefsson.
45169
45170 2008-10-05  Jim Meyering  <meyering@redhat.com>
45171
45172         bootstrap: check for LT_INIT, too
45173         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45174         are deprecated.  Suggestion from Ralf Wildenhues.
45175
45176 2008-10-05  Bruno Haible  <bruno@clisp.org>
45177
45178         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45179         overriding them by ours.
45180         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45181
45182 2008-10-05  Jim Meyering  <meyering@redhat.com>
45183
45184         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45185         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45186         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45187
45188 2008-10-04  Bruno Haible  <bruno@clisp.org>
45189
45190         * modules/dup2 (License): Change to LGPLv2+.
45191         * modules/sleep (License): Likewise.
45192         * modules/perror (License): Likewise.
45193         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45194         Blake.
45195         * modules/signal (License): Likewise.
45196         * modules/sigprocmask (License): Likewise.
45197         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45198         Meyering.
45199
45200 2008-10-04  Bruno Haible  <bruno@clisp.org>
45201
45202         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45203         Reported by Rainer Tammer <tammer@tammer.net>.
45204
45205 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45206             Bruno Haible  <bruno@clisp.org>
45207
45208         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45209         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45210         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45211
45212 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45213
45214         filevercmp: new module
45215         * lib/filevercmp.h: New function filevercmp comparing version strings.
45216         * lib/filevercmp.c: Implementation of filevercmp function.
45217         * modules/filevercmp: Module metadata.
45218         * tests/test-filevercmp.c: Unit test for new module.
45219         * modules/filevercmp-tests: Unit test metadata.
45220         * MODULES.html.sh: Add filevercmp module.
45221
45222 2008-10-03  Bruno Haible  <bruno@clisp.org>
45223
45224         * lib/c-ctype.h: Add comment.
45225         Reported by Jim Meyering.
45226
45227 2008-10-02  Bruno Haible  <bruno@clisp.org>
45228
45229         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45230
45231 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45232
45233         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45234         name of bootstrap.conf accordingly.
45235
45236 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45237
45238         * build-aux/bootstrap: Install git-merge-changelog configuration
45239         items into .gitconfig if needed.
45240
45241 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45242
45243         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45244         git repository, and initialize/update it accordingly.
45245
45246 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45247
45248         * modules/fsync-tests: New file.
45249         * tests/test-fsync.c: New file.
45250
45251         New module 'fsync'.
45252         * lib/fsync.c: New file.
45253         * m4/fsync.m4: New file.
45254         * modules/fsync: New file.
45255         * lib/unistd.in.h (fsync): New declaration.
45256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45257         GNULIB_FSYNC and HAVE_FSYNC.
45258         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45259         * MODULES.html.sh (posix_functions): Add fsync.
45260         * doc/posix-functions/fsync.texi: Mention the new module.
45261
45262 2008-10-02  Jim Meyering  <meyering@redhat.com>
45263
45264         fts.c: sync with similar code from coreutils' remove.c
45265         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45266         Guard also with "#if defined __linux__", since for now at least,
45267         this code is Linux-kernel-specific.
45268
45269 2008-10-02  Jim Meyering  <meyering@redhat.com>
45270
45271         fts: bug fixes
45272         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45273         Include <sys/vfs.h>, not <sys/statfs.h>.
45274
45275         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45276         Include <sys/vfs.h>, not <sys/statfs.h>.
45277
45278 2008-10-01  Bruno Haible  <bruno@clisp.org>
45279
45280         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45281         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45282         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45283         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45284         * doc/posix-functions/posix_spawnp.texi: Likewise.
45285         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45286         whether posix_spawn actually works.
45287         * m4/pipe.m4 (gl_PIPE): Likewise.
45288         * modules/execute (Files): Add m4/posix_spawn.m4.
45289         * modules/pipe (Files): Add m4/posix_spawn.m4.
45290         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45291
45292 2008-10-01  Jim Meyering  <meyering@redhat.com>
45293
45294         remove trailing spaces
45295         * NEWS: Likewise.
45296         * lib/poll.c (poll): Likewise.
45297         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45298         * lib/winsock.c (rpl_close): Likewise.
45299         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45300         * modules/yield: Likewise.
45301         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45302         * tests/test-sys_select.c (connect_to_socket): Likewise.
45303
45304         fts.c: adjust a new interface to be more generally useful
45305         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45306         (fts_build): Adjust caller.
45307
45308 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45309
45310         * modules/cond-tests: New file.
45311         * tests/test-cond.c: New file.
45312
45313 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45314             Bruno Haible  <bruno@clisp.org>
45315
45316         * modules/cond (Dependencies): Add errno, time.
45317         * lib/glthread/cond.h: Include <time.h>.
45318         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45319         across platforms.
45320
45321 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45322             Bruno Haible  <bruno@clisp.org>
45323
45324         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45325
45326 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45327             Bruno Haible  <bruno@clisp.org>
45328
45329         * modules/tls-tests (Depends-on): Add thread, yield.
45330         (configure.ac): Remove all checks.
45331         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45332         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45333         gl_thread_self): Remove definitions. Include glthread/thread.h and
45334         glthread/yield.h instead.
45335         (test_tls): Pass an additional NULL argument to gl_thread_join.
45336
45337 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45338             Bruno Haible  <bruno@clisp.org>
45339
45340         * modules/lock-tests (Depends-on): Add thread, yield.
45341         (configure.ac): Remove all checks.
45342         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45343         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45344         gl_thread_self): Remove definitions. Include glthread/thread.h and
45345         glthread/yield.h instead.
45346         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45347         additional NULL argument to gl_thread_join.
45348
45349 2008-09-30  Bruno Haible  <bruno@clisp.org>
45350
45351         Fix the Win32 implementation of the 'thread' module.
45352         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45353         pointer type.
45354         (gl_thread_self): Invoke gl_thread_self_func.
45355         (gl_thread_self_func): New declaration.
45356         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45357         (do_init_self_key, init_self_key): New functions.
45358         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45359         Remove some fields.
45360         (running_threads, running_lock): Remove variables.
45361         (get_current_thread_handle): New function.
45362         (gl_thread_self_func, wrapper_func, glthread_create_func,
45363         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45364         simplified.
45365
45366 2008-09-30  Bruno Haible  <bruno@clisp.org>
45367
45368         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45369         files.
45370
45371 2008-09-30  Jim Meyering  <meyering@redhat.com>
45372
45373         fts.m4: correct the test for statfs.f_type
45374         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45375         when checking for statfs.f_type.
45376
45377 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45378
45379         tests: avoid some compiler warnings
45380         * tests/test-memchr.c (main): Pass NULL indirectly.
45381         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45382
45383 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
45384
45385         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45386         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45387         exactly specified dayshifts.
45388         (dayshift): New rule.
45389         (rel): Add dayshift.
45390         (relative_time_table) [tomorrow, yesterday, today, now]:
45391         Use tDAY_SHIFT in place of tDAY_UNIT.
45392         * tests/test-getdate.c: Add tests for now-disallowed countable
45393         dayshifts, e.g., "4 yesterday ago".
45394
45395 2008-09-29  Bruno Haible  <bruno@clisp.org>
45396
45397         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45398         * tests/test-posix_spawn1.in.sh: Renamed from
45399         tests/test-posix_spawn.in.sh.
45400         * tests/test-posix_spawn2.c: New file.
45401         * tests/test-posix_spawn2.in.sh: New file.
45402         * modules/posix_spawnp-tests (Files): Update.
45403         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45404
45405 2008-09-29  Bruno Haible  <bruno@clisp.org>
45406
45407         Propagate effects of putenv/setenv/unsetenv to child processes.
45408         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45409         * lib/pipe.c (create_pipe): Likewise.
45410
45411 2008-09-29  Bruno Haible  <bruno@clisp.org>
45412
45413         Enable use of shell scripts as executables in mingw.
45414         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45415         run the program as a shell script.
45416         * lib/pipe.c (create_pipe): Likewise.
45417         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45418         resulting array.
45419
45420 2008-09-29  Eric Blake  <ebb9@byu.net>
45421
45422         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45423
45424 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45425
45426         * doc/posix-functions/accept.texi: Update mingw problems.
45427         * doc/posix-functions/bind.texi: Update mingw problems.
45428         * doc/posix-functions/close.texi: Update mingw problems.
45429         * doc/posix-functions/connect.texi: Update mingw problems.
45430         * doc/posix-functions/getpeername.texi: Update mingw problems.
45431         * doc/posix-functions/getsockname.texi: Update mingw problems.
45432         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45433         * doc/posix-functions/ioctl.texi: Update mingw problems.
45434         * doc/posix-functions/listen.texi: Update mingw problems.
45435         * doc/posix-functions/recv.texi: Update mingw problems.
45436         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45437         * doc/posix-functions/select.texi: Update mingw problems.
45438         * doc/posix-functions/send.texi: Update mingw problems.
45439         * doc/posix-functions/sendto.texi: Update mingw problems.
45440         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45441         * doc/posix-functions/socket.texi: Update mingw problems.
45442
45443 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45444             Bruno Haible  <bruno@clisp.org>
45445
45446         * lib/sys_select.in.h: Include sys/time.h.
45447         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45448         * modules/sys_select: Depend on sys_time.
45449         * tests/test-sys_select.c: Test that sys/select.h defines struct
45450         timeval fully.
45451
45452 2008-09-29  Bruno Haible  <bruno@clisp.org>
45453
45454         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45455         * lib/sys_select.in.h: Likewise.
45456
45457 2008-09-29  Bruno Haible  <bruno@clisp.org>
45458
45459         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45460
45461 2008-09-29  Bruno Haible  <bruno@clisp.org>
45462
45463         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45464         Set LIBSOCKET instead of augmenting LIBS.
45465         * modules/sockets (Link): New section.
45466         * modules/sockets-tests (test_sockets_LDADD): New variable.
45467         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45468         * modules/poll-tests (test_poll_LDADD): New variable.
45469         * NEWS: Document the change.
45470
45471 2008-09-29  Bruno Haible  <bruno@clisp.org>
45472
45473         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
45474         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
45475         ARPA_INET_H directly.
45476         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45477
45478 2008-09-28  Bruno Haible  <bruno@clisp.org>
45479
45480         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
45481         from gl_HEADER_SYS_SOCKET.
45482         (gl_HEADER_SYS_SOCKET): Invoke it.
45483         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45484
45485 2008-09-28  Bruno Haible  <bruno@clisp.org>
45486
45487         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
45488         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
45489         Needed on OSF/1 4.0.
45490
45491 2008-09-28  Bruno Haible  <bruno@clisp.org>
45492
45493         Override open more carefully.
45494         * lib/open.c (orig_open): New function.
45495         (rpl_open): Use orig_open instead of open.
45496         * lib/fcntl.in.h: Add special invocation convention.
45497         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
45498         (gl_FUNC_OPEN): Invoke it.
45499
45500         Override freopen more carefully.
45501         * lib/freopen.c (orig_freopen): New function.
45502         (rpl_freopen): Use orig_freopen instead of freopen.
45503         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
45504         (gl_FUNC_FREOPEN): Invoke it.
45505
45506         Override fopen more carefully.
45507         * lib/fopen.c (orig_fopen): New function.
45508         (rpl_fopen): Use orig_fopen instead of fopen.
45509         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
45510         (gl_FUNC_FOPEN): Invoke it.
45511         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
45512
45513 2008-09-28  Bruno Haible  <bruno@clisp.org>
45514
45515         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
45516         SIGPIPE.
45517
45518 2008-09-28  Bruno Haible  <bruno@clisp.org>
45519
45520         * tests/test-sigaction.c (handler, main): Disable the check whether
45521         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
45522         glibc systems with LinuxThreads.
45523
45524 2008-09-28  Bruno Haible  <bruno@clisp.org>
45525
45526         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
45527
45528         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
45529         with AIX xlc.
45530         * lib/fcntl.in.h (open): Likewise.
45531         Reported by Rainer Tammer <tammer@tammer.net>.
45532
45533 2008-09-28  Bruno Haible  <bruno@clisp.org>
45534
45535         * modules/posix_spawnp-tests: New file.
45536         * tests/test-posix_spawn.c: New file.
45537         * tests/test-posix_spawn.in.sh: New file.
45538
45539         New module 'posix_spawnp'.
45540         * modules/posix_spawnp: New file.
45541         * lib/spawnp.c: New file, from GNU libc with modifications.
45542         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
45543
45544         New module 'posix_spawn'.
45545         * modules/posix_spawn: New file.
45546         * lib/spawn.c: New file, from GNU libc with modifications.
45547         * doc/posix-functions/posix_spawn.texi: Mention the new module.
45548
45549         New module 'posix_spawnattr_destroy'.
45550         * modules/posix_spawnattr_destroy: New file.
45551         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
45552         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
45553         module.
45554
45555         New module 'posix_spawnattr_setsigmask'.
45556         * modules/posix_spawnattr_setsigmask: New file.
45557         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
45558         modifications.
45559         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
45560         new module.
45561
45562         New module 'posix_spawnattr_getsigmask'.
45563         * modules/posix_spawnattr_getsigmask: New file.
45564         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
45565         modifications.
45566         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
45567         new module.
45568
45569         New module 'posix_spawnattr_setsigdefault'.
45570         * modules/posix_spawnattr_setsigdefault: New file.
45571         * lib/spawnattr_setdefault.c: New file, from GNU libc with
45572         modifications.
45573         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
45574         new module.
45575
45576         New module 'posix_spawnattr_getsigdefault'.
45577         * modules/posix_spawnattr_getsigdefault: New file.
45578         * lib/spawnattr_getdefault.c: New file, from GNU libc with
45579         modifications.
45580         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
45581         new module.
45582
45583         New module 'posix_spawnattr_setschedpolicy'.
45584         * modules/posix_spawnattr_setschedpolicy: New file.
45585         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
45586         modifications.
45587         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
45588         new module.
45589
45590         New module 'posix_spawnattr_getschedpolicy'.
45591         * modules/posix_spawnattr_getschedpolicy: New file.
45592         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
45593         modifications.
45594         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
45595         new module.
45596
45597         New module 'posix_spawnattr_setschedparam'.
45598         * modules/posix_spawnattr_setschedparam: New file.
45599         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
45600         modifications.
45601         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
45602         new module.
45603
45604         New module 'posix_spawnattr_getschedparam'.
45605         * modules/posix_spawnattr_getschedparam: New file.
45606         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
45607         modifications.
45608         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
45609         new module.
45610
45611         New module 'posix_spawnattr_setpgroup'.
45612         * modules/posix_spawnattr_setpgroup: New file.
45613         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
45614         modifications.
45615         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
45616         module.
45617
45618         New module 'posix_spawnattr_getpgroup'.
45619         * modules/posix_spawnattr_getpgroup: New file.
45620         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
45621         modifications.
45622         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
45623         module.
45624
45625         New module 'posix_spawnattr_setflags'.
45626         * modules/posix_spawnattr_setflags: New file.
45627         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
45628         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
45629         module.
45630
45631         New module 'posix_spawnattr_getflags'.
45632         * modules/posix_spawnattr_getflags: New file.
45633         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
45634         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
45635         module.
45636
45637         New module 'posix_spawnattr_init'.
45638         * modules/posix_spawnattr_init: New file.
45639         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
45640         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
45641         module.
45642
45643         New module 'posix_spawn_file_actions_destroy'.
45644         * modules/posix_spawn_file_actions_destroy: New file.
45645         * lib/spawn_faction_destroy.c: New file, from GNU libc with
45646         modifications.
45647         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
45648         the new module.
45649
45650         New module 'posix_spawn_file_actions_addopen'.
45651         * modules/posix_spawn_file_actions_addopen: New file.
45652         * lib/spawn_faction_addopen.c: New file, from GNU libc with
45653         modifications.
45654         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
45655         the new module.
45656
45657         New module 'posix_spawn_file_actions_adddup2'.
45658         * modules/posix_spawn_file_actions_adddup2: New file.
45659         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
45660         modifications.
45661         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
45662         the new module.
45663
45664         New module 'posix_spawn_file_actions_addclose'.
45665         * modules/posix_spawn_file_actions_addclose: New file.
45666         * lib/spawn_faction_addclose.c: New file, from GNU libc with
45667         modifications.
45668         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
45669         the new module.
45670
45671         New module 'posix_spawn_file_actions_init'.
45672         * modules/posix_spawn_file_actions_init: New file.
45673         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
45674         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
45675         new module.
45676
45677         New module 'posix_spawn-internal'.
45678         * modules/posix_spawn-internal: New file.
45679         * lib/spawn_int.h: New file, from GNU libc with modifications.
45680         * lib/spawni.c: New file, from GNU libc with modifications.
45681         * m4/posix_spawn.m4: New file.
45682
45683         New module 'spawn'.
45684         * modules/spawn: New file.
45685         * lib/spawn.in.h: New file, from GNU libc with modifications.
45686         * m4/spawn_h.m4: New file.
45687         * doc/posix-headers/spawn.texi: Mention the new module.
45688
45689 2008-09-28  Bruno Haible  <bruno@clisp.org>
45690
45691         * modules/sched-tests: New file.
45692         * tests/test-sched.c: New file.
45693
45694         New module 'sched'.
45695         * modules/sched: New file.
45696         * lib/sched.in.h: New file.
45697         * m4/sched_h.m4: New file.
45698         * doc/posix-headers/sched.texi: Mention the new module.
45699
45700 2008-09-27  Eric Blake  <ebb9@byu.net>
45701
45702         Fix previous patch, and tweak references to $0.
45703         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
45704         (func_version, func_gnulib_dir): Don't call this program
45705         gnulib-tool.
45706         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
45707         with using $0 in function.
45708         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
45709         (func_fatal_error): Reuse the name the user invoked us with.
45710
45711 2008-09-27  Bruno Haible  <bruno@clisp.org>
45712
45713         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
45714         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
45715         (gl_ICONV_H): Not here.
45716         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
45717         instead of assigning ICONV_H directly.
45718
45719         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
45720         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
45721         WCHAR_H directly.
45722
45723 2008-09-27  Bruno Haible  <bruno@clisp.org>
45724
45725         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
45726         * modules/arpa_inet (Depends-on): Add link-warning.
45727         (Makefile.am): Insert the definition of GL_LINK-WARNING.
45728         * modules/unistd (Makefile.am): Likewise.
45729
45730 2008-09-26  Bruno Haible  <bruno@clisp.org>
45731
45732         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
45733         variables.
45734         (func_version): Essentially copied from gnulib-tool.
45735         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
45736         func_readlink): Copied from gnulib-tool.
45737
45738 2008-09-26  Bruno Haible  <bruno@clisp.org>
45739
45740         * gnulib-tool (func_version): Change directory to $gnulib_dir before
45741         invoking git-version-gen.
45742
45743 2008-09-26  Bruno Haible  <bruno@clisp.org>
45744
45745         * posix-modules: Update to directory names changed on 2008-01-19.
45746         Remove commas in output before splitting into words. No more need to
45747         avoid 'ftruncate' since 2007-02-19.
45748
45749 2008-09-26  Bruno Haible  <bruno@clisp.org>
45750
45751         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
45752
45753 2008-09-26  Bruno Haible  <bruno@clisp.org>
45754
45755         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
45756         * modules/fwriteerror (Depends-on): Add errno.
45757
45758 2008-09-26  Bruno Haible  <bruno@clisp.org>
45759
45760         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
45761         * tests/test-vc-list-files-cvs.sh: Likewise.
45762
45763 2008-09-26  Bruno Haible  <bruno@clisp.org>
45764
45765         * doc/posix-headers/sys_resource.texi: Reorder items.
45766
45767 2008-09-26  Jim Meyering  <meyering@redhat.com>
45768
45769         fts: tweak inode comparison function
45770         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
45771         inode numbers, as documented.
45772
45773         fts: sort dirent entries on inode number before traversing
45774         This avoids a quadratic, seek-related performance penalty when
45775         operating on a directory containing many entries (measurable at 10k;
45776         3.5 hours at 2 million entries with a cold cache) on certain types
45777         of file systems, including ext3 and ext4, but not tmpfs.
45778         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
45779         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
45780         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
45781         (fs_handles_readdir_ordered_dirents_efficiently): New function.
45782         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
45783         (fts_build): Set the stat.st_ino member from D_INO.
45784         If it is likely to be useful, sort dirent entries on inode number.
45785
45786         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
45787         and the struct statfs.f_type member.
45788         * modules/fts (Depends-on): Add d-ino.
45789
45790 2008-09-26  Bruno Haible  <bruno@clisp.org>
45791
45792         * modules/sigpipe-die (Depends-on): Add sigpipe.
45793
45794         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
45795         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
45796         and GNULIB_STDIO_H_SIGPIPE are set.
45797         * lib/stdio-write.c: New file.
45798         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
45799         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45800         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45801         REPLACE_STDIO_WRITE_FUNCS.
45802         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
45803         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45804         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45805         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
45806         * modules/stdio (Files): Add lib/stdio-write.c.
45807         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
45808         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45809         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45810         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
45811         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
45812         REPLACE_FPRINTF_POSIX.
45813         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
45814         REPLACE_PRINTF_POSIX.
45815         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
45816         REPLACE_VFPRINTF_POSIX.
45817         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
45818         REPLACE_VPRINTF_POSIX.
45819         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
45820         SIGPIPE issue.
45821         * doc/posix-functions/fputc.texi: Likewise.
45822         * doc/posix-functions/fputs.texi: Likewise.
45823         * doc/posix-functions/fwrite.texi: Likewise.
45824         * doc/posix-functions/printf.texi: Likewise.
45825         * doc/posix-functions/putc.texi: Likewise.
45826         * doc/posix-functions/putchar.texi: Likewise.
45827         * doc/posix-functions/puts.texi: Likewise.
45828         * doc/posix-functions/vfprintf.texi: Likewise.
45829         * doc/posix-functions/vprintf.texi: Likewise.
45830
45831         * modules/safe-write (Depends-on): Add write.
45832
45833         * modules/sigpipe-tests: New file.
45834         * tests/test-sigpipe.c: New file.
45835         * tests/test-sigpipe.sh: New file.
45836
45837         * modules/write: New file.
45838         * lib/unistd.in.h: Include <sys/types.h>.
45839         (write): New declaration.
45840         * lib/write.c: New file.
45841         * m4/write.m4: New file.
45842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45843         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
45844         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
45845         GNULIB_WRITE, REPLACE_WRITE.
45846         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
45847         and the SIGPIPE issue.
45848
45849         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
45850         (raise): New declaration.
45851         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
45852         (ext_signal): New function.
45853         (rpl_raise): New function.
45854         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
45855         GNULIB_SIGNAL_H_SIGPIPE.
45856         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
45857         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
45858
45859         * modules/sigpipe: New file.
45860         * m4/sigpipe.m4: New file.
45861
45862 2008-09-25  Derek Price  <derek@ximbiot.com>
45863             Bruno Haible  <bruno@clisp.org>
45864
45865         * gnulib-tool (func_import): Report all license incompatibilities, not
45866         just the first one.
45867
45868 2008-09-25  Bruno Haible  <bruno@clisp.org>
45869
45870         * gnulib-tool (func_import): When computing the edits, consider not
45871         only the Makefile.ams that exist but also those that will be generated.
45872
45873 2008-09-25  Simon Josefsson  <simon@josefsson.org>
45874
45875         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
45876         fixes gnulib-tool --test warning about duplicate dependency.
45877
45878 2008-09-25  Bruno Haible  <bruno@clisp.org>
45879
45880         * gnulib-tool: Don't ask the user to perform edits in the generated
45881         Makefile.ams.
45882         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
45883         apply to the Makefile.am being generated.
45884         (func_emit_tests_Makefile_am): Execute edits that apply to the
45885         Makefile.am being generated.
45886         (func_import): Setup list of Makefile.am edits before emitting the
45887         Makefile.ams, not at the end.
45888         (func_create_testdir): Update.
45889         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45890
45891 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45892
45893         * gnulib-tool (func_import): Store the --tests-base option in the
45894         comment in gnulib-cache.m4.
45895
45896 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
45897
45898         * NEWS: Document increased portability that sys_select now provides.
45899
45900         * lib/sys_select.in.h: Install select wrapper.
45901         * lib/sys_socket.in.h: Use more descriptive name when there is no
45902         select wrapper.
45903         * lib/winsock-select.c: New.
45904         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
45905         Require gl_HEADER_SYS_SOCKET.
45906         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
45907         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
45908         * tests/test-sys_select.c: Add functional tests.
45909
45910 2008-09-24  Eric Blake  <ebb9@byu.net>
45911
45912         open, fopen: close fd leak in last patch
45913         * lib/open.c (rpl_open): Close fd before returning error.
45914         * lib/fopen.c (rpl_fopen): Close fd before returning error.
45915         * doc/posix-functions/open.texi (open): Document that Irix also
45916         has the bug.
45917         * doc/posix-functions/fopen.texi (fopen): Likewise.
45918         Reported by Paolo Bonzini.
45919
45920 2008-09-24  Bruno Haible  <bruno@clisp.org>
45921
45922         Ensure that a filename ending in a slash cannot be used to access a
45923         non-directory.
45924         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
45925         to check whether it's really a directory.
45926         * lib/fopen.c: Include fcntl.h, unistd.h.
45927         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
45928         and fdopen().
45929         * modules/fopen (Depends-on): Add unistd.
45930         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
45931         * tests/test-fopen.c (main): Likewise.
45932         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
45933         * doc/posix-functions/fopen.texi: Likewise.
45934         Reported by Eric Blake.
45935
45936 2008-09-23  Eric Blake  <ebb9@byu.net>
45937
45938         c-stack: avoid compiler optimizations when provoking overflow
45939         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
45940         recursion harder to optimize, to ensure a stack overflow occurs.
45941         * tests/test-c-stack.c (recurse): Likewise.
45942         Borrowed from libsigsegv.
45943
45944         c-stack: work around Irix sigaltstack bug
45945         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
45946         whether sigaltstack uses wrong end of stack_t (copied in part from
45947         libsigsegv).
45948         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
45949         Irix bug, without requiring an over-allocation.
45950         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
45951         bug.
45952
45953         fopen: document mingw bug on directories
45954         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
45955         not allowing a stream visiting a directory, even though reading
45956         from such a stream is not portable.
45957
45958 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
45959
45960         * lib/poll.c: Rewrite.
45961         * modules/poll: Depend on alloca.
45962
45963 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
45964
45965         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
45966         instead define prototypes for a full set of wrappers.  Ensure
45967         that Cygwin does not use the compatibility code, which is only
45968         for MinGW.
45969         * lib/winsock.c: New.
45970         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
45971         * modules/sys_socket: Add lib/winsock.c.
45972
45973         * modules/poll-tests: Add errno and perror.
45974         * tests/test-poll.c: Use ioctl, not ioctlsocket.
45975
45976 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
45977
45978         * tests/test-poll.c: Downgrade minimum needed Winsock version.
45979
45980 2008-09-23  Bruno Haible  <bruno@clisp.org>
45981
45982         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
45983         * doc/glibc-functions/*: Likewise.
45984
45985 2008-09-23  Simon Josefsson  <simon@josefsson.org>
45986
45987         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
45988         success.
45989
45990 2008-09-22  Eric Blake  <ebb9@byu.net>
45991             Bruno Haible  <bruno@clisp.org>
45992
45993         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
45994         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
45995         supply %A but mishandle pseudo-NaN.
45996         Reported by Simon Josefsson.
45997
45998 2008-09-21  Bruno Haible  <bruno@clisp.org>
45999
46000         * tests/test-lock.c (main): Tweak skip message.
46001         * tests/test-tls.c (main): Likewise.
46002
46003 2008-09-21  Bruno Haible  <bruno@clisp.org>
46004
46005         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46006         whether 'struct sigaction' has sa_sigaction here...
46007         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46008         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46009
46010 2008-09-21  Bruno Haible  <bruno@clisp.org>
46011
46012         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46013         section.
46014         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46015         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46016         the new section.
46017         (Support for obsolete systems lacking POSIX:2001): New section.
46018         (String handling <string.h>): Move strdup to the new section.
46019         Suggested by Simon Josefsson and Paolo Bonzini.
46020
46021 2008-09-21  Bruno Haible  <bruno@clisp.org>
46022
46023         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46024         exponents in %e and %g results on 'long double'. Needed for mingw's
46025         improved *printf functions.
46026         * tests/test-vasprintf-posix.c (test_function): Likewise.
46027         * tests/test-snprintf-posix.h (test_function): Likewise.
46028         * tests/test-sprintf-posix.h (test_function): Likewise.
46029         Reported by Eric Blake.
46030
46031 2008-09-21  Bruno Haible  <bruno@clisp.org>
46032
46033         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46034         * tests/test-sprintf-posix.h (test_function): Likewise.
46035
46036 2008-09-21  Bruno Haible  <bruno@clisp.org>
46037
46038         * modules/getpass (Depends-on): Add strdup-posix.
46039
46040         New module 'strdup-posix'.
46041         * modules/strdup-posix: New file.
46042         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46043         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46044         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46045         REPLACE_STRDUP.
46046         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46047         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46048         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46049         strdup-posix.
46050
46051         * modules/strdup (Depends-on): Remove malloc-posix.
46052
46053 2008-09-20  Bruno Haible  <bruno@clisp.org>
46054
46055         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46056         Wildenhues.
46057
46058 2008-09-20  Bruno Haible  <bruno@clisp.org>
46059
46060         Ensure that wint_t gets defined on IRIX 5.3.
46061         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46062         * lib/wctype.in.h (wint_t): Likewise.
46063         (__wctype_wint_t): Remove type.
46064         (isw*): Use wint_t instead of __wctype_wint_t.
46065         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46066         * modules/wchar (Files): Add m4/wint_t.m4.
46067         (Makefile.am): Substitute HAVE_WINT_T.
46068         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46069         * tests/test-wctype.c: Check that wint_t is defined.
46070         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46071         * doc/posix-headers/wctype.texi: Likewise.
46072         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46073
46074 2008-09-18  Bruno Haible  <bruno@clisp.org>
46075
46076         * gnulib-tool (func_exit): Update comment.
46077
46078 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46079
46080         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46081         assumes strdup exists and does not depend on strdup to return
46082         ENOMEM on out of memory conditions.
46083
46084 2008-09-18  Bruno Haible  <bruno@clisp.org>
46085
46086         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
46087         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46088         digits for the exponent.
46089
46090 2008-09-18  Jim Meyering  <meyering@redhat.com>
46091             Bruno Haible  <bruno@clisp.org>
46092
46093         * lib/vasnprintf.c (decimal_point_char): Define also if
46094         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46095
46096 2008-09-16  Bruno Haible  <bruno@clisp.org>
46097         and Eric Blake  <ebb9@byu.net>
46098
46099         vasnprintf: support Irix 5.3
46100         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46101         that mishandle long double infinity.
46102         Reported by Tom G. Christensen.
46103
46104 2008-09-16  Bruno Haible  <bruno@clisp.org>
46105
46106         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46107         Solaris 9.
46108         * doc/glibc-functions/alphasort.texi: Likewise.
46109         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46110
46111 2008-09-16  Jim Meyering  <meyering@redhat.com>
46112
46113         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46114         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46115         a umask modification leak out of a subshell.  Otherwise, the
46116         opensolaris /bin/sh would be accepted and thus cause unwarranted
46117         failures in the coreutils test suite.
46118
46119 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46120
46121         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46122         to succeed.
46123
46124 2008-09-16  Jim Meyering  <meyering@redhat.com>
46125
46126         avoid spurious test failure when library is built without ACL support
46127         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46128         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46129         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46130         * tests/test-copy-acl.sh: Likewise.
46131
46132 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46133
46134         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46135         based on character occurrence counts.
46136
46137 2008-09-15  Eric Blake  <ebb9@byu.net>
46138
46139         tests: avoid some compiler warnings
46140         * tests/test-memchr.c (main): Pass NULL indirectly.
46141         * tests/test-closein.c (main): Avoid unused variable.
46142
46143 2008-09-15  Bruno Haible  <bruno@clisp.org>
46144
46145         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46146         are missing on OpenBSD 4.0 individually.
46147         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46148
46149 2008-09-15  Bruno Haible  <bruno@clisp.org>
46150
46151         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46152         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46153         * doc/posix-functions/perror.texi: Likewise.
46154         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46155         is missing.
46156         Reported by Eric Blake.
46157
46158         * lib/errno.in.h: Use replacement values >= 2000.
46159         Reported by Eric Blake.
46160
46161 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46162
46163         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46164         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46165         limit.
46166         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46167         compareseq was aborted.
46168
46169 2008-09-14  Bruno Haible  <bruno@clisp.org>
46170
46171         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46172         yvec_edit_count.
46173         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46174         (fstrcmp_bounded): Simplify result computation accordingly.
46175
46176 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46177
46178         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46179         (fstrcmp): Define in terms of fstrcmp_bounded.
46180         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46181         lower_bound argument.
46182         Return quickly if the result is certainly < lower_bound.
46183         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46184
46185 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46186
46187         * lib/diffseq.h (EARLY_ABORT): New macro.
46188         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46189         evaluates to true.
46190
46191 2008-09-14  Bruno Haible  <bruno@clisp.org>
46192
46193         * modules/perror-tests: New file.
46194         * tests/test-perror.sh: New file.
46195         * tests/test-perror.c: New file.
46196
46197         New module 'perror'.
46198         * lib/stdio.in.h (perror): New declaration.
46199         * lib/perror.c: New file.
46200         * m4/perror.m4: New file.
46201         * modules/perror: New file.
46202         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46203         * doc/posix-functions/perror.texi: Mention the perror module.
46204         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46205         REPLACE_PERROR.
46206         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46207         REPLACE_PERROR.
46208
46209 2008-09-14  Bruno Haible  <bruno@clisp.org>
46210
46211         * modules/stdio (Makefile.am): Reorder to match the order in
46212         lib/stdio.in.h.
46213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46214
46215 2008-09-13  Bruno Haible  <bruno@clisp.org>
46216
46217         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46218
46219 2008-09-13  Bruno Haible  <bruno@clisp.org>
46220
46221         Extend strerror to cover the added errno values.
46222         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46223         (rpl_strerror): Provide error messages for the added errno values and
46224         for the WSA* values.
46225         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46226         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46227         strerror.
46228         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46229         * modules/strerror (Depends-on): Add errno.
46230         * doc/posix-functions/strerror.texi: Document the change.
46231         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46232         and EOVERFLOW.
46233
46234 2008-09-13  Bruno Haible  <bruno@clisp.org>
46235
46236         * modules/EOVERFLOW: Remove file.
46237         * m4/eoverflow.m4: Remove file.
46238         * modules/EOVERFLOW-tests: Remove file.
46239         * tests/test-EOVERFLOW.c: Remove file.
46240         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46241         * modules/ftell (Depends-on): Likewise.
46242         * modules/getdelim (Depends-on): Likewise.
46243         * modules/getugroups (Depends-on): Likewise.
46244         * modules/poll (Depends-on): Likewise.
46245         * modules/snprintf (Depends-on): Likewise.
46246         * modules/sprintf-posix (Depends-on): Likewise.
46247         * modules/vasnprintf (Depends-on): Likewise.
46248         * modules/vasprintf (Depends-on): Likewise.
46249         * modules/vfprintf-posix (Depends-on): Likewise.
46250         * modules/vsnprintf (Depends-on): Likewise.
46251         * modules/vsprintf-posix (Depends-on): Likewise.
46252         * modules/xvasprintf (Depends-on): Likewise.
46253         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46254         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46255         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46256         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46257         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46258         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46259         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46260         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46261         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46262         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46263         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46264         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46265         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46266         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46267         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46268         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46269         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46270         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46271         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46272         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46273         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46274         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46275         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46276         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46277         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46278         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46279         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46280         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46281         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46282         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46283         * MODULES.html.sh: Remove EOVERFLOW.
46284         * NEWS: Mention the change.
46285
46286 2008-09-13  Bruno Haible  <bruno@clisp.org>
46287
46288         * modules/errno-tests: New file.
46289         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46290
46291         * lib/errno.in.h: New file.
46292         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46293         * modules/errno: New file.
46294         * doc/posix-headers/errno.texi: Update documentation.
46295         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46296
46297 2008-09-13  Bruno Haible  <bruno@clisp.org>
46298
46299         * tests/test-poll.c: Use #if for native Windows, rather than testing
46300         __MSVCRT__.
46301
46302 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46303             Bruno Haible  <bruno@clisp.org>
46304
46305         * lib/glob.c: Don't include <pwd.h> on native Windows.
46306         (WINDOWS32): New macro.
46307         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46308
46309 2008-09-13  Bruno Haible  <bruno@clisp.org>
46310
46311         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46312         (ETIMEDOUT): Remove macro.
46313         (glthread_cond_timedwait_multithreaded): New declaration.
46314         (glthread_cond_timedwait): Use it.
46315         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46316         (glthread_cond_timedwait_multithreaded): New function.
46317
46318 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46319
46320         * modules/poll-tests: Do not check for io.h.
46321         * tests/test-poll.c: Check for __MSVCRT__ instead.
46322
46323 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46324
46325         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46326         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46327         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46328
46329 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46330
46331         * modules/poll-tests: New.
46332         * tests/test-poll.c: New.
46333
46334 2008-09-12  Eric Blake  <ebb9@byu.net>
46335
46336         frexp: test for NetBSD failure on -0.0
46337         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46338         not all, bugs from NetBSD 3.0 have been fixed.
46339         * doc/posix-functions/frexp.texi (frexp): Document bug.
46340         Reported by Thomas Klausner.
46341
46342         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46343         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46344         literal -0.0.
46345         Reported by Jonathan C. Patschke <jp@centtech.com>.
46346
46347 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46348
46349         * lib/glthread/cond.h: Use dummy implementation also if
46350         USE_WIN32_THREADS.
46351
46352 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46353
46354         * modules/fnmatch-posix (License): Change to LGPLv2+.
46355         * modules/fnmatch-gnu (License): Likewise.
46356
46357 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46358
46359         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46360
46361 2008-09-11  Jim Meyering  <meyering@redhat.com>
46362
46363         * users.txt: Add gtk-vnc.
46364
46365 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46366
46367         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46368         rotate amounts.
46369
46370         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46371         required for 16-bit and 8-bit rotates.
46372         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46373         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46374         UINT8_MAX instead of hard-coded constants.
46375         Suggested by Paul Eggert.
46376
46377 2008-09-07  Bruno Haible  <bruno@clisp.org>
46378
46379         * tests/test-striconveh.c (main): Check behaviour when converting from
46380         UTF-7.
46381
46382         Make striconveh work better with stateful encodings.
46383         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46384         that iconv does not increment the inptr when returning -1/EINVAL.
46385
46386 2008-09-07  Bruno Haible  <bruno@clisp.org>
46387
46388         * build-aux/config.rpath: Update according to libtool-2.2.6.
46389         * build-aux/config.libpath: Likewise.
46390
46391 2008-09-06  Bruno Haible  <bruno@clisp.org>
46392
46393         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46394         * lib/freadptr.c (freadptr): Likewise.
46395         * lib/freadseek.c (freadptrinc): Likewise.
46396         Reported by Simon Josefsson.
46397
46398 2008-09-06  Bruno Haible  <bruno@clisp.org>
46399
46400         * modules/freadptr (License): Change to LGPLv2+.
46401         * modules/freadseek (License): Likewise.
46402         Suggested by Eric Blake.
46403
46404         * modules/memchr2 (License): Change to LGPLv2+.
46405         Approved by Eric Blake.
46406
46407 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46408             Bruno Haible  <bruno@clisp.org>
46409
46410         Make gnulib-tool work with native 'sed' on AIX.
46411         * gnulib-tool (sed_noop): New variable.
46412         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46413         func_add_or_update, func_create_testdir): Use it to initialize sed
46414         script variables.
46415         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46416
46417 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46418             Bruno Haible  <bruno@clisp.org>
46419
46420         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46421         also works after #include directives.
46422
46423 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
46424
46425         getdate.y: reject an out-of-range timezone value
46426         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46427         the range [-24...+24].  When specified with only one or two digits,
46428         * tests/test-getdate.c: Tests for the fix.
46429         * doc/getdate.texi: Document this change.
46430
46431 2008-09-03  Bruno Haible  <bruno@clisp.org>
46432
46433         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46434
46435 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46436
46437         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46438         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46439         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46440         Blake <ebb9@byu.net>.
46441
46442         * tests/test-bitrotate.c: Add more test vectors.
46443
46444 2008-09-02  Eric Blake  <ebb9@byu.net>
46445
46446         vasnprintf-posix: handle large precision via %.*d
46447         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46448         when handling it ourselves.
46449         * tests/test-vasnprintf-posix.c (test_function): Add test.
46450         * tests/test-snprintf-posix.h (test_function): Likewise.
46451         * tests/test-sprintf-posix.h (test_function): Likewise.
46452         * tests/test-vasprintf-posix.c (test_function): Likewise.
46453         Reported by Alain Guibert.
46454
46455 2008-09-01  Eric Blake  <ebb9@byu.net>
46456
46457         c-stack: make configure-time check more robust
46458         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46459         successful sigaction call.
46460         Reported by Tom G. Christensen.
46461
46462 2008-09-01  Bruno Haible  <bruno@clisp.org>
46463
46464         New module 'findprog-lgpl'.
46465         * modules/findprog-lgpl: New file.
46466         * lib/findprog-lgpl.c: New file.
46467         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46468         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
46469         to decide whether to use strdup or xstrdup, concatenated_filename or
46470         xconcatenated_filename.
46471
46472 2008-09-01  Bruno Haible  <bruno@clisp.org>
46473
46474         Split module 'concat-filename' into 'concat-filename' (LGPL) and
46475         'xconcat-filename' (GPL).
46476         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
46477         (License): Change to LGPLv2+.
46478         * modules/xconcat-filename: New file.
46479         * lib/concat-filename.h (concatenated_filename): Change specification.
46480         (xconcatenated_filename): New declaration.
46481         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
46482         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
46483         memory situations.
46484         * lib/xconcat-filename.c: New file.
46485         * NEWS: Mention the change.
46486         * lib/findprog.c: Include concat-filename.h, not filename.h.
46487         (find_in_path): Use xconcatenated_filename instead of
46488         concatenated_filename.
46489         * lib/javacomp.c: Include concat-filename.h, not filename.h.
46490         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46491         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46492         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46493         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
46494         instead of concatenated_filename.
46495         * lib/javaexec.c: Include concat-filename.h, not filename.h.
46496         (execute_java_class): Use xconcatenated_filename instead of
46497         concatenated_filename.
46498         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
46499         * modules/javacomp (Depends-on): Likewise.
46500         * modules/javaexec (Depends-on): Likewise.
46501
46502 2008-09-01  Bruno Haible  <bruno@clisp.org>
46503
46504         Split module 'filename' into 'filename' and 'concat-filename'.
46505         * modules/filename: Keep only lib/filename.h.
46506         (License): Change to LGPLv2+.
46507         * modules/concat-filename: New file, extracted from modules/filename.
46508         * lib/filename.h (concatenated_filename): Remove declaration.
46509         * lib/concat-filename.h: New file, extracted from lib/filename.h.
46510         * lib/concat-filename.c: Include concat-filename.h.
46511         * NEWS: Mention the change.
46512
46513 2008-09-01  Simon Josefsson  <simon@josefsson.org>
46514
46515         * lib/bitrotate.h (rotl8, rotr8): Add.
46516
46517         * modules/bitrotate (configure.ac): Need
46518         AC_REQUIRE([AC_C_INLINE]).
46519         (Description): Mention stdint.h.  Reported by Bruno Haible
46520         <bruno@clisp.org>.
46521
46522         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
46523         Paolo Bonzini <bonzini@gnu.org>.
46524
46525 2008-08-31  Bruno Haible  <bruno@clisp.org>
46526
46527         Assume Solaris specific bi-arch conventions on Solaris systems.
46528         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
46529         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
46530         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
46531         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
46532         like acl_libdirstem.
46533         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
46534         acl_libdirstem.
46535         * NEWS: Mention the change.
46536         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
46537
46538 2008-08-31  Jim Meyering  <meyering@redhat.com>
46539
46540         * lib/strftime.h: Add comments describing the two added arguments.
46541
46542         remove duplicate #include directives
46543         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
46544         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
46545
46546 2008-08-31  Bruno Haible  <bruno@clisp.org>
46547
46548         New module 'sigpipe-die'.
46549         * modules/sigpipe-die: New file.
46550         * lib/sigpipe-die.h: New file.
46551         * lib/sigpipe-die.c: New file.
46552         * MODULES.html.sh (Signal handling): Add sigpipe-die.
46553
46554 2008-08-31  Bruno Haible  <bruno@clisp.org>
46555
46556         Don't override previously installed signal handlers.
46557         * lib/fatal-signal.c (saved_sigactions): New variable.
46558         (uninstall_handlers): Reset the signal to the saved handler, not
46559         to SIG_DFL (except when ignored).
46560         (install_handlers): Save the previous handlers.
46561
46562 2008-08-30  Bruno Haible  <bruno@clisp.org>
46563
46564         * gnulib-tool (func_reset_sigpipe): New function.
46565         (func_get_automake_snippet, func_modules_transitive_closure,
46566         func_import): Invoke it before a join command that reads from stdin,
46567         to avoid "echo: write error: Broken pipe" error messages on stderr.
46568         Reported by Sam Steingold <sds@gnu.org>.
46569
46570 2008-08-30  Bruno Haible  <bruno@clisp.org>
46571
46572         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
46573         Code copied from m4/open.m4.
46574         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
46575         access and the filename ends in a slash. Code copied from lib/open.c.
46576         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
46577         * tests/test-fopen.c (main): Check against bug with trailing slash.
46578
46579 2008-08-29  Bruno Haible  <bruno@clisp.org>
46580
46581         Avoid some "gcc -pedantic" warnings.
46582         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
46583         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
46584         * lib/dirent.in.h: Likewise.
46585         * lib/fcntl.in.h: Likewise.
46586         * lib/float.in.h: Likewise.
46587         * lib/iconv.in.h: Likewise.
46588         * lib/inttypes.in.h: Likewise.
46589         * lib/locale.in.h: Likewise.
46590         * lib/math.in.h: Likewise.
46591         * lib/netinet_in.in.h: Likewise.
46592         * lib/search.in.h: Likewise.
46593         * lib/signal.in.h: Likewise.
46594         * lib/stdarg.in.h: Likewise.
46595         * lib/stdint.in.h: Likewise.
46596         * lib/stdio.in.h: Likewise.
46597         * lib/stdlib.in.h: Likewise.
46598         * lib/string.in.h: Likewise.
46599         * lib/strings.in.h: Likewise.
46600         * lib/sys_select.in.h: Likewise.
46601         * lib/sys_socket.in.h: Likewise.
46602         * lib/sys_stat.in.h: Likewise.
46603         * lib/sys_time.in.h: Likewise.
46604         * lib/sysexits.in.h: Likewise.
46605         * lib/time.in.h: Likewise.
46606         * lib/unistd.in.h: Likewise.
46607         * lib/wchar.in.h: Likewise.
46608         * lib/wctype.in.h: Likewise.
46609         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
46610         * modules/fchdir (Makefile.am): Likewise.
46611         * modules/fcntl (Makefile.am): Likewise.
46612         * modules/float (Makefile.am): Likewise.
46613         * modules/iconv_open (Makefile.am): Likewise.
46614         * modules/inttypes (Makefile.am): Likewise.
46615         * modules/locale (Makefile.am): Likewise.
46616         * modules/math (Makefile.am): Likewise.
46617         * modules/netinet_in (Makefile.am): Likewise.
46618         * modules/search (Makefile.am): Likewise.
46619         * modules/signal (Makefile.am): Likewise.
46620         * modules/stdarg (Makefile.am): Likewise.
46621         * modules/stdint (Makefile.am): Likewise.
46622         * modules/stdio (Makefile.am): Likewise.
46623         * modules/stdlib (Makefile.am): Likewise.
46624         * modules/string (Makefile.am): Likewise.
46625         * modules/strings (Makefile.am): Likewise.
46626         * modules/sys_select (Makefile.am): Likewise.
46627         * modules/sys_socket (Makefile.am): Likewise.
46628         * modules/sys_stat (Makefile.am): Likewise.
46629         * modules/sys_time (Makefile.am): Likewise.
46630         * modules/sysexits (Makefile.am): Likewise.
46631         * modules/time (Makefile.am): Likewise.
46632         * modules/unistd (Makefile.am): Likewise.
46633         * modules/wchar (Makefile.am): Likewise.
46634         * modules/wctype (Makefile.am): Likewise.
46635         Reported by Reuben Thomas <rrt@sc3d.org>.
46636
46637 2008-08-29  Bruno Haible  <bruno@clisp.org>
46638
46639         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
46640         any more.
46641
46642 2008-08-29  Simon Josefsson  <simon@josefsson.org>
46643
46644         * MODULES.html.sh (Misc): Add bitrotate.
46645
46646         * modules/bitrotate: New file.
46647
46648         * lib/bitrotate.h: New file.
46649
46650         * modules/bitrotate-tests: New file.
46651
46652         * tests/test-bitrotate.c: New file.
46653
46654         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
46655         on the bitrotate module.
46656
46657         * lib/arctwo.c: Use new bitrotate module.
46658
46659 2008-08-29  Jim Meyering  <meyering@redhat.com>
46660
46661         bootstrap: merge changes from coreutils
46662         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
46663         of copied files.  Remove a kludge, now that this is fixed.
46664         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
46665         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
46666         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
46667
46668 2008-08-29  Bruno Haible  <bruno@clisp.org>
46669
46670         * MODULES.html.sh: Remove --cvs-urls option.
46671
46672 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
46673
46674         maint.mk: adjust to file name change
46675         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
46676
46677 2008-08-28  Jim Meyering  <meyering@redhat.com>
46678
46679         * modules/getndelim2 (License): Relicense to LGPLv2+.
46680         Approved by Richard Stallman for the version of 1995, and by
46681         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
46682
46683 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
46684
46685         * lib/getdelim.c (flockfile, funlockfile): Make all of them
46686         dummy if one is not available.  Do not touch them if
46687         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
46688         (getc_maybe_unlocked): New.
46689         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
46690
46691 2008-08-26  Eric Blake  <ebb9@byu.net>
46692
46693         doc/INSTALL: resync from autoconf
46694         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
46695         (INSTALL_PRELUDE): Delete; this is done more efficiently by
46696         moving...
46697         * install.texi [!autoconf]: ...here.  Resync from autoconf.
46698         * INSTALL: Regenerate.
46699         * INSTALL.ISO: New file.
46700         * INSTALL.UTF-8: Likewise.
46701
46702 2008-08-26  Jim Meyering  <meyering@redhat.com>
46703
46704         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
46705         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
46706         these definitions conditional, so that they may be overridden, too.
46707
46708 2008-08-26  Bruno Haible  <bruno@clisp.org>
46709
46710         Generate INSTALL file variants with prettier quotes.
46711         * doc/Makefile (INSTALL_PRELUDE): New macro.
46712         (INSTALL): Use it.
46713         (INSTALL.ISO, INSTALL.UTF-8): New rules.
46714
46715 2008-08-26  Bruno Haible  <bruno@clisp.org>
46716
46717         Run makeinfo in an English locale.
46718         * doc/Makefile (MAKEINFO): New variable.
46719
46720 2008-08-26  Bruno Haible  <bruno@clisp.org>
46721
46722         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
46723         Suggested by Eric Blake.
46724
46725 2008-08-25  Bruno Haible  <bruno@clisp.org>
46726
46727         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
46728
46729 2008-08-25  Eric Blake  <ebb9@byu.net>
46730
46731         c-stack: test that stack overflow can be caught
46732         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
46733         that platform allows handling stack overflow; at least OS/2 EMX
46734         has sigaltstack, but crashes before transferring control to
46735         handler on stack overflow.
46736         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
46737         check for HAVE_STACK_OVERFLOW_HANDLING.
46738         Reported by Elbert Pol.
46739
46740 2008-08-25  Bruno Haible  <bruno@clisp.org>
46741
46742         * doc/posix-functions/strftime.texi: Fix description of strftime
46743         module.
46744
46745 2008-08-24  Bruno Haible  <bruno@clisp.org>
46746
46747         * tests/uniwidth/test-uc_width2.c: New file.
46748         * tests/uniwidth/test-uc_width2.sh: New file.
46749         * modules/uniwidth/width-tests (Files): Add the new files.
46750         (TESTS): Add uniwidth/test-uc_width2.sh.
46751         (TESTS_ENVIRONMENT): New variable.
46752         (check_PROGRAMS): Add test-uc_width2.
46753         (test_uc_width2_SOURCES): New variable.
46754
46755         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
46756         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
46757         not 0x00AB.
46758         Reported by Alexander V. Lukyanov <lav@netis.ru>.
46759
46760 2008-08-22  Eric Blake  <ebb9@byu.net>
46761
46762         test-lock, test-tls: mention why a test is skipped
46763         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
46764         skipped.
46765         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
46766
46767         count-one-bits: relax license
46768         * modules/count-one-bits (License): Relicense to LGPLv2+.
46769         Suggested by Ludovic Courtès, approved by Ben Pfaff.
46770
46771 2008-08-22  Andreas Schwab  <schwab@suse.de>
46772
46773         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
46774         Remove spurious space in assignment.
46775
46776 2008-08-21  Simon Josefsson  <simon@josefsson.org>
46777
46778         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
46779         Paul Eggert <eggert@CS.UCLA.EDU>.
46780
46781 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
46782
46783         * modules/gettext: Add m4/threadlib.m4.
46784
46785 2008-08-19  Eric Blake  <ebb9@byu.net>
46786
46787         test-c-stack: fix compilation failure on FreeBSD 5.0
46788         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
46789         headers before <sys/resource.h>.
46790         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
46791         the bug.
46792         Reported by Nelson H. F. Beebe.
46793
46794         strverscmp: migrate from "strverscmp.h" to <string.h>
46795         * modules/string (Makefile.am): Add new hooks.
46796         * modules/strverscmp (Files): Remove strverscmp.h.
46797         (Depends-on): Add string.
46798         (configure.ac): Add indicator.
46799         (Include): Mention new header.
46800         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
46801         defaults.
46802         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
46803         results.
46804         * lib/strverscmp.h: Delete.
46805         * lib/string.in.h (strverscmp): Provide declaration, when needed.
46806         * tests/test-strverscmp.c (includes): Adjust client.
46807         * lib/check-version.c (includes): Likewise.
46808         * NEWS: Document the change.
46809
46810         strverscmp: add unit test
46811         * modules/strverscmp-tests: New file.
46812         * tests/test-strverscmp.c: Likewise.
46813
46814 2008-08-19  Simon Josefsson  <simon@josefsson.org>
46815
46816         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
46817         regarding Windows crypto stuff, from Mono.
46818
46819 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
46820
46821         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
46822         if present, for intel RND.  Return error on failures.
46823
46824 2008-08-18  Ben Pfaff  <blp@gnu.org>
46825
46826         gitlog-to-changelog: give better diagnostic for failed pipe-open
46827         * build-aux/gitlog-to-changelog: Improve error message: suggest
46828         that the version of Git may be too old.
46829
46830 2008-08-18  Simon Josefsson  <simon@josefsson.org>
46831
46832         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
46833         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
46834
46835 2008-08-18  Bruno Haible  <bruno@clisp.org>
46836
46837         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
46838         pthread_in_use().
46839
46840 2008-08-18  Bruno Haible  <bruno@clisp.org>
46841
46842         * lib/glthread/threadlib.c: Include <pthread.h>.
46843
46844 2008-08-18  Bruno Haible  <bruno@clisp.org>
46845
46846         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
46847         glthread_recursive_lock_* macros.
46848         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
46849         Fix syntax error.
46850
46851 2008-08-18  Bruno Haible  <bruno@clisp.org>
46852
46853         * lib/glthread/thread.c: Avoid forcing a context switch right after
46854         thread creation.
46855
46856 2008-08-17  Bruno Haible  <bruno@clisp.org>
46857
46858         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
46859         * lib/glthread/thread.h: Provide Win32 specific implementation.
46860         * modules/thread (Files): Add lib/glthread/thread.c.
46861         (Depends-on): Add lock.
46862         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
46863
46864 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46865
46866         New module 'yield'.
46867         * modules/yield: New file.
46868         * lib/glthread/yield.h: New file.
46869         * m4/yield.m4: New file.
46870         * MODULES.html.sh (Multithreading): Add yield.
46871
46872 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46873
46874         New module 'thread'.
46875         * modules/thread: New file.
46876         * lib/glthread/thread.h: New file.
46877         * m4/thread.m4: New file.
46878         * MODULES.html.sh (Multithreading): Add thread.
46879
46880 2008-08-17  Bruno Haible  <bruno@clisp.org>
46881
46882         * lib/glthread/lock.h: Include <stdlib.h> always.
46883         * lib/glthread/tls.h: Likewise.
46884         * lib/glthread/cond.h: Likewise.
46885
46886 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46887
46888         New module 'cond'.
46889         * modules/cond: New file.
46890         * lib/glthread/cond.h: New file.
46891         * lib/glthread/cond.c: New file.
46892         * m4/cond.m4: New file.
46893         * MODULES.html.sh (Multithreading): Add cond.
46894
46895 2008-08-16  Eric Blake  <ebb9@byu.net>
46896
46897         c-stack: fix regression on Irix 5.3 from 2008-06-21
46898         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
46899         sa_sigaction...
46900         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
46901         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
46902         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
46903         * modules/signal (Makefile.am): Use the value.
46904         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
46905         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
46906         * doc/posix-headers/signal.texi (signal.h): Document this
46907         portability issue.
46908         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
46909         Reported by Tom G. Christensen.
46910
46911 2008-08-17  Bruno Haible  <bruno@clisp.org>
46912
46913         New module 'threadlib'.
46914         * modules/threadlib: New file.
46915         * lib/glthread/threadlib.c: New file, extracted from
46916         lib/glthread/lock.c.
46917         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
46918         functions.
46919         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
46920         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
46921         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
46922         macros.
46923         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
46924         (gl_DISABLE_THREADS): Remove macro.
46925         * modules/lock (Files): Remove build-aux/config.rpath.
46926         (Depends-on): Remove havelib. Add threadlib.
46927         (configure.ac-early): Remove section.
46928         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
46929         * modules/tls (Depends-on): Remove lock. Add threadlib.
46930         (Link): New section, copied from threadlib.
46931         * MODULES.html.sh (Multithreading): Add threadlib.
46932
46933 2008-08-14  Bruno Haible  <bruno@clisp.org>
46934
46935         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
46936         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
46937         glthread_rwlock_unlock, glthread_rwlock_destroy,
46938         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
46939         glthread_recursive_lock_destroy): Define as macros always.
46940         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
46941         glthread_lock_lock.
46942         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
46943         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
46944         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
46945         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
46946         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
46947         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
46948         (glthread_recursive_lock_lock_func): Renamed from
46949         glthread_recursive_lock_lock.
46950         (glthread_recursive_lock_unlock_func): Renamed from
46951         glthread_recursive_lock_unlock.
46952         (glthread_recursive_lock_destroy_func): Renamed from
46953         glthread_recursive_lock_destroy.
46954
46955 2008-08-14  Bruno Haible  <bruno@clisp.org>
46956
46957         * lib/glthread/lock.h: Renamed from lib/lock.h.
46958         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
46959         * lib/glthread/tls.h: Renamed from lib/tls.h.
46960         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
46961         * lib/fstrcmp.c: Update includes.
46962         * lib/strsignal.c: Update includes.
46963         * modules/lock (Files, Makefile.am): Update.
46964         (Include): Change to "glthread/lock.h".
46965         * modules/tls (Files, Makefile.am): Update.
46966         (Include): Change to "glthread/tls.h".
46967         * tests/test-lock.c: Update includes.
46968         * tests/test-tls.c: Update includes.
46969         * NEWS: Mention the renamed header files.
46970
46971 2008-08-11  Jim Meyering  <meyering@redhat.com>
46972
46973         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
46974
46975 2008-08-11  Eric Blake  <ebb9@byu.net>
46976
46977         test-c-stack: avoid C99-ism
46978         * tests/test-c-stack.c (main): Fix whitespace, move declaration
46979         before statement.
46980         Reported by Alain Guibert.
46981
46982 2008-08-10  Jim Meyering  <meyering@redhat.com>
46983
46984         ensure that return value of uinttostr et al are not ignored
46985         * lib/inttostr.h (__GNUC_PREREQ): Define.
46986         (__attribute_warn_unused_result__): Define.
46987         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
46988
46989 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
46990
46991         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
46992         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
46993
46994 2008-08-07  Jim Meyering  <meyering@redhat.com>
46995
46996         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
46997
46998         * modules/mkstemp (License): Relicense under LGPLv2+.
46999         * modules/tempname (License): Likewise.
47000
47001 2008-08-06  Bruno Haible  <bruno@clisp.org>
47002
47003         * lib/poll.c (poll): Further micro-optimization.
47004
47005 2008-08-06  Jim Meyering  <meyering@redhat.com>
47006
47007         inet_pton.c: use locale-independent tolower
47008         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47009         (inet_pton6): Use c_tolower rather than tolower.
47010         * modules/inet_pton (Depends-on): Add c-ctype.
47011
47012 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47013
47014         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47015         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47016
47017 2008-08-06  Jim Meyering  <meyering@redhat.com>
47018
47019         * modules/inet_pton (License): Relicense under LGPLv2+.
47020
47021 2008-08-03  Bruno Haible  <bruno@clisp.org>
47022
47023         Additional non-aborting API for lock and tls.
47024         * lib/lock.h: Include <errno.h>.
47025         (glthread_lock_init): New macro/function.
47026         (gl_lock_init): Define as wrapper around glthread_lock_init.
47027         (glthread_lock_lock): New macro/function.
47028         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47029         (glthread_lock_unlock): New macro/function.
47030         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47031         (glthread_lock_destroy): New macro/function.
47032         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47033         (glthread_rwlock_init): New macro/function.
47034         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47035         (glthread_rwlock_rdlock): New macro/function.
47036         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47037         (glthread_rwlock_wrlock): New macro/function.
47038         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47039         (glthread_rwlock_unlock): New macro/function.
47040         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47041         (glthread_rwlock_destroy): New macro/function.
47042         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47043         (glthread_recursive_lock_init): New macro/function.
47044         (gl_recursive_lock_init): Define as wrapper around
47045         glthread_recursive_lock_init.
47046         (glthread_recursive_lock_lock): New macro/function.
47047         (gl_recursive_lock_lock): Define as wrapper around
47048         glthread_recursive_lock_lock.
47049         (glthread_recursive_lock_unlock): New macro/function.
47050         (gl_recursive_lock_unlock): Define as wrapper around
47051         glthread_recursive_lock_unlock.
47052         (glthread_recursive_lock_destroy): New macro/function.
47053         (gl_recursive_lock_destroy): Define as wrapper around
47054         glthread_recursive_lock_destroy.
47055         (glthread_once): New macro/function.
47056         (gl_once): Define as wrapper around glthread_once.
47057         Update function declarations.
47058         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47059         glthread_rwlock_init. Return error code.
47060         (glthread_rwlock_rdlock_multithreaded): Renamed from
47061         glthread_rwlock_rdlock. Return error code.
47062         (glthread_rwlock_wrlock_multithreaded): Renamed from
47063         glthread_rwlock_wrlock. Return error code.
47064         (glthread_rwlock_unlock_multithreaded): Renamed from
47065         glthread_rwlock_unlock. Return error code.
47066         (glthread_rwlock_destroy_multithreaded): Renamed from
47067         glthread_rwlock_destroy. Return error code.
47068         (glthread_recursive_lock_init_multithreaded): Renamed from
47069         glthread_recursive_lock_init. Return error code.
47070         (glthread_recursive_lock_lock_multithreaded): Renamed from
47071         glthread_recursive_lock_lock. Return error code.
47072         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47073         glthread_recursive_lock_unlock. Return error code.
47074         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47075         glthread_recursive_lock_destroy. Return error code.
47076         (glthread_once_call): Make static.
47077         (glthread_once_multithreaded): Renamed from glthread_once.
47078         * lib/tls.h: Include <errno.h>.
47079         (glthread_tls_key_init): New macro/function.
47080         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47081         (glthread_tls_set): New macro/function.
47082         (gl_tls_set): Define as wrapper around glthread_tls_set.
47083         (glthread_tls_key_destroy): New macro/function.
47084         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47085         Update function declarations.
47086         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47087         glthread_tls_get.
47088         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47089
47090 2008-08-04  Eric Blake  <ebb9@byu.net>
47091
47092         gnumakefile: use space, not TAB, outside of targets
47093         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47094
47095 2008-08-02  Jim Meyering  <meyering@redhat.com>
47096
47097         getdate.y: avoid locale-dependent date parsing failure
47098         In Turkish locales, getdate would fail to recognize keywords
47099         containing a lowercase "i".  The solution is not to rely on
47100         locale-sensitive case-conversion.
47101         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47102         (lookup_word): Use c_toupper in place of toupper.
47103         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47104         Reported by Vefa Bicakci <bicave@superonline.com> in
47105         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47106         * modules/getdate (Depends-on): Add c-ctype.
47107
47108 2008-08-02  Bruno Haible  <bruno@clisp.org>
47109
47110         * gnulib-tool (func_import): When updating or creating a .gitignore
47111         file, prepend each added line with a slash, and ignore leading slashes
47112         from the existing lines.
47113         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47114
47115 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47116
47117         Portability fix for GNU make 3.79.1.
47118         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47119         versions do not understand.
47120
47121 2008-08-01  Bruno Haible  <bruno@clisp.org>
47122
47123         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47124         * tests/test-isnanf.h (zero): New variable.
47125         (main): Avoid literal -0.0f.
47126         * tests/test-isnand.h (zero): New variable.
47127         (main): Avoid literal -0.0.
47128         * tests/test-isnanl.h (zero): New variable.
47129         (main): Avoid literal -0.0L.
47130         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47131         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47132         -0.0, -0.0L.
47133         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47134         (test_signbitd): Avoid literal -0.0.
47135         (test_signbitl): Avoid literal -0.0L.
47136         * tests/test-ceilf1.c (zero): New variable.
47137         (main): Avoid literal -0.0f.
47138         * tests/test-ceill.c (zero): New variable.
47139         (main): Avoid literal -0.0L.
47140         * tests/test-floorf1.c (zero): New variable.
47141         (main): Avoid literal -0.0f.
47142         * tests/test-floorl.c (zero): New variable.
47143         (main): Avoid literal -0.0L.
47144         * tests/test-roundf1.c (zero): New variable.
47145         (main): Avoid literal -0.0f.
47146         * tests/test-round1.c (zero): New variable.
47147         (main): Avoid literal -0.0.
47148         * tests/test-roundl.c (zero): New variable.
47149         (main): Avoid literal -0.0L.
47150         * tests/test-truncf1.c (zero): New variable.
47151         (main): Avoid literal -0.0f.
47152         * tests/test-trunc1.c (zero): New variable.
47153         (main): Avoid literal -0.0.
47154         * tests/test-truncl.c (zero): New variable.
47155         (main): Avoid literal -0.0L.
47156         * tests/test-frexp.c (zero): New variable.
47157         (main): Avoid literal -0.0.
47158         * tests/test-frexpl.c (zero): New variable.
47159         (main): Avoid literal -0.0L.
47160         * tests/test-ldexpl.c (zero): New variable.
47161         (main): Avoid literal -0.0L.
47162         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47163         (zerod, zerol): New variables.
47164         (test_function): Avoid literals -0.0, -0.0L.
47165         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47166         (zerod, zerol): New variables.
47167         (test_function): Avoid literals -0.0, -0.0L.
47168         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47169         (zerod, zerol): New variables.
47170         (test_function): Avoid literals -0.0, -0.0L.
47171         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47172         (zerod, zerol): New variables.
47173         (test_function): Avoid literals -0.0, -0.0L.
47174         * tests/test-strtod.c (zero): New variable.
47175         (main): Avoid literal -0.0.
47176         Reported by Jonathan C. Patschke <jp@centtech.com>.
47177
47178 2008-07-31  Jim Meyering  <meyering@redhat.com>
47179
47180         sha256.h: correct definition of SHA224_DIGEST_SIZE
47181         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47182         Reported by Paulie Pena IV <paulie4@gmail.com>.
47183         Define as 224 / 8, rather than as a literal.
47184         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47185         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47186         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47187
47188 2008-07-31  Bruno Haible  <bruno@clisp.org>
47189
47190         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47191         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47192         Reported by Jonathan Patschke <jp@centtech.com>.
47193
47194 2008-07-31  Bruno Haible  <bruno@clisp.org>
47195
47196         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47197         Reported by Paolo Bonzini <bonzini@gnu.org>.
47198
47199 2008-07-30  Eric Blake  <ebb9@byu.net>
47200
47201         test-strtod: allow compilation without -lm
47202         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47203         Reported by Dennis Clarke <blastwave@gmail.com>.
47204
47205 2008-07-28  Jim Meyering  <meyering@redhat.com>
47206
47207         bootstrap: work also when there are no .po files in po/
47208         * build-aux/bootstrap (update_po_files): Complete the change
47209         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47210
47211 2008-07-27  Jim Meyering  <meyering@redhat.com>
47212
47213         * users.txt: Add zile.
47214
47215 2008-07-26  Ben Pfaff  <blp@gnu.org>
47216
47217         Add missing dependencies on new m4/exponent[fdl].m4 files.
47218         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47219         * modules/isnand-nolibm: Add m4/exponentd.m4.
47220         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47221         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47222         m4/isnan[fdl].m4, because the macros actually used moved.
47223         Reported by Jim Meyering.
47224
47225 2008-07-14  Ben Pfaff  <blp@gnu.org>
47226
47227         Add isinf module.
47228         * lib/isinf.c: New file.
47229         * lib/math.in.h: Define isinf macro if we have decided to replace
47230         it.
47231         * m4/isinf.m4: New file.
47232         * m4/math_h.m4: Initialize and substitute variables for isinf
47233         module.
47234         * modules/isinf: New file.
47235         * modules/isinf-tests: New file.
47236         * modules/math: Add substitutions for new module.
47237         * tests/test-isinf.c: New file.
47238         * doc/posix-functions/isinf.texi: Mention new module.
47239         * MODULES.html.sh: Mention new module.
47240
47241 2008-07-14  Ben Pfaff  <blp@gnu.org>
47242
47243         Factor out some macros for use by additional modules.
47244         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47245         exponentf.m4.
47246         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47247         exponentd.m4.
47248         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47249         file exponentl.m4.
47250         * m4/exponentf.m4: New file.
47251         * m4/exponentd.m4: New file.
47252         * m4/exponentl.m4: New file.
47253         * modules/isnanf: Use new file m4/exponentf.m4.
47254         * modules/isnand: Use new file m4/exponentd.m4.
47255         * modules/isnanl: Use new file m4/exponentl.m4.
47256
47257 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47258
47259         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47260         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47261         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47262         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47263
47264         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47265         readlink on platforms without PATH_MAX.
47266
47267 2008-07-21  Eric Blake  <ebb9@byu.net>
47268
47269         Warn, not fail, on stale version.
47270         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47271
47272         Don't allow installation with stale devel version number.
47273         * top/GNUmakefile (_is-install-target): New macro.
47274         (_curr-ver): Forbid installation with stale version number.
47275
47276 2008-07-20  Bruno Haible  <bruno@clisp.org>
47277
47278         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47279         TESTS_ENVIRONMENT.
47280         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47281
47282 2008-07-20  Bruno Haible  <bruno@clisp.org>
47283
47284         * lib/c-stack.h (c_stack_action): Add documentation.
47285         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47286
47287 2008-07-20  Bruno Haible  <bruno@clisp.org>
47288
47289         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47290         * modules/readlink (License): Likewise.
47291
47292 2008-07-17  Eric Blake  <ebb9@byu.net>
47293
47294         * modules/c-stack (Link): Fix typo.
47295
47296         Make c-stack use libsigsegv, when available.
47297         * modules/c-stack (Depends-on): Add libsigsegv.
47298         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47299         needed.
47300         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47301         (segv_handler, overflow_handler, c_stack_action)
47302         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47303         implementation when libsigsegv is available, but only when using
47304         the library is necessary.
47305         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47306         comment, explaining why XSI check fails on Linux.
47307         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47308         * tests/test-c-stack2.sh: Tweak skip message.
47309         * NEWS: Document new link-time requirements.
47310
47311 2008-07-16  Eric Blake  <ebb9@byu.net>
47312
47313         c-stack: Expose false positives when not using libsigsegv.
47314         * modules/c-stack-tests (Files): Expand test.
47315         * tests/test-c-stack.c (main): Add means to conditionally trigger
47316         non-overflow SIGSEGV.
47317         * tests/test-c-stack2.sh: New file.
47318
47319 2008-07-14  Bruno Haible  <bruno@clisp.org>
47320
47321         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47322         Reported by Eric Blake.
47323
47324 2008-07-14  Sam Steingold  <sds@gnu.org>
47325             Bruno Haible  <bruno@clisp.org>
47326
47327         New module libsigsegv.
47328         * modules/libsigsegv: New file.
47329         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47330         modifications.
47331         * MODULES.html.sh (Signal handling): New section.
47332
47333 2008-07-14  Bruno Haible  <bruno@clisp.org>
47334
47335         * modules/unictype/ctype-* (Description): Add the word "function".
47336         Improves the resulting doc in MODULES.html.
47337
47338 2008-07-12  Ben Pfaff  <blp@gnu.org>
47339
47340         Add longlong module.
47341         * modules/longlong: New file.
47342
47343 2008-07-12  Bruno Haible  <bruno@clisp.org>
47344
47345         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47346         to empty.
47347
47348 2008-07-10  Ben Pfaff  <blp@gnu.org>
47349
47350         Add isnan module.
47351         * doc/posix-functions/isnan.texi: Mention new module.
47352         * lib/math.in.h: Define isnan macro if we have decided to replace
47353         it.
47354         * m4/isnan.m4: New file.
47355         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47356         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47357         also.
47358         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47359         redundancy.
47360         * m4/math_h.m4: Initialize and substitute variables for isnan
47361         module.
47362         * modules/isnan: New file.
47363         * modules/isnan-tests: New file.
47364         * modules/math: Add substitutions for new module.
47365         * tests/test-isnan.c: New file.
47366         * MODULES.html.sh: Mention new module.
47367
47368 2008-07-10  Ben Pfaff  <blp@gnu.org>
47369
47370         Add isnanf module.
47371         * lib/isnanf.m4: New file.
47372         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47373         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47374         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47375         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47376         * modules/isnanf: New file.
47377         * modules/isnanf-tests: New file.
47378         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47379         files.
47380         * tests/test-isnanf-nolibm.c: factored most of its contents into
47381         new file tests/test-isnanf.h.
47382         * tests/test-isnanf.h: New file.
47383         * tests/test-isnanf.c: New file.
47384         * MODULES.html.sh: Mention new module.
47385         * doc/glibc-functions/isnanf.texi: Mention new module.
47386
47387 2008-07-10  Ben Pfaff  <blp@gnu.org>
47388
47389         Add isnand module.
47390         * lib/isnand.h: New file.
47391         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47392         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47393         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47394         functionality also.
47395         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47396         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47397         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47398         * modules/isnand: New file.
47399         * modules/isnand-tests: New file.
47400         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47401         files.
47402         * tests/test-isnand-nolibm.c: factored most of its contents into
47403         new file tests/test-isnand.h.
47404         * tests/test-isnand.h: New file.
47405         * tests/test-isnand.c: New file.
47406         * MODULES.html.sh: Mention new module.
47407
47408 2008-07-10  Ben Pfaff  <blp@gnu.org>
47409
47410         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47411         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47412         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47413         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47414         * modules/isnanf-nolibm: Update references to renamed files.
47415         * modules/isnand-nolibm: Likewise.
47416         * modules/isnanf-nolibm-tests: Likewise.
47417         * modules/isnand-nolibm-tests: Likewise.
47418         * lib/frexp.c: Likewise.
47419         * lib/isfinite.c: Likewise.
47420         * lib/signbitd.c: Likewise.
47421         * lib/signbitf.c: Likewise.
47422         * lib/vasnprintf.c: Likewise.
47423         * tests/test-ceilf1.c: Likewise.
47424         * tests/test-ceilf2.c: Likewise.
47425         * tests/test-floorf1.c: Likewise.
47426         * tests/test-floorf2.c: Likewise.
47427         * tests/test-frexp.c: Likewise.
47428         * tests/test-round1.c: Likewise.
47429         * tests/test-round2.c: Likewise.
47430         * tests/test-roundf1.c: Likewise.
47431         * tests/test-strtod.c: Likewise.
47432         * tests/test-trunc1.c: Likewise.
47433         * tests/test-trunc2.c: Likewise.
47434         * tests/test-truncf1.c: Likewise.
47435         * tests/test-truncf2.c: Likewise.
47436         * NEWS: Mention the renamed header files.
47437
47438 2008-07-11  Jim Meyering  <meyering@redhat.com>
47439
47440         vc-list-files: make the last-resort awk code more portable
47441         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47442         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47443         does not support it.
47444
47445 2008-07-10  Eric Blake  <ebb9@byu.net>
47446
47447         Work with tar's bootstrap.
47448         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47449         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47450         an m4 comment.
47451
47452 2008-07-09  Jim Meyering  <meyering@redhat.com>
47453
47454         posix-shell.m4: fix typo that made this test malfunction
47455         * m4/posix-shell.m4: Remove capitalization in variable name.
47456
47457 2008-07-08  Bruno Haible  <bruno@clisp.org>
47458
47459         * m4/onceonly.m4: Update comments.
47460         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47461
47462 2008-07-04  Jim Meyering  <meyering@redhat.com>
47463
47464         * users.txt: Add vc-dwim.
47465         (bison, coreutils): Use the gitweb URL.
47466
47467 2008-07-03  Jim Meyering  <meyering@redhat.com>
47468
47469         * users.txt: Add libffcall.  From Sam Steingold.
47470
47471 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
47472
47473         getdate.y: do not ignore TZ with relative day, month or year offset
47474         * lib/getdate.y (get_date): Move the tz-handling block to follow the
47475         relative-date-handling, since otherwise, the latter would clobber the
47476         sole output (an updated Start value) of the tz-handling block.
47477         * tests/test-getdate.c: Tests for the fix
47478
47479 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47480
47481         Recognize 'foo_LIBRARIES += libgnu.a'.
47482         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
47483         makefile snippet has already specified an installation location,
47484         also using '+='.
47485
47486 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
47487
47488         getdate.y: factor out common actions
47489         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
47490         Use them in place of open-coded actions.
47491
47492 2008-07-01  Simon Josefsson  <simon@josefsson.org>
47493
47494         Add self-test for getdate module.
47495         * modules/getdate-tests: New file.
47496         * tests/test-getdate.c: New file.
47497
47498 2008-06-29  Bruno Haible  <bruno@clisp.org>
47499
47500         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
47501         .gitignore.
47502         Reported by Sylvain Beucler <beuc@beuc.net>.
47503
47504 2008-06-29  Bruno Haible  <bruno@clisp.org>
47505
47506         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
47507         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
47508
47509 2008-06-29  Bruno Haible  <bruno@clisp.org>
47510
47511         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
47512         EXTRA_DIST.
47513         Reported by Sylvain Beucler <beuc@beuc.net>.
47514
47515 2008-06-26  Jim Meyering  <meyering@redhat.com>
47516
47517         make several modules depend on the "open" module
47518         This provides slightly increased consistency when opening-for-write
47519         the name of a non-directory spelled with a trailing slash.
47520         * modules/chdir-safer: Likewise.
47521         * modules/chown: Likewise.
47522         * modules/clean-temp: Likewise.
47523         * modules/copy-file: Likewise.
47524         * modules/fchdir: Likewise.
47525         * modules/fcntl-safer: Likewise.
47526         * modules/pipe: Likewise.
47527         * modules/utime: Likewise.
47528         Prompted by Eric Blake and Bruno Haible.
47529
47530 2008-06-24  Andreas Schwab  <schwab@suse.de>
47531
47532         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
47533         literals can be used as initializers for global variables.
47534
47535 2008-06-23  Eric Blake  <ebb9@byu.net>
47536
47537         Make gnulib-cache.m4 easier to diff.
47538         * gnulib-tool (func_import): Allow newlines when reading cached
47539         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
47540
47541 2008-06-23  Bruno Haible  <bruno@clisp.org>
47542
47543         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
47544         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
47545         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
47546         m4/signalblocking.m4.
47547         (gl_PREREQ_SIGACTION): Don't invoke it.
47548         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
47549         gl_PREREQ_SIG_HANDLER_H.
47550         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47551         Don't check for sigaction here.
47552
47553 2008-06-23  Bruno Haible  <bruno@clisp.org>
47554
47555         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
47556         (install_handlers): Don't set the SA_RESETHAND flag.
47557
47558 2008-06-23  Bruno Haible  <bruno@clisp.org>
47559
47560         * m4/sigaction.m4: Comment fixes.
47561         * lib/signal.in.h: Likewise.
47562
47563 2008-06-23  Eric Blake  <ebb9@byu.net>
47564
47565         Fix typo.
47566         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
47567
47568         Avoid SA_ namespace.
47569         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
47570         Reported by Ralf Wildenhues.
47571
47572         Avoid test failure due to SA_RESTORER.
47573         * tests/test-sigaction.c (SA_MASK): New macro.
47574         (main): Avoid failing due to extension flags being set.
47575         Reported by Jim Meyering.
47576
47577         Revert use of sig-handler.h in sigprocmask.c.
47578         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
47579         it requires the existence of struct sigaction.
47580         * lib/sigprocmask.c (handler_t): Restore typedef.
47581         (rpl_signal, old_handlers): Use local type.
47582
47583 2008-06-22  Bruno Haible  <bruno@clisp.org>
47584
47585         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
47586         conditionally.
47587         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47588
47589 2008-06-22  Bruno Haible  <bruno@clisp.org>
47590
47591         * doc/posix-functions/siginterrupt.texi: Move note.
47592
47593         * lib/signal.in.h (SA_RESTART): New macro.
47594         * lib/sigaction.c: Update comment.
47595
47596         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
47597
47598         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
47599         (gl_PREREQ_SIGPROCMASK): Invoke it.
47600         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
47601
47602         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
47603
47604         * lib/sigprocmask.c: Update a comment.
47605
47606 2008-06-21  Eric Blake  <ebb9@byu.net>
47607
47608         Use sigaction module rather than signal().
47609         * modules/c-stack (Depends-on): Add sigaction.
47610         * modules/fatal-signal (Depends-on): Likewise.
47611         * modules/nanosleep (Depends-on): Likewise.
47612         * modules/sigprocmask (Files): Add sig-handler.h.
47613         * modules/sigaction (Files): Likewise.
47614         * lib/sig-handler.h (get_handler): New file, suggested by Paul
47615         Eggert.
47616         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
47617         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
47618         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
47619         (init_fatal_signals): Likewise.
47620         * lib/nanosleep.c (rpl_nanosleep): Likewise.
47621         (siginterrupt): Delete fallback.
47622         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
47623         instead.
47624         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
47625         siginterrupt.
47626
47627         New module sigaction, for mingw.
47628         * modules/sigaction: New module...
47629         * modules/sigaction-tests: ...and its test.
47630         * m4/sigaction.m4: New file.
47631         * lib/sigaction.c: Likewise.
47632         * tests/test-sigaction.c: Likewise.
47633         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
47634         * modules/signal (Makefile.am): Likewise.
47635         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
47636         needed.
47637         * doc/posix-headers/signal.texi (signal.h): Mention provided
47638         types.
47639         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
47640         that sigaction is preferable.
47641         * doc/posix-functions/sigaction.texi (sigaction): Mention new
47642         module.
47643         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47644         sigaction.
47645
47646         Improve robustness of sigprocmask by overriding signal.
47647         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
47648         is in use.
47649         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
47650         (SIGKILL, SIGSTOP): Provide fallbacks.
47651         (rpl_signal): Implement.
47652         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
47653         signal can be called inside handlers.
47654
47655         Fix nanosleep module on mingw.
47656         * modules/nanosleep (Depends-on): Add sys_select.
47657         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
47658
47659         Fix licensing of sigprocmask.
47660         * modules/raise (License): Relicense as LGPL.
47661
47662 2008-06-21  Bruno Haible  <bruno@clisp.org>
47663
47664         * lib/propername.c (proper_name_utf8): Don't use the transliterated
47665         result if it contains question marks.
47666         Reported by Michael Geng <linux@michaelgeng.de>.
47667
47668 2008-06-19  Bruno Haible  <bruno@clisp.org>
47669
47670         Fix CVS-ism.
47671         * doc/gnulib.texi: Include updated-stamp.texi.
47672         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
47673         (updated-stamp.texi): New rule.
47674         (gnulib.info): Depend on it.
47675         * doc/.gitignore: Add updated-stamp.texi.
47676         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
47677
47678 2008-06-19  Bruno Haible  <bruno@clisp.org>
47679
47680         * doc/Makefile (gnulib.info): Update and simplify dependencies.
47681         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47682
47683 2008-06-19  Eric Blake  <ebb9@byu.net>
47684
47685         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
47686         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
47687         Reported by Stepan Kasal.
47688
47689 2008-06-18  Bruno Haible  <bruno@clisp.org>
47690
47691         * lib/fatal-signal.c (init_fatal_signals): Add comment.
47692         Reported by Eric Blake.
47693
47694 2008-06-18  Eric Blake  <ebb9@byu.net>
47695
47696         Work around cygwin 1.5.25 strsignal bug.
47697         * tests/test-strsignal.c: Allow for const char *.
47698         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
47699
47700 2008-06-18  Simon Josefsson  <simon@josefsson.org>
47701
47702         * users.txt: Update URL to article and add author/date
47703         information.
47704
47705 2008-06-17  Bruno Haible  <bruno@clisp.org>
47706
47707         New macro gl_DISABLE_THREADS.
47708         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
47709         if the user did not pass --enable-threads or --disable-threads option.
47710         (gl_DISABLE_THREADS): New macro.
47711         Reported by Eric Blake <ebb9@byu.net>.
47712
47713 2008-06-17  Bruno Haible  <bruno@clisp.org>
47714
47715         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
47716         when the macro ignores it.
47717         Based on a patch by Eric Blake <ebb9@byu.net>.
47718
47719 2008-06-17  Bruno Haible  <bruno@clisp.org>
47720
47721         * modules/tls (License): Change to LGPLv2+.
47722         Reported by Eric Blake.
47723
47724 2008-06-17  Eric Blake  <ebb9@byu.net>
47725
47726         Simplify c-stack prerequisites.
47727         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
47728         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
47729         no longer requires <ucontext.h> to exist.  Optimize setrlimit
47730         check.
47731         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
47732         <sys/resource.h>.
47733
47734         Move c-stack test into testsuite.
47735         * modules/c-stack-tests: New file.
47736         * lib/c-stack.c [DEBUG]: Move test program...
47737         * tests/test-c-stack.c: ...into this new file.  Skip rather than
47738         fail test if sigaltstack is lacking.
47739         * tests/test-c-stack.sh: New driver file.
47740
47741 2008-06-16  Eric Blake  <ebb9@byu.net>
47742
47743         Use raise module consistently.
47744         * modules/fatal-signal (Depends-on): Add raise.
47745         * modules/sigprocmask (Depends-on): Likewise.
47746         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
47747         * lib/sigprocmask.c (sigprocmask): Likewise.
47748         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47749         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
47750
47751         Fix compliance bug in sigpending.
47752         * lib/sigprocmask.c (sigpending): Return pending array via
47753         parameter, not return value.
47754
47755 2008-06-14  Eric Blake  <ebb9@byu.net>
47756
47757         Improve obstack-printf test code.
47758         * tests/test-obstack-printf.c (test_function): Fix comment, and
47759         simplify usage of obstack_* in macros.  Add a test for coverage.
47760         Reported by Bruno Haible.
47761
47762 2008-06-14  Bruno Haible  <bruno@clisp.org>
47763
47764         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
47765         array size as a constant, not as a const variable.
47766         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
47767         AC_USE_SYSTEM_EXTENSIONS.
47768         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47769         Test whether the obstack_printf function actually exists.
47770         * modules/obstack-printf (Depends-on): Add extensions.
47771         (Include): Remove obstack.h.
47772         * modules/obstack-printf-posix (Depends-on): Add extensions.
47773         (Include): Remove obstack.h.
47774
47775 2008-06-13  Eric Blake  <ebb9@byu.net>
47776
47777         Add obstack-printf and obstack-printf-posix modules.
47778         * modules/obstack-printf: New file.
47779         * modules/obstack-printf-posix: Likewise.
47780         * MODULES.html.sh (Misc): Mention them.
47781         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47782         Likewise.
47783         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47784         Likewise.
47785         * modules/stdio (Makefile.am): Accomodate new modules.
47786         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47787         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
47788         Declare.
47789         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
47790         functions.
47791         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
47792         (gl_REPLACE_OBSTACK_PRINTF): New macros
47793         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
47794         * tests/test-obstack-printf.c: New file.
47795         * modules/obstack-printf-tests: Likewise.
47796         * modules/obstack-printf-posix-tests: Likewise.
47797
47798 2008-06-11  Bruno Haible  <bruno@clisp.org>
47799
47800         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
47801         * lib/open.c: Include errno.h.
47802         (open): Fail when attempting to write to a file that has a trailing
47803         slash.
47804         * tests/test-open.c (main): Test against trailing slash bug.
47805         * doc/posix-functions/open.texi: Mention the trailing slash bug.
47806
47807 2008-06-10  Bruno Haible  <bruno@clisp.org>
47808
47809         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
47810         for $? to work inside the trap command, with various /bin/sh-s.
47811         * tests/test-vc-list-files-cvs.sh: Likewise.
47812
47813 2008-06-10  Bruno Haible  <bruno@clisp.org>
47814
47815         * lib/acl-internal.h: Don't include gettext.h here.
47816         * lib/set-mode-acl.c: Include gettext.h here.
47817         * lib/copy-acl.c: Likewise.
47818
47819 2008-06-10  Bruno Haible  <bruno@clisp.org>
47820
47821         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
47822         * lib/wait-process.c (wait_subprocess): Likewise.
47823         * lib/execute.h (execute): Add termsigp argument.
47824         * lib/execute.c (execute): Likewise.
47825         * lib/csharpcomp.c (compile_csharp_using_pnet,
47826         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
47827         * lib/csharpexec.c (execute_csharp_using_pnet,
47828         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
47829         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
47830         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
47831         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
47832         is_jikes_present): Update.
47833         * lib/javaexec.c (execute_java_class): Update.
47834         * lib/javaversion.c (execute_and_read_line): Update.
47835         * NEWS: Document the changes.
47836         Reported by Eric Blake.
47837
47838 2008-06-10  Eric Blake  <ebb9@byu.net>
47839
47840         Add missing include.
47841         * tests/test-strstr.c (includes): Add <signal.h>.
47842         * tests/test-strcasestr.c (includes): Likewise.
47843         * tests/test-memmem.c (includes): Likewise.
47844
47845 2008-06-10  Bruno Haible  <bruno@clisp.org>
47846
47847         * lib/wait-process.c (wait_subprocess): Add an assertion.
47848
47849 2008-06-10  Bruno Haible  <bruno@clisp.org>
47850
47851         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
47852
47853 2008-06-10  Bruno Haible  <bruno@clisp.org>
47854
47855         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
47856         using alarm().
47857         * tests/test-strcasestr.c (main): Likewise.
47858         * tests/test-strstr.c (main): Likewise.
47859
47860 2008-06-09  Bruno Haible  <bruno@clisp.org>
47861
47862         Work around the Solaris 10 ACE ACLs ABI change.
47863         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
47864         declare if ACL_NO_TRIVIAL is present.
47865         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
47866         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
47867         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
47868         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
47869         define if ACL_NO_TRIVIAL is present.
47870         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
47871         and use the current ABI.
47872         (file_has_acl): Use same #if condition as elsewhere.
47873         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
47874         in use, and use the current ABI.
47875         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
47876         Reported by Jim Meyering.
47877
47878 2008-06-09  Eric Blake  <ebb9@byu.net>
47879
47880         Work around environments that (stupidly) ignore SIGALRM.
47881         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
47882         before using alarm().
47883         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47884         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47885         Reported by Ian Beckwith <ianb@erislabs.net>.
47886
47887         Produce autobuild blurb earlier in log.
47888         * modules/autobuild (configure.ac-early): Move AB_INIT here.
47889
47890 2008-06-09  Jim Meyering  <meyering@redhat.com>
47891         and OndÅ™ej Vašík  <ovasik@redhat.com>
47892
47893         utimens.c: correct kernel bug work-around
47894         OndÅ™ej Vašík found that the invalid return value of 280 indicates
47895         failure, not success, and the kernel bug we're trying to work
47896         around affects not just the utimensat call, but also the fallback
47897         futimens call.
47898         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
47899         not success.
47900         [HAVE_FUTIMENS]: Use the same work-around, here.
47901
47902 2008-06-09  Jim Meyering  <meyering@redhat.com>
47903
47904         add more guards around definition of ACE_-related code
47905         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
47906         ALLOW and ACE_OWNER are also defined.
47907
47908 2008-06-08  Bruno Haible  <bruno@clisp.org>
47909
47910         * lib/acl-internal.h: Add me as co-author.
47911         * lib/file-has-acl.c: Likewise.
47912         * lib/set-mode-acl.c: Likewise.
47913         * lib/copy-acl.c: Likewise.
47914
47915 2008-06-08  Bruno Haible  <bruno@clisp.org>
47916
47917         Add support for AIX ACLs.
47918         * lib/acl-internal.h (acl_nontrivial): New declaration.
47919         * lib/file-has-acl.c (acl_nontrivial): New function.
47920         (file_has_acl): Add implementation using AIX 4 ACL API.
47921         * lib/set-mode-acl.c (qset_acl): Likewise.
47922         * lib/copy-acl.c (qcopy_acl): Likewise.
47923
47924 2008-06-08  Bruno Haible  <bruno@clisp.org>
47925
47926         Add support for HP-UX ACLs.
47927         * lib/acl-internal.h (acl_nontrivial): New declaration.
47928         * lib/file-has-acl.c (acl_nontrivial): New function.
47929         (file_has_acl): Add implementation using HP-UX 11 ACL API.
47930         * lib/set-mode-acl.c (qset_acl): Likewise.
47931         * lib/copy-acl.c (qcopy_acl): Likewise.
47932
47933 2008-06-08  Bruno Haible  <bruno@clisp.org>
47934
47935         Add support for Cygwin ACLs.
47936         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
47937         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
47938         the chmod_or_fchmod call.
47939         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
47940
47941 2008-06-08  Bruno Haible  <bruno@clisp.org>
47942
47943         Fix bug with setuid modes in Solaris 10+ code.
47944         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
47945         succeeded, when the mode contains some special bits.
47946
47947 2008-06-08  Bruno Haible  <bruno@clisp.org>
47948
47949         Add support for Solaris 7..10 ACLs.
47950         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
47951         declarations.
47952         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
47953         functions.
47954         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
47955         * lib/set-mode-acl.c (qset_acl): Likewise.
47956         * lib/copy-acl.c (qcopy_acl): Likewise.
47957
47958 2008-06-08  Bruno Haible  <bruno@clisp.org>
47959
47960         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
47961         declaration.
47962         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
47963         (acl_access_nontrivial): Remove MacOS X case.
47964         (file_has_acl): Use acl_extended_nontrivial.
47965         * lib/copy-acl.c (qcopy_acl): Likewise.
47966
47967 2008-06-08  Bruno Haible  <bruno@clisp.org>
47968
47969         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
47970
47971 2008-06-08  Jim Meyering  <meyering@redhat.com>
47972
47973         * modules/acl (Maintainer): Add Bruno Haible.
47974
47975 2008-06-07  Bruno Haible  <bruno@clisp.org>
47976
47977         Improve support for Tru64 ACLs.
47978         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
47979         ACL on OSF/1.
47980
47981 2008-06-07  Bruno Haible  <bruno@clisp.org>
47982
47983         Add support for MacOS X ACLs.
47984         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
47985         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
47986         * lib/set-mode-acl.c (qset_acl): Likewise.
47987         * lib/copy-acl.c (qcopy_acl): Likewise.
47988
47989 2008-06-07  Bruno Haible  <bruno@clisp.org>
47990
47991         Fix memory leak introduced on 2008-05-22.
47992         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
47993         use.
47994
47995 2008-06-07  Bruno Haible  <bruno@clisp.org>
47996
47997         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
47998         to construct an empty ACL.
47999
48000 2008-06-07  Bruno Haible  <bruno@clisp.org>
48001
48002         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48003         precisely.
48004         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48005
48006 2008-06-07  Bruno Haible  <bruno@clisp.org>
48007
48008         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48009         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48010
48011 2008-06-07  Bruno Haible  <bruno@clisp.org>
48012
48013         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48014         regardless of POSIX.
48015         * doc/posix-functions/_longjmp.texi: Likewise.
48016         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48017         SystemV platform in this case.
48018
48019 2008-06-06  Eric Blake  <ebb9@byu.net>
48020
48021         Document abort() bugs.
48022         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48023
48024         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48025         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48026         sigsetjmp.
48027         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48028         siglongjmp, but only as a macro.
48029         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48030         is obsolete.
48031         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48032
48033         Tweak documentation to cover cygwin argz bugs.
48034         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48035         argz bug fix; no code change needed since no cygwin releases
48036         occurred between the last fix and the bug being tested.
48037         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48038         module and recently fixed cygwin bugs.
48039         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48040         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48041         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48042         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48043         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48044         Likewise.
48045         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48046         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48047         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48048         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48049         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48050         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48051         Likewise.
48052
48053         Avoid gcc warning on cygwin.
48054         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48055         !ACL_NO_TRIVIAL]: Avoid unused variable.
48056
48057 2008-06-05  Eric Blake  <ebb9@byu.net>
48058
48059         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48060         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48061         git-version-gen fails to come up with a version.
48062         Reported by Simon Josefsson.
48063
48064 2008-06-05  Jim Meyering  <meyering@redhat.com>
48065             Paul Eggert  <eggert@cs.ucla.edu>
48066
48067         utimens.c: work around a probable Linux kernel bug
48068         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48069         appears to be a kernel bug that causes utimensat to return 280
48070         instead of 0, indicating success.
48071
48072 2008-06-04  Bruno Haible  <bruno@clisp.org>
48073
48074         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48075         2008-06-01 commit.
48076
48077 2008-06-04  Bruno Haible  <bruno@clisp.org>
48078
48079         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48080         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48081         (file_has_acl): Use it. Save errno afterwards.
48082         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48083
48084 2008-06-03  Bruno Haible  <bruno@clisp.org>
48085
48086         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48087         draft code. Simplify #ifs.
48088         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48089         Put Solaris code after POSIX-draft code. Fix comments regarding
48090         Solaris 10, HP-UX. Mention Cygwin.
48091         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48092
48093 2008-06-03  Eric Blake  <ebb9@byu.net>
48094
48095         Provide fallback for older kernels.
48096         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48097         Provide runtime fallback if kernel lacks support.
48098         Reported by Mike Frysinger.
48099
48100 2008-06-02  Bruno Haible  <bruno@clisp.org>
48101
48102         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48103         it exists.
48104
48105 2008-06-02  Bruno Haible  <bruno@clisp.org>
48106
48107         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48108         * lib/copy-acl.c (qcopy_acl): Update comment.
48109
48110 2008-06-02  Bruno Haible  <bruno@clisp.org>
48111
48112         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48113         like ACL APIs.
48114
48115 2008-06-02  Bruno Haible  <bruno@clisp.org>
48116
48117         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48118         * tests/test-set-mode-acl.sh: Likewise.
48119         * tests/test-copy-acl.sh: Likewise.
48120         * tests/test-copy-file.sh: Likewise.
48121
48122 2008-06-02  Bruno Haible  <bruno@clisp.org>
48123
48124         * tests/test-file-has-acl.sh: Remove unused code.
48125
48126 2008-06-01  Bruno Haible  <bruno@clisp.org>
48127
48128         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48129         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48130         messages.
48131         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48132
48133 2008-06-01  Bruno Haible  <bruno@clisp.org>
48134
48135         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48136         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48137         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48138         APIs.
48139         * modules/acl-tests (configure.ac): Remove tests now contained in
48140         m4/acl.m4.
48141
48142 2008-06-02  Jim Meyering  <meyering@redhat.com>
48143
48144         announce-gen: use a better key-server host name
48145         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48146         it may be more consistently reliable.  Suggested by Werner Koch
48147         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48148
48149 2008-06-01  Bruno Haible  <bruno@clisp.org>
48150
48151         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48152         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48153
48154 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48155
48156         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48157
48158 2008-06-01  Bruno Haible  <bruno@clisp.org>
48159
48160         New ACL tests.
48161         * tests/test-file-has-acl.sh: New file.
48162         * tests/test-file-has-acl.c: New file.
48163         * tests/test-set-mode-acl.sh: New file.
48164         * tests/test-set-mode-acl.c: New file.
48165         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48166         * tests/test-copy-acl.c: New file.
48167         * modules/acl-tests: New file, based on modules/copy-file-tests.
48168         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48169         (Depends-on): Add acl-tests.
48170         (configure.ac): Remove checks.
48171         (Makefile.am): Don't create test-sameacls program here any more.
48172
48173 2008-06-01  Bruno Haible  <bruno@clisp.org>
48174
48175         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48176         * tests/test-sameacls.c: Include progname.h.
48177         (main): Invoke set_program_name. Portability fixes for MacOS X,
48178         Solaris, HP-UX.
48179
48180 2008-06-01  Bruno Haible  <bruno@clisp.org>
48181
48182         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48183         function.
48184         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48185
48186 2008-06-01  Bruno Haible  <bruno@clisp.org>
48187
48188         * modules/rpmatch (Depends-on): Add strdup.
48189
48190 2008-06-01  Bruno Haible  <bruno@clisp.org>
48191
48192         * lib/pipe.c: Include unistd-safer.h.
48193         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48194         * modules/pipe (Depends-on): Add unistd-safer.
48195
48196 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48197
48198         * modules/autobuild (configure.ac): Call AB_INIT.
48199
48200 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48201
48202         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48203         Suggested by Bruno Haible <bruno@clisp.org>.
48204
48205 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48206
48207         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48208         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48209         <bruno@clisp.org>.
48210
48211 2008-05-29  Eric Blake  <ebb9@byu.net>
48212
48213         Prefer new POSIX 200x interfaces over futimesat.
48214         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48215         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48216         when available.
48217         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48218
48219 2008-05-28  Bruno Haible  <bruno@clisp.org>
48220
48221         * modules/stpcpy (License): Change to LGPLv2+.
48222         Requested by David Lutterkort <dlutter@redhat.com>.
48223
48224 2008-05-27  Bruno Haible  <bruno@clisp.org>
48225
48226         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48227         current mingw.
48228         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48229
48230 2008-05-27  Bruno Haible  <bruno@clisp.org>
48231
48232         * modules/iconv_open (Link): New section, from module 'iconv'.
48233         * modules/striconv (Link): Likewise.
48234         * modules/striconveh (Link): Likewise.
48235         * modules/xstriconv (Link): Likewise.
48236         * modules/unicodeio (Link): Likewise.
48237         * modules/propername (Link): Likewise.
48238         Reported by Jim Meyering.
48239
48240 2008-05-26  Jim Meyering  <meyering@redhat.com>
48241
48242         sha256: do not artificially restrict buffer length to be < 2^32
48243         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48244         uint32_t to size_t.
48245         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48246         to match.
48247
48248         avoid unaligned access errors, e.g., on sparc
48249         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48250         direct access through a possibly-unaligned uint64* pointer.
48251         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48252         direct access through a possibly-unaligned uint32* pointer.
48253         Prompted by this patch from Tom "spot" Callaway:
48254         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48255
48256         sha512.c: fix typo in comment
48257         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48258
48259 2008-05-25  Bruno Haible  <bruno@clisp.org>
48260
48261         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48262         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48263         (Makefile.am): Update lib_SOURCES.
48264
48265 2008-05-25  Bruno Haible  <bruno@clisp.org>
48266
48267         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48268
48269 2008-05-25  Jim Meyering  <meyering@redhat.com>
48270
48271         useless-if-before-free: freed expr may have white-space differences
48272         * build-aux/useless-if-before-free: Recognize cases in which the
48273         freed expression differs from the tested one in embedded white
48274         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48275         $1 was used, so we can't make any regexp shy.  Improved tests now
48276         detect this.
48277
48278         useless-if-before-free: accept white space in the expression.
48279         * build-aux/useless-if-before-free: For now, any white space
48280         in the expression must be identical in the free argument.
48281
48282         useless-if-before-free: efficiency tweak
48283         * build-aux/useless-if-before-free: Make the expression-matching
48284         regexp "shy".
48285         Make the *outer* regexp shy, not the expr-matching one.
48286
48287         update code-in-comment to accept cast of free arg
48288         * build-aux/useless-if-before-free: Update regexp.
48289
48290 2008-05-25  Bruno Haible  <bruno@clisp.org>
48291
48292         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48293         * modules/copy-file-tests (Files, Makefile.am): Update.
48294         * tests/test-copy-file.c (func_test_copy): Update.
48295
48296 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48297
48298         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48299
48300 2008-05-23  Bruno Haible  <bruno@clisp.org>
48301
48302         Improve support for ACLs on OSF/1.
48303         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48304         Remove fallback for unknown flavors of ACLs.
48305
48306 2008-05-22  Bruno Haible  <bruno@clisp.org>
48307
48308         Add support for ACLs on OSF/1.
48309         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48310         replacements.
48311         (acl_free_text): New macro fallback.
48312         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48313         acl_free.
48314         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48315         acl_free_text function. Require AC_C_INLINE.
48316
48317 2008-05-22  Bruno Haible  <bruno@clisp.org>
48318
48319         Make copy_acl work on MacOS X 10.5.
48320         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48321         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48322         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48323         If MODE_INSIDE_ACL, don't assume that every system has the same text
48324         representation for ACLs as FreeBSD.
48325         * lib/copy-acl.c (copy_acl): Add support for platforms with
48326         !MODE_INSIDE_ACL.
48327         * lib/file-has-acl.c (file_has_acl): Likewise.
48328         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48329         FreeBSD, MacOS X, or IRIX, respectively.
48330
48331 2008-05-22  Bruno Haible  <bruno@clisp.org>
48332
48333         * lib/acl.h: Don't include <sys/acl.h>.
48334         (GETACLCNT): Move fallback to lib/acl-internal.h.
48335         * lib/acl-internal.h: Include <sys/acl.h> here.
48336         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48337
48338 2008-05-22  Bruno Haible  <bruno@clisp.org>
48339
48340         Split off copy_acl function to separate file.
48341         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48342         * lib/acl.c (copy_acl): Moved function to separate file.
48343         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48344         * modules/acl (Files): Add lib/copy-acl.c.
48345         (Makefiles.am): Augment lib_SOURCES.
48346
48347 2008-05-22  Bruno Haible  <bruno@clisp.org>
48348
48349         * modules/copy-file-tests: New file.
48350         * tests/test-copy-file.sh: New file.
48351         * tests/test-copy-file.c: New file.
48352         * tests/test-copy-file-sameacls.c: New file.
48353
48354 2008-05-22  Eric Blake  <ebb9@byu.net>
48355
48356         Avoid gcc warning.
48357         * tests/test-memcmp.c (main): Pass NULL indirectly.
48358
48359 2008-05-21  Bruno Haible  <bruno@clisp.org>
48360
48361         Add reference doc about ACLs.
48362         * doc/acl-resources.txt: New file.
48363         * doc/acl-cygwin.txt: New file.
48364
48365 2008-05-21  Bruno Haible  <bruno@clisp.org>
48366
48367         Avoid one more warning from gcc.
48368         * lib/vasnprintf.c (IF_LINT): Update comments.
48369         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48370
48371 2008-05-21  Jim Meyering  <meyering@redhat.com>
48372
48373         avoid a warning from gcc
48374         * lib/vasnprintf.c (IF_LINT): Define.
48375         (scale10_round_decimal_long_double):
48376         Use it to avoid a "may be used uninitialized" warning.
48377         (scale10_round_decimal_double): Likewise.
48378
48379 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48380
48381         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48382         declared.
48383
48384 2008-05-20  Bruno Haible  <bruno@clisp.org>
48385
48386         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48387         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48388
48389 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48390
48391         * modules/memcmp-tests: New file.
48392         * tests/test-memcmp.c: New file.
48393
48394 2008-05-19  Bruno Haible  <bruno@clisp.org>
48395
48396         * modules/propername (Notice, configure.ac): Put quoted "..." into
48397         --keyword option.
48398         * lib/propername.h: Update comments accordingly.
48399         Reported by Eric Blake.
48400
48401 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48402
48403         * modules/getpass-gnu (Depends-on): Add fseeko.
48404
48405 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48406
48407         * modules/base64-tests: New file.
48408
48409 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48410
48411         * lib/base64.c (base64_decode_ctx): If a decode context structure
48412         was passed in use it to ignore newlines.  If a context structure
48413         was _not_ passed in, continue to treat newlines as garbage (this
48414         is the historical behavior).  Formerly base64_decode.
48415         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48416         takes a decode context structure.
48417         * lib/base64.h (base64_decode): Macro for four-argument calls.
48418         (base64_decode_alloc): Likewise.
48419         * lib/base64.c (base64_decode_ctx): If a decode context structure
48420         was passed in use it to ignore newlines.  If a context structure
48421         was _not_ passed in, continue to treat newlines as garbage (this
48422         is the historical behavior).  Formerly base64_decode.
48423         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48424         takes a decode context structure.
48425         * lib/base64.h (base64_decode): Macro for four-argument calls.
48426         (base64_decode_alloc): Likewise.
48427
48428 2008-05-19  Jim Meyering  <meyering@redhat.com>
48429
48430         avoid a warning from gcc
48431         * lib/trim.c (IF_LINT): Define.
48432         (trim2): Use it to avoid a "may be used uninitialized" warning.
48433
48434         Fix doc typo.
48435         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48436
48437 2008-05-19  Bruno Haible  <bruno@clisp.org>
48438
48439         * doc/glibc-functions/getpass.texi: Document limits of other
48440         implementations.
48441
48442 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48443             Bruno Haible <bruno@clisp.org>
48444
48445         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48446
48447 2008-05-18  Bruno Haible  <bruno@clisp.org>
48448
48449         * modules/propername: New file, from GNU gettext.
48450         * lib/propername.h: New file, from GNU gettext.
48451         * lib/propername.c: New file, from GNU gettext.
48452         * MODULES.html.sh (Internationalization functions): Add propername.
48453
48454 2008-05-16  Jim Meyering  <meyering@redhat.com>
48455             Bruno Haible  <bruno@clisp.org>
48456
48457         Avoid some warnings from "gcc -Wshadow".
48458         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48459
48460 2008-05-15  Eric Blake  <ebb9@byu.net>
48461
48462         Extend previous patch to cygwin 1.7.0.
48463         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48464         fast implementation in cygwin >= 1.7.0.
48465         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48466         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48467
48468 2008-05-15  Bruno Haible  <bruno@clisp.org>
48469
48470         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
48471         implementation in glibc >= 2.9.
48472         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48473         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48474
48475 2008-05-15  Bruno Haible  <bruno@clisp.org>
48476
48477         * MODULES.html.sh (Internationalization functions): Remove linebreak.
48478         (Unicode string functions): Add unilbrk/*.
48479         Reported by Karl Berry.
48480
48481 2008-05-15  Eric Blake  <ebb9@byu.net>
48482
48483         Fix violation of <stdbool.h> replacement in regex.
48484         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
48485         * lib/regexec.c (re_search_internal): Likewise.
48486         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
48487
48488 2008-05-15  Jim Meyering  <meyering@redhat.com>
48489
48490         avoid distracting test output when git or cvs is not found
48491         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
48492         * tests/test-vc-list-files-git.sh: Likewise.
48493
48494 2008-05-15  Eric Blake  <ebb9@byu.net>
48495
48496         Glibc finally accepted the memmem speedup code, bugzilla #5514.
48497         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
48498         glibc version.
48499         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48500         * doc/posix-functions/strstr.texi (strstr): Likewise.
48501         * lib/str-two-way.h (MAX): Sychronize with glibc.
48502
48503 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
48504
48505         * lib/regcomp.c (optimize_utf8): Add a note on why we test
48506         opr.ctx_type.
48507         (calc_first): Initialize constraint field.
48508         (duplicate_node_closure): Use it instead of special casing ANCHORS.
48509         Fix grammar.
48510         (duplicate_node): Merge constraint field for all node types.
48511         (calc_eclosure_iter): Look at constraint field for all node types.
48512         * lib/regex_internal.c (create_cd_newstate): Don't look at
48513         opr.ctx_type.
48514
48515 2008-05-14  Bruno Haible  <bruno@clisp.org>
48516
48517         Help GCC to do better code generation.
48518         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
48519         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
48520         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
48521         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
48522         Declare with attribute 'malloc' if supported.
48523
48524 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
48525
48526         use "echo STR|wc -c" rather than unportable "expr length STR"
48527         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
48528         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
48529
48530 2008-05-14  Jim Meyering  <meyering@redhat.com>
48531
48532         use dd ibs=$n count=1 ... rather than less-portable head -c$n
48533         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
48534         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
48535         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
48536         via Collin Lasse.
48537
48538 2008-05-14  Eric Blake  <ebb9@byu.net>
48539
48540         Avoid quadratic growth in gl_LIBSOURCES.
48541         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
48542         Suggested by Bruno Haible.
48543
48544         Test xmemdup0.
48545         * modules/xmemdup0-tests: New file.
48546         * tests/test-xmemdup0.c: Likewise.
48547
48548 2008-05-13  Eric Blake  <ebb9@byu.net>
48549
48550         Split xmemdup0 into its own module.
48551         * modules/xmemdup0: New file.
48552         * lib/xmemdup0.h: Likewise.
48553         * lib/xmemdup0.c: Likewise.
48554         * MODULES.html.sh (Memory management functions): Add xmemdup0.
48555         * lib/xalloc.h (xmemdup0): Remove.
48556         * lib/xmalloc.c (xmemdup0): Likewise.
48557
48558 2008-05-13  Eric Blake  <ebb9@byu.net>
48559             Bruno Haible  <bruno@clisp.org>
48560
48561         Reduce number of forks required during autoconf.
48562         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
48563         and gl_LIBSOURCES_DIR.
48564         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
48565         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
48566         m4_syscmd per file.
48567         <m4_foreach_w>: Move...
48568         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
48569
48570 2008-05-13  Eric Blake  <ebb9@byu.net>
48571
48572         * gnulib-tool: Fix various comment typos.
48573
48574 2008-05-12  Bruno Haible  <bruno@clisp.org>
48575
48576         Tailor the linebreaking algorithm.
48577         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
48578
48579 2008-05-12  Bruno Haible  <bruno@clisp.org>
48580
48581         Update to Unicode 5.0.0.
48582         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48583         LBP_JV, LBP_JT. Redistribute values.
48584         (unilbrk_table): Change size.
48585         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
48586         Unicode TR#14 rev. 22.
48587         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48588         LBP_JV, LBP_JT. Redistribute values.
48589         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
48590         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
48591         Update.
48592         * lib/unilbrk/lbrkprop1.h: Regenerated.
48593         * lib/unilbrk/lbrkprop2.h: Regenerated.
48594         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
48595         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
48596         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
48597         Likewise.
48598         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
48599         Likewise.
48600         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
48601         result.
48602         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
48603         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
48604         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
48605         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
48606         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
48607         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
48608
48609 2008-05-11  Bruno Haible  <bruno@clisp.org>
48610
48611         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
48612
48613 2008-05-11  Bruno Haible  <bruno@clisp.org>
48614
48615         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
48616         * modules/unilbrk/gen-lbrk: New file.
48617
48618 2008-05-11  Bruno Haible  <bruno@clisp.org>
48619
48620         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
48621         * m4/sha512.m4 (gl_SHA512): Likewise.
48622
48623 2008-05-11  Jim Meyering  <meyering@redhat.com>
48624
48625         New modules: crypto/sha256, crypto/sha512 (from coreutils)
48626         * modules/crypto/sha256: New file.
48627         * modules/crypto/sha512: Likewise.
48628         * lib/sha256.c: Likewise.
48629         * lib/sha256.h: Likewise.
48630         * lib/sha512.c: Likewise.
48631         * lib/sha512.h: Likewise.
48632         * lib/u64.h: Likewise.
48633         * m4/sha256.m4: Likewise.
48634         * m4/sha512.m4: Likewise.
48635         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
48636
48637 2008-05-10  Bruno Haible  <bruno@clisp.org>
48638
48639         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
48640         (Input/Output <stdio.h>): Add xprintf.
48641         (Signal handling <signal.h>): Add strsignal.
48642         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
48643         (Core language properties): Add func.
48644         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
48645         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
48646         strings.
48647         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
48648         (Input/output): New section.
48649         (File system functions): Add openat-die, stat-macros.
48650         (Networking functions): Add sockets.
48651         (Unicode string functions): Add unictype/*.
48652         (Support for building libraries and executables): Add gperf.
48653         (Support for building documentation): Add agpl-3.0.
48654         (Misc): Add nocrash.
48655
48656 2008-05-10  Bruno Haible  <bruno@clisp.org>
48657
48658         * modules/unictype/gen-ctype: New file.
48659
48660 2008-05-10  Jim Meyering  <meyering@redhat.com>
48661
48662         Make chdir-safer.c more efficient on a system with no symlinks.
48663         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
48664         also if ELOOP is zero.  Suggested by Bruno Haible.
48665
48666         Make chdir-safer.c slightly safer.
48667         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
48668         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
48669
48670         Avoid compile failure on systems without ELOOP (like mingw).
48671         * lib/chdir-safer.c (ELOOP): Define if not already defined.
48672         Reported by Bruno Haible.
48673
48674 2008-05-10  Bruno Haible  <bruno@clisp.org>
48675
48676         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
48677         (is_utf8_encoding): Use a case-insensitive comparison.
48678         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
48679         streq.
48680
48681 2008-05-10  Bruno Haible  <bruno@clisp.org>
48682
48683         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
48684         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
48685         * lib/unilbrk/ulc-common.h (iconv_string_length,
48686         iconv_string_keeping_offsets): Remove declarations.
48687         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
48688         Don't include <iconv.h>, streq.h, xsize.h.
48689         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
48690         conversion.
48691         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
48692         <iconv.h>, streq.h, xsize.h.
48693         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
48694         conversion.
48695         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
48696         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
48697         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
48698         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
48699
48700 2008-05-10  Bruno Haible  <bruno@clisp.org>
48701
48702         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
48703         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
48704
48705         * modules/unilbrk/u32-width-linebreaks-tests: New file.
48706         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
48707
48708         * modules/unilbrk/u16-width-linebreaks-tests: New file.
48709         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
48710
48711         * modules/unilbrk/u8-width-linebreaks-tests: New file.
48712         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
48713
48714         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
48715         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
48716
48717         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
48718         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
48719
48720         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
48721         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
48722
48723         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
48724         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
48725
48726 2008-05-10  Bruno Haible  <bruno@clisp.org>
48727
48728         Split up 'linebreak' module.
48729         * lib/unilbrk.h: New file, based on lib/linebreak.h.
48730         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
48731         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
48732         modifications.
48733         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
48734         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
48735         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
48736         lib/linebreak.c.
48737         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
48738         lib/linebreak.c.
48739         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
48740         lib/linebreak.c.
48741         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
48742         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
48743         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
48744         lib/linebreak.c.
48745         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
48746         lib/linebreak.c.
48747         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
48748         lib/linebreak.c.
48749         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
48750         lib/linebreak.c.
48751         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
48752         lib/linebreak.c.
48753         * modules/unilbrk/base: New file.
48754         * modules/unilbrk/tables: New file.
48755         * modules/unilbrk/u8-possible-linebreaks: New file.
48756         * modules/unilbrk/u16-possible-linebreaks: New file.
48757         * modules/unilbrk/u32-possible-linebreaks: New file.
48758         * modules/unilbrk/ulc-common: New file.
48759         * modules/unilbrk/ulc-possible-linebreaks: New file.
48760         * modules/unilbrk/u8-width-linebreaks: New file.
48761         * modules/unilbrk/u16-width-linebreaks: New file.
48762         * modules/unilbrk/u32-width-linebreaks: New file.
48763         * modules/unilbrk/ulc-width-linebreaks: New file.
48764         * lib/linebreak.h: Remove file.
48765         * lib/linebreak.c: Remove file.
48766         * m4/linebreak.m4: Remove file.
48767         * modules/linebreak: Remove file.
48768         * NEWS: Mention the changes.
48769
48770 2008-05-09  Eric Blake  <ebb9@byu.net>
48771
48772         Add xmemdup0.
48773         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
48774         implementation.
48775         * lib/xmalloc.c (xmemdup0): New C implementation.
48776
48777 2008-05-08  Bruno Haible  <bruno@clisp.org>
48778
48779         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
48780
48781 2008-05-07  Eric Blake  <ebb9@byu.net>
48782
48783         Support cross-compilation of <wctype.h>.
48784         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
48785         AC_CACHE_CHECK.
48786
48787 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
48788
48789         * build-aux/vc-list-files: Add support for bzr.
48790
48791 2008-05-03  Jim Meyering  <meyering@redhat.com>
48792
48793         avoid failed assertion with tight malloc
48794         * tests/test-getndelim2.c: Correct an off-by-one assertion.
48795
48796 2008-05-03  Simon Josefsson  <simon@josefsson.org>
48797
48798         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
48799         are needed from arpa/inet.h.
48800         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
48801         Reported by Bruno Haible.
48802
48803 2008-05-02  Jim Meyering  <meyering@redhat.com>
48804
48805         avoid compilation error on FreeBSD 6
48806         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
48807
48808 2008-05-01  Jim Meyering  <meyering@redhat.com>
48809
48810         useless-if-before-free: correct --help's exit status description
48811         * build-aux/useless-if-before-free (usage): Like grep, exit 0
48812         for one or more matches, etc.  Reported by Bruno Haible.
48813
48814         vc-list-files: make the stand-alone gnulib test work
48815         * modules/vc-list-files-tests (configure.ac):
48816         Define and AC_SUBST abs_aux_dir.
48817         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
48818         $(abs_top_srcdir) to each script and having each of them
48819         duplicate the work of setting PATH, set PATH here, using
48820         the new variable, abs_aux_dir instead.
48821         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
48822         * tests/test-vc-list-files-git.sh: Likewise.
48823         Reported by Bruno Haible.
48824
48825 2008-05-01  Bruno Haible  <bruno@clisp.org>
48826
48827         * lib/getndelim2.c (getndelim2): Fix newsize computation during
48828         reallocation. Rename 'done' to 'found_delimiter'.
48829
48830 2008-05-01  Jim Meyering  <meyering@redhat.com>
48831
48832         vc-list-files: accommodate /bin/sh like the one from Solaris 10
48833         * build-aux/vc-list-files: Use `...`, not $(...).
48834
48835 2008-04-30  Jim Meyering  <meyering@redhat.com>
48836
48837         add tests for vc-list-files
48838         * modules/vc-list-files-tests: New module.
48839         * tests/test-vc-list-files-cvs.sh: New file.
48840         * tests/test-vc-list-files-git.sh: New file.
48841
48842         avoid a warning from gcc
48843         * lib/getndelim2.c (IF_LINT): Define.
48844         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
48845
48846         vc-list-files: work properly with build-aux/cvsu, too
48847         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
48848         to all cvs-based clauses.
48849
48850         vc-list-files: work properly in the CVS+awk case, too
48851         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
48852
48853         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
48854         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
48855         take more than one file argument, so .  Add quotes, just in case $dir
48856         ever contains a shell meta-character.  Prompted by Soren Hansen in
48857         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
48858
48859 2008-04-29  Eric Blake  <ebb9@byu.net>
48860
48861         Optimize getndelim2 to use block operations when possible.
48862         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
48863         freadseek, and memchr2.
48864         * lib/getndelim2.c (getndelim2): Use them for block reads.
48865
48866 2008-04-29  Bruno Haible  <bruno@clisp.org>
48867
48868         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
48869         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48870         * modules/inet_ntop (Depends-on): Add extensions.
48871         * modules/inet_pton (Depends-on): Likewise.
48872         Reported by Simon Josefsson.
48873
48874 2008-04-29  Jim Meyering  <meyering@redhat.com>
48875
48876         When the is more than one match in a block, match all of them.
48877         * build-aux/useless-if-before-free: Iterate through each block
48878         until there are no more matches.
48879
48880         Fix broken useless-if-before-free script.
48881         * build-aux/useless-if-before-free: Fix typo: missing "?" after
48882         the expression to match cast of argument to free-like function.
48883
48884 2008-04-29  Eric Blake  <ebb9@byu.net>
48885
48886         Use new header.
48887         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
48888
48889 2008-04-29  Jim Meyering  <meyering@redhat.com>
48890
48891         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
48892         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
48893         by gnulib to exist and to declare e.g., inet_ntop.
48894         Don't include "inet_ntop.h", now removed.
48895
48896         * m4/arpa_inet_h.m4: Remove trailing blanks.
48897
48898 2008-04-29  Eric Blake  <ebb9@byu.net>
48899
48900         Silence valgrind on safe reads beyond potential array bounds.
48901         * lib/rawmemchr.valgrind: New file.
48902         * lib/strchrnul.valgrind: Likewise.
48903         * modules/rawmemchr (Files): Distribute new file.
48904         * modules/strchrnul (Files): Likewise.
48905         Suggested by Bruno Haible.
48906
48907 2008-04-29  Bruno Haible  <bruno@clisp.org>
48908
48909         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
48910         (inet_ntop, inet_pton): Change portability warning's wording.
48911         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
48912         Invoke gl_CHECK_NEXT_HEADERS.
48913         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
48914         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
48915         set ARPA_INET_H.
48916         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48917         * modules/arpa_inet (Description): No longer only for systems that
48918         lack it.
48919         (Depends-on): Add include_next.
48920         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
48921         HAVE_ARPA_INET_H.
48922
48923 2008-04-29  Jim Meyering  <meyering@redhat.com>
48924
48925         * modules/mkdir (License): Re-license as LGPLv2+.
48926
48927 2008-04-29  Bruno Haible  <bruno@clisp.org>
48928
48929         * modules/rawmemchr (Maintainer): Set to Eric.
48930         * modules/strchrnul (Maintainer): Likewise.
48931
48932 2008-04-29  Simon Josefsson  <simon@josefsson.org>
48933
48934         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
48935         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
48936
48937         * modules/arpa_inet (arpa/inet.h): Use them.
48938
48939 2008-04-28  Eric Blake  <ebb9@byu.net>
48940
48941         Test getndelim2.
48942         * modules/getndelim2-tests: New file.
48943         * tests/test-getndelim2.c: Likewise.
48944         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
48945         stream.
48946         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
48947
48948         * MODULES.html.sh: Document new module.
48949
48950 2008-04-20  Bruno Haible  <bruno@clisp.org>
48951
48952         * lib/c-stack.c (die): Use raise.
48953         * modules/c-stack (Depends-on): Add raise.
48954
48955 2008-04-28  Bruno Haible  <bruno@clisp.org>
48956
48957         Expect rpmatch to be declared.
48958         * lib/yesno.c (rpmatch): Remove declaration.
48959
48960         Declare rpmatch.
48961         * lib/stdlib.in.h (rpmatch): New declaration.
48962         * lib/rpmatch.c: Include <stdlib.h> first.
48963         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
48964         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
48965         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
48966         HAVE_RPMATCH.
48967         * modules/rpmatch (Depends-on): Add stdlib, extensions.
48968         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48969         (Include): Set to <stdlib.h>.
48970         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
48971         HAVE_RPMATCH.
48972         * NEWS: Document the change.
48973
48974 2008-04-28  Bruno Haible  <bruno@clisp.org>
48975
48976         Change rpmatch to use nl_langinfo when appropriate.
48977         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
48978         (N_): New macro.
48979         (localized_pattern): New function/macro.
48980         (try): Remove match, nomatch arguments. Copy the pattern into safe
48981         memory before caching it.
48982         (rpmatch): Use localized_pattern. Add translator comments.
48983         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
48984         Suggested by Eric Blake.
48985         * modules/rpmatch (Depends-on): Add stdbool.
48986
48987 2008-04-28  Eric Blake  <ebb9@byu.net>
48988
48989         Add rawmemchr module, matching glibc.
48990         * modules/string (Makefile.am): New indicator.
48991         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
48992         * lib/string.in.h (rawmemchr): Declare when appropriate.
48993         * modules/rawmemchr: New file.
48994         * m4/rawmemchr.m4: Likewise.
48995         * lib/rawmemchr.c: Likewise.
48996         * modules/rawmemchr-tests: Likewise.
48997         * tests/test-rawmemchr.c: Likewise.
48998         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
48999         module.
49000         * modules/strchrnul (Depends-on): Add rawmemchr.
49001         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49002
49003         Whitespace cleanup.
49004         * tests/test-strchrnul.c: Reindent.
49005         * lib/strchrnul.c: Likewise.
49006
49007         Optimize and test strchrnul.
49008         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49009         * modules/strchrnul-tests: New file.
49010         * tests/test-strchrnul.c: Likewise.
49011
49012         Remove intprops dependency.
49013         * modules/memchr (Depends-on): Remove intprops.
49014         * modules/memrchr (Depends-on): Likewise.
49015         * modules/memchr2 (Depends-on): Likewise.
49016         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49017         * lib/memrchr.c (__memrchr): Likewise.
49018         * lib/memrchr2.c (memchr2): Likewise.
49019         Reported by Simon Josefsson.
49020
49021 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49022
49023         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49024         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49025
49026 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49027
49028         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49029
49030         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49031
49032         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49033
49034         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49035         declarations.
49036         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49037
49038         * m4/inet_pton.m4: Don't check for header files.
49039
49040         * m4/inet_ntop.m4: Don't check for header files.
49041
49042 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49043
49044         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49045         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49046         trigger for cygwin).
49047         Reported by Bruno Haible  <bruno@clisp.org>.
49048
49049 2008-04-28  Bruno Haible  <bruno@clisp.org>
49050
49051         * doc/posix-functions/strdup.texi: Mention mingw problem.
49052
49053 2008-04-27  Bruno Haible  <bruno@clisp.org>
49054
49055         * modules/stat-time-tests (Depends-on): Add sleep.
49056         * tests/test-stat-time.c (force_unlink): New function.
49057         (cleanup): Use it.
49058         (test_mtime): Remove the ctime related tests.
49059         (test_ctime): New function, containing the ctime related tests.
49060         (main): Call test_ctime, except on native Windows platforms.
49061
49062 2008-04-27  Bruno Haible  <bruno@clisp.org>
49063
49064         * lib/rpmatch.c (rpmatch): Add some comments.
49065         Reported by James Youngman <jay@gnu.org>.
49066
49067 2008-04-27  Bruno Haible  <bruno@clisp.org>
49068
49069         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49070         quiet NaNs.
49071
49072 2008-04-27  Bruno Haible  <bruno@clisp.org>
49073
49074         Make test-yesno.sh work on mingw.
49075         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49076         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49077         (main): Set stdin to binary mode.
49078         * modules/yesno-tests (Depends-on): Add binary-io.
49079
49080 2008-04-27  Bruno Haible  <bruno@clisp.org>
49081
49082         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49083         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49084         argument that lie outside the IEEE 854 domain.
49085         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49086         (gl_ISFINITE): Use it.
49087         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49088
49089 2008-04-27  Bruno Haible  <bruno@clisp.org>
49090
49091         Allow local renaming in config.h.
49092         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49093
49094 2008-04-27  Bruno Haible  <bruno@clisp.org>
49095
49096         * lib/memchr.c (__memchr): Change type of 'i'.
49097         * lib/memchr2.c (memchr2): Likewise.
49098
49099 2008-04-26  Eric Blake  <ebb9@byu.net>
49100         and Bruno Haible  <bruno@clisp.org>
49101
49102         Optimize and test memrchr.
49103         * modules/memrchr (Depends-on): Add intprops.
49104         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49105         * modules/memrchr-tests: New file.
49106         * tests/test-memrchr.c: New file.
49107
49108 2008-04-26  Bruno Haible  <bruno@clisp.org>
49109
49110         Add tentative support for DragonFly BSD.
49111         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49112         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49113         fp.
49114         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49115         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49116         * lib/fpurge.c (fpurge): Likewise.
49117         * lib/freadable.c (freaadable): Likewise.
49118         * lib/freadahead.c (freadahead): Likewise.
49119         * lib/freading.c (freading): Likewise.
49120         * lib/freadptr.c (freadptr): Likewise.
49121         * lib/freadseek.c (freadptrinc): Likewise.
49122         * lib/fseeko.c (fseeko): Likewise.
49123         * lib/fseterr.c (fseterr): Likewise.
49124         * lib/fwritable.c (fwritable): Likewise.
49125         * lib/fwriting.c (fwriting): Likewise.
49126
49127 2008-04-26  Bruno Haible  <bruno@clisp.org>
49128
49129         * lib/stdio-impl.h: New file.
49130         * lib/fbufmode.c: Include stdio-impl.h.
49131         (fbufmode): Use fp_, remove redundant #defines.
49132         * lib/fflush.c: Include stdio-impl.h.
49133         (clear_ungetc_buffer): Remove redundant #defines.
49134         * lib/fpurge.c: Include stdio-impl.h.
49135         (fpurge): Remove redundant #defines.
49136         * lib/freadable.c: Include stdio-impl.h.
49137         (freadable): Remove redundant #defines.
49138         * lib/freadahead.c: Include stdio-impl.h.
49139         (freadahead): Remove redundant #defines.
49140         * lib/freading.c: Include stdio-impl.h.
49141         (freading): Remove redundant #defines.
49142         * lib/freadptr.c: Include stdio-impl.h.
49143         (freadptr): Remove redundant #defines.
49144         * lib/freadseek.c: Include stdio-impl.h.
49145         (freadptrinc): Remove redundant #defines.
49146         * lib/fseeko.c: Include stdio-impl.h.
49147         (rpl_fseeko): Remove redundant #defines.
49148         * lib/fseterr.c: Include stdio-impl.h.
49149         (fseterr): Remove redundant #defines.
49150         * lib/fwritable.c: Include stdio-impl.h.
49151         (fwritable: Remove redundant #defines.
49152         * lib/fwriting.c: Include stdio-impl.h.
49153         (fwriting): Remove redundant #defines.
49154         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49155         * modules/fflush (Files): Likewise.
49156         * modules/fpurge (Files): Likewise.
49157         * modules/freadable (Files): Likewise.
49158         * modules/freadahead (Files): Likewise.
49159         * modules/freading (Files): Likewise.
49160         * modules/freadptr (Files): Likewise.
49161         * modules/freadseek (Files): Likewise.
49162         * modules/fseeko (Files): Likewise.
49163         * modules/fseterr (Files): Likewise.
49164         * modules/fwritable (Files): Likewise.
49165         * modules/fwriting (Files): Likewise.
49166
49167 2008-04-26  Bruno Haible  <bruno@clisp.org>
49168
49169         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49170         restore_seek_optimization, update_fpos_cache): New functions, extracted
49171         from rpl_fflush.
49172         (rpl_fflush): Use them.
49173         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49174         (gl_REPLACE_FFLUSH): Use it.
49175
49176 2008-04-26  Bruno Haible  <bruno@clisp.org>
49177
49178         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49179         on Solaris.
49180         * tests/test-xstrtoimax.sh: Likewise.
49181         * tests/test-xstrtoumax.sh: Likewise.
49182         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49183
49184 2008-04-26  Bruno Haible  <bruno@clisp.org>
49185
49186         * modules/memchr-tests: New file.
49187         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49188
49189 2008-04-26  Eric Blake  <ebb9@byu.net>
49190             Bruno Haible  <bruno@clisp.org>
49191
49192         * lib/memchr.c: Include intprops.h.
49193         (__memchr): Optimize parallel detection of matching bytes. Rename local
49194         variables. Add explanatory comments.
49195
49196 2008-04-26  Bruno Haible  <bruno@clisp.org>
49197
49198         Fix module 'memchr', broken since 2000-10-28.
49199         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49200
49201 2008-04-26  Bruno Haible  <bruno@clisp.org>
49202
49203         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49204         comments.
49205
49206 2008-04-25  Eric Blake  <ebb9@byu.net>
49207
49208         Use native fstatat on cygwin 1.7.0.
49209         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49210         first.
49211
49212 2008-04-23  Eric Blake  <ebb9@byu.net>
49213
49214         Improve memchr2 performance.
49215         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49216         NUL bytes.
49217         * modules/memchr2 (Depends-on): Use intprops.h.
49218
49219 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49220
49221         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49222         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49223         <blp@cs.stanford.edu>.
49224
49225 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49226
49227         * lib/arpa_inet.in.h: New file.
49228
49229         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49230         (Makefile.am): Sed in substitute header file.
49231
49232         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49233         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49234
49235         * modules/inet_ntop (configure.ac): Use
49236         gl_ARPA_INET_MODULE_INDICATOR.
49237
49238         * modules/inet_pton (configure.ac): Use
49239         gl_ARPA_INET_MODULE_INDICATOR.
49240
49241 2008-04-22  Jim Meyering  <meyering@redhat.com>
49242
49243         * modules/verify (License): Re-license as LGPLv2+.
49244
49245 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49246
49247         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49248         parameter to void* as per POSIX standard (MinGW uses char*).
49249
49250 2008-04-21  Bruno Haible  <bruno@clisp.org>
49251
49252         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49253         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49254         Define to replacements if REPLACE_ISWCNTRL is 1.
49255         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49256         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49257         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49258         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49259         what it fixes.
49260         * doc/posix-functions/iswalpha.texi: Likewise.
49261         * doc/posix-functions/iswblank.texi: Likewise.
49262         * doc/posix-functions/iswcntrl.texi: Likewise.
49263         * doc/posix-functions/iswdigit.texi: Likewise.
49264         * doc/posix-functions/iswgraph.texi: Likewise.
49265         * doc/posix-functions/iswlower.texi: Likewise.
49266         * doc/posix-functions/iswprint.texi: Likewise.
49267         * doc/posix-functions/iswpunct.texi: Likewise.
49268         * doc/posix-functions/iswspace.texi: Likewise.
49269         * doc/posix-functions/iswupper.texi: Likewise.
49270         * doc/posix-functions/iswxdigit.texi: Likewise.
49271         Reported by Alain Guibert.
49272
49273 2008-04-21  Bruno Haible  <bruno@clisp.org>
49274
49275         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49276         Patch by Alain Guibert.
49277
49278 2008-04-21  Bruno Haible  <bruno@clisp.org>
49279
49280         Fix test failures on mingw.
49281         * tests/test-xstrtol.c (print_no_progname): New function.
49282         (main): Install it in error_print_progname hook.
49283         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49284         * tests/test-xstrtoimax.sh: Likewise.
49285         * tests/test-xstrtoumax.sh: Likewise.
49286
49287 2008-04-21  Bruno Haible  <bruno@clisp.org>
49288
49289         Fix test failure on mingw.
49290         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49291
49292 2008-04-21  Bruno Haible  <bruno@clisp.org>
49293
49294         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49295         Actually assign a value.
49296
49297 2008-04-20  Bruno Haible  <bruno@clisp.org>
49298
49299         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49300         take 2.
49301         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49302         'canonicalize-lgpl' module is also used.
49303         * lib/canonicalize-lgpl.c: Undo last change.
49304         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49305
49306 2008-04-20  Bruno Haible  <bruno@clisp.org>
49307
49308         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49309         config.h. Provide _mkdir based fallback for mingw.
49310         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49311         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49312         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49313         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49314         rather than defining mkdir in config.h.
49315         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49316         (gl_SYS_STAT_H_DEFAULTS): New macro.
49317         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49318         HAVE_IO_H any more.
49319         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49320         HAVE_DECL_MKDIR and HAVE_IO_H.
49321
49322 2008-04-20  Bruno Haible  <bruno@clisp.org>
49323
49324         * lib/isapipe.c: Port to native Windows platforms.
49325
49326 2008-04-20  Bruno Haible  <bruno@clisp.org>
49327
49328         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49329
49330 2008-04-21  Eric Blake  <ebb9@byu.net>
49331
49332         Work around preprocessors that don't handle UINTMAX_MAX.
49333         * lib/memchr2.c (memchr2): Avoid embedded #if.
49334         Reported by Alain Guibert, fix suggested by Bruno Haible.
49335
49336 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49337
49338         * doc/posix-functions/strftime.texi (strftime): Explain better
49339         Windows incompatibility.  Suggested by Micah Cowan
49340         <micah@cowan.name>.
49341
49342 2008-04-20  Bruno Haible  <bruno@clisp.org>
49343
49344         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49345         unistr/u8-mblen.
49346
49347 2008-04-20  Bruno Haible  <bruno@clisp.org>
49348
49349         Fix test failure on platforms with non-GNU iconv.
49350         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49351         (U_TO_U8): Use it, rather than u16_to_u8.
49352         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49353         units at the end of the input string.
49354         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49355
49356 2008-04-20  Bruno Haible  <bruno@clisp.org>
49357
49358         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49359         when the resulting length is 0.
49360         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49361
49362 2008-04-20  Bruno Haible  <bruno@clisp.org>
49363
49364         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49365         works.
49366         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49367
49368 2008-04-20  Bruno Haible  <bruno@clisp.org>
49369
49370         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49371         * modules/tsearch-tests (configure.ac): Test for initstate function.
49372
49373 2008-04-20  Bruno Haible  <bruno@clisp.org>
49374
49375         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49376         for nlink_t if missing.
49377         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49378
49379 2008-04-19  Bruno Haible  <bruno@clisp.org>
49380
49381         Work around snprintf bug on Linux libc5.
49382         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49383         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49384         gl_SNPRINTF_SIZE1.
49385         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49386         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49387         that test failed.
49388         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49389         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49390         * modules/snprintf (Files): Add m4/printf.m4.
49391         * modules/vsnprintf (Files): Likewise.
49392         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49393         * doc/posix-functions/vsnprintf.texi: Likewise.
49394
49395 2008-04-19  Bruno Haible  <bruno@clisp.org>
49396
49397         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49398         from 0.0058 to less than 10^-7.
49399
49400 2008-04-19  Bruno Haible  <bruno@clisp.org>
49401
49402         Fix rounding when a precision is given.
49403         * lib/vasnprintf.c (is_borderline): New function.
49404         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49405         9...9x.
49406         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49407         %e, %g.
49408         * tests/test-vasprintf-posix.c (test_function): Likewise.
49409         * tests/test-snprintf-posix.h (test_function): Likewise.
49410         * tests/test-sprintf-posix.h (test_function): Likewise.
49411         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49412         * tests/test-printf-posix.h (test_function): Likewise.
49413         * tests/test-printf-posix.output: Update.
49414         Reported by John Darrington <john@darrington.wattle.id.au> via
49415         Ben Pfaff <blp@cs.stanford.edu>.
49416
49417 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49418
49419         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49420         Suggested by Bruno Haible <bruno@clisp.org>.
49421
49422 2008-04-17  Bruno Haible  <bruno@clisp.org>
49423
49424         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49425         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49426         implementation.
49427         Patch by Bruce Merry <bmerry@gmail.com>.
49428
49429 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49430
49431         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49432         doesn't work under Windows.
49433
49434 2008-04-16  Bruno Haible  <bruno@clisp.org>
49435
49436         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49437         New macros.
49438         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49439         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49440         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49441         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49442         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49443         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49444         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49445         macros.
49446         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49447         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49448         Northern Sotho, Uighur.
49449
49450 2008-04-16  Bruno Haible  <bruno@clisp.org>
49451
49452         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49453         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49454         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49455         Reported by Daniel Bergström <daniel@octocode.com>.
49456
49457 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49458             Bruno Haible  <bruno@clisp.org>
49459
49460         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49461         function.
49462         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49463         New functions, mostly extracted from gl_locale_name_default.
49464         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49465
49466 2008-04-16  Eric Blake  <ebb9@byu.net>
49467
49468         Adjust strtod detection to catch glibc 2.7 bug.
49469         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
49470         Reported by John Gatewood Ham.
49471
49472 2008-04-16  Bruno Haible  <bruno@clisp.org>
49473
49474         Add tentative support for Linux libc5.
49475         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
49476         * lib/fpurge.c (fpurge): Likewise.
49477         * lib/freadable.c (freadable): Likewise.
49478         * lib/freadahead.c (freadahead): Likewise.
49479         * lib/freading.c (freading): Likewise.
49480         * lib/freadptr.c (freadptr): Likewise.
49481         * lib/freadseek.c (freadptrinc): Likewise.
49482         * lib/fseeko.c (rpl_fseeko): Likewise.
49483         * lib/fseterr.c (fseterr): Likewise.
49484         * lib/fwritable.c (fwritable): Likewise.
49485         * lib/fwriting.c (fwriting): Likewise.
49486         Reported by Alain Guibert <alguibert+bts@free.fr>.
49487
49488 2008-04-15  Bruno Haible  <bruno@clisp.org>
49489
49490         * modules/mathl (configure.ac): Define module indicator.
49491
49492 2008-04-15  Bruno Haible  <bruno@clisp.org>
49493
49494         * lib/logl.c (logl): Remove unused variables.
49495
49496 2008-04-15  Bruno Haible  <bruno@clisp.org>
49497
49498         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
49499         fails.
49500
49501 2008-04-15  Bruno Haible  <bruno@clisp.org>
49502
49503         * lib/trim.c (trim2): Fix argument of isspace() macro.
49504
49505 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
49506
49507         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
49508         to 0.
49509         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
49510
49511 2008-04-14  Bruno Haible  <bruno@clisp.org>
49512
49513         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
49514         AC_LANG_PROGRAM argument.
49515         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
49516         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
49517         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
49518         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49519         * m4/math_h.m4 (gl_MATH_H): Likewise.
49520         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
49521         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49522         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49523         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
49524         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49525         * m4/regex.m4 (gl_REGEX): Likewise.
49526         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
49527         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
49528         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49529         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
49530         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49531         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49532         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49533         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49534
49535 2008-04-14  Jim Meyering  <meyering@redhat.com>
49536
49537         test-strtod: fix typos: s/abs/fabs/
49538         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
49539
49540 2008-04-13  Bruno Haible  <bruno@clisp.org>
49541
49542         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
49543         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
49544         module is also used and while not building the reloc-wrapper.
49545
49546 2008-04-13  Bruno Haible  <bruno@clisp.org>
49547
49548         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
49549
49550 2008-04-13  Bruno Haible  <bruno@clisp.org>
49551
49552         Fix AIX compilation failure introduced on 2008-04-02.
49553         * tests/test-frexp.c (exp): Undefine before redefining.
49554         * tests/test-frexpl.c (exp): Likewise.
49555
49556 2008-04-13  Bruno Haible  <bruno@clisp.org>
49557
49558         Work around a HP-UX stdio bug.
49559         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
49560         * tests/test-ftello.c (main): Likewise.
49561         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
49562         * doc/posix-functions/ftello.texi: Likewise.
49563
49564 2008-04-13  Bruno Haible  <bruno@clisp.org>
49565
49566         Make test-signbit pass on HP-UX/hppa.
49567         * tests/test-signbit.c (minus_zerol): New variable.
49568         (test_signbitl): Use it.
49569
49570 2008-04-13  Bruno Haible  <bruno@clisp.org>
49571
49572         Make truncl work on OSF/1 4.0.
49573         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
49574         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49575         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49576         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
49577         HAVE_DECL_TRUNCL.
49578         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
49579         HAVE_DECL_TRUNCL.
49580         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
49581
49582 2008-04-13  Bruno Haible  <bruno@clisp.org>
49583
49584         * lib/unictype.h: Remove trailing comma from enumeration definitions.
49585
49586 2008-04-13  Bruno Haible  <bruno@clisp.org>
49587
49588         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
49589         expression, so as to avoid HP-UX 11 cc compiler bug.
49590
49591 2008-04-13  Bruno Haible  <bruno@clisp.org>
49592
49593         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
49594
49595 2008-04-13  Bruno Haible  <bruno@clisp.org>
49596
49597         * lib/git-merge-changelog.c: Remove empty declaration outside of
49598         functions.
49599
49600 2008-04-13  Bruno Haible  <bruno@clisp.org>
49601
49602         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
49603
49604 2008-04-13  Bruno Haible  <bruno@clisp.org>
49605
49606         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
49607         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
49608         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
49609         also if it exists but lacks definitions of the SHUT_* macros.
49610         * modules/sys_socket (Description): Update.
49611         Reported by Elbert Pol <e.pol@chello.nl>.
49612
49613 2008-04-13  Bruno Haible  <bruno@clisp.org>
49614
49615         * lib/localcharset.c (OS2): Don't redefine if already defined.
49616         Reported by Elbert Pol <e.pol@chello.nl>.
49617
49618 2008-04-13  Bruno Haible  <bruno@clisp.org>
49619
49620         * lib/binary-io.h [__EMX__]: Include <io.h>.
49621         Reported by Elbert Pol <e.pol@chello.nl>.
49622
49623 2008-04-12  Bruno Haible  <bruno@clisp.org>
49624
49625         * lib/fpucw.h: Enable the definitions also for x86_64.
49626         Needed for NetBSD/x86_64.
49627         Reported by Thomas Klausner <tk@giga.or.at>.
49628
49629 2008-04-12  Bruno Haible  <bruno@clisp.org>
49630
49631         * tests/test-strtod.c: Include isnand.h.
49632         (main): Use isnand instead of isnan.
49633         Reported by Jim Meyering.
49634
49635 2008-04-12  Bruno Haible  <bruno@clisp.org>
49636
49637         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
49638         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
49639
49640 2008-04-12  Jim Meyering  <meyering@redhat.com>
49641
49642         * m4/math_h.m4 (gl_MATH_H): Fix typos.
49643
49644 2008-04-12  Bruno Haible  <bruno@clisp.org>
49645
49646         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
49647         Reported by Elbert Pol <e.pol@chello.nl>.
49648
49649 2008-04-12  Eric Blake  <ebb9@byu.net>
49650
49651         Work around Solaris 10 math.h bug.
49652         * m4/math_h.m4 (gl_MATH_H): Check for bug.
49653         (gl_MATH_H_DEFAULTS): Set up default.
49654         * modules/math (Makefile.am): Replace new indicators.
49655         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
49656         * tests/test-math.c (main): Test this.
49657         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
49658         * doc/posix-headers/math.texi (math.h): Mention bug.
49659         Reported by Nelson H. F. Beebe and Jim Meyering.
49660
49661 2008-04-11  Bruno Haible  <bruno@clisp.org>
49662
49663         Adapt to future versions of Apple GCC.
49664         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
49665         Reported by Peter O'Gorman <peter@pogma.com>.
49666
49667 2008-04-11  Bruno Haible  <bruno@clisp.org>
49668
49669         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
49670
49671 2008-04-11  Bruno Haible  <bruno@clisp.org>
49672
49673         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
49674
49675         * modules/getaddrinfo-tests (Makefile.am): Define
49676         test_getaddrinfo_LDADD.
49677
49678 2008-04-11  Bruno Haible  <bruno@clisp.org>
49679
49680         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
49681         (init): Fix syntax error.
49682         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
49683         is declared.
49684
49685 2008-04-11  Bruno Haible  <bruno@clisp.org>
49686
49687         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
49688         * modules/glob (Depends-on): Add stdbool.
49689
49690 2008-04-11  Bruno Haible  <bruno@clisp.org>
49691
49692         * lib/trim.c: Include <string.h>.
49693
49694 2008-04-11  Eric Blake  <ebb9@byu.net>
49695
49696         Avoid compile failure on OS/2.
49697         * lib/regex_internal.h (internal_function): Disable optimization
49698         on OS/2 (__EMX__), where it caused compiler error.
49699         Reported by Elbert Pol.
49700
49701 2008-04-11  Bruno Haible  <bruno@clisp.org>
49702
49703         Flush the standard error stream before aborting. Needed on mingw.
49704         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
49705         * tests/test-array_list.c (ASSERT): Likewise.
49706         * tests/test-array_oset.c (ASSERT): Likewise.
49707         * tests/test-avltree_list.c (ASSERT): Likewise.
49708         * tests/test-avltree_oset.c (ASSERT): Likewise.
49709         * tests/test-avltreehash_list.c (ASSERT): Likewise.
49710         * tests/test-binary-io.c (ASSERT): Likewise.
49711         * tests/test-byteswap.c (ASSERT): Likewise.
49712         * tests/test-c-ctype.c (ASSERT): Likewise.
49713         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
49714         * tests/test-c-strcasestr.c (ASSERT): Likewise.
49715         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
49716         * tests/test-c-strstr.c (ASSERT): Likewise.
49717         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
49718         * tests/test-canonicalize.c (ASSERT): Likewise.
49719         * tests/test-carray_list.c (ASSERT): Likewise.
49720         * tests/test-ceilf1.c (ASSERT): Likewise.
49721         * tests/test-ceilf2.c (ASSERT): Likewise.
49722         * tests/test-ceill.c (ASSERT): Likewise.
49723         * tests/test-count-one-bits.c (ASSERT): Likewise.
49724         * tests/test-fbufmode.c (ASSERT): Likewise.
49725         * tests/test-fflush2.c (ASSERT): Likewise.
49726         * tests/test-floorf1.c (ASSERT): Likewise.
49727         * tests/test-floorf2.c (ASSERT): Likewise.
49728         * tests/test-floorl.c (ASSERT): Likewise.
49729         * tests/test-fopen.c (ASSERT): Likewise.
49730         * tests/test-fpending.c (ASSERT): Likewise.
49731         * tests/test-fprintf-posix.c (ASSERT): Likewise.
49732         * tests/test-fpurge.c (ASSERT): Likewise.
49733         * tests/test-freadable.c (ASSERT): Likewise.
49734         * tests/test-freadahead.c (ASSERT): Likewise.
49735         * tests/test-freading.c (ASSERT): Likewise.
49736         * tests/test-freadptr.c (ASSERT): Likewise.
49737         * tests/test-freadptr2.c (ASSERT): Likewise.
49738         * tests/test-freadseek.c (ASSERT): Likewise.
49739         * tests/test-freopen.c (ASSERT): Likewise.
49740         * tests/test-frexp.c (ASSERT): Likewise.
49741         * tests/test-frexpl.c (ASSERT): Likewise.
49742         * tests/test-fseek.c (ASSERT): Likewise.
49743         * tests/test-fseeko.c (ASSERT): Likewise.
49744         * tests/test-fstrcmp.c (ASSERT): Likewise.
49745         * tests/test-ftell.c (ASSERT): Likewise.
49746         * tests/test-ftello.c (ASSERT): Likewise.
49747         * tests/test-func.c (ASSERT): Likewise.
49748         * tests/test-fwritable.c (ASSERT): Likewise.
49749         * tests/test-fwriting.c (ASSERT): Likewise.
49750         * tests/test-getdelim.c (ASSERT): Likewise.
49751         * tests/test-getline.c (ASSERT): Likewise.
49752         * tests/test-i-ring.c (ASSERT): Likewise.
49753         * tests/test-iconv-utf.c (ASSERT): Likewise.
49754         * tests/test-iconv.c (ASSERT): Likewise.
49755         * tests/test-isfinite.c (ASSERT): Likewise.
49756         * tests/test-isnand.c (ASSERT): Likewise.
49757         * tests/test-isnanf.c (ASSERT): Likewise.
49758         * tests/test-isnanl.h (ASSERT): Likewise.
49759         * tests/test-ldexpl.c (ASSERT): Likewise.
49760         * tests/test-linked_list.c (ASSERT): Likewise.
49761         * tests/test-linkedhash_list.c (ASSERT): Likewise.
49762         * tests/test-localename.c (ASSERT): Likewise.
49763         * tests/test-lseek.c (ASSERT): Likewise.
49764         * tests/test-mbscasecmp.c (ASSERT): Likewise.
49765         * tests/test-mbscasestr1.c (ASSERT): Likewise.
49766         * tests/test-mbscasestr2.c (ASSERT): Likewise.
49767         * tests/test-mbscasestr3.c (ASSERT): Likewise.
49768         * tests/test-mbscasestr4.c (ASSERT): Likewise.
49769         * tests/test-mbschr.c (ASSERT): Likewise.
49770         * tests/test-mbscspn.c (ASSERT): Likewise.
49771         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
49772         * tests/test-mbspbrk.c (ASSERT): Likewise.
49773         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
49774         * tests/test-mbsrchr.c (ASSERT): Likewise.
49775         * tests/test-mbsspn.c (ASSERT): Likewise.
49776         * tests/test-mbsstr1.c (ASSERT): Likewise.
49777         * tests/test-mbsstr2.c (ASSERT): Likewise.
49778         * tests/test-mbsstr3.c (ASSERT): Likewise.
49779         * tests/test-memchr2.c (ASSERT): Likewise.
49780         * tests/test-memmem.c (ASSERT): Likewise.
49781         * tests/test-open.c (ASSERT): Likewise.
49782         * tests/test-printf-frexp.c (ASSERT): Likewise.
49783         * tests/test-printf-frexpl.c (ASSERT): Likewise.
49784         * tests/test-printf-posix.c (ASSERT): Likewise.
49785         * tests/test-quotearg.c (ASSERT): Likewise.
49786         * tests/test-rbtree_list.c (ASSERT): Likewise.
49787         * tests/test-rbtree_oset.c (ASSERT): Likewise.
49788         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
49789         * tests/test-round1.c (ASSERT): Likewise.
49790         * tests/test-roundf1.c (ASSERT): Likewise.
49791         * tests/test-roundl.c (ASSERT): Likewise.
49792         * tests/test-signbit.c (ASSERT): Likewise.
49793         * tests/test-sleep.c (ASSERT): Likewise.
49794         * tests/test-snprintf-posix.c (ASSERT): Likewise.
49795         * tests/test-snprintf.c (ASSERT): Likewise.
49796         * tests/test-sprintf-posix.c (ASSERT): Likewise.
49797         * tests/test-stat-time.c (ASSERT): Likewise.
49798         * tests/test-strcasestr.c (ASSERT): Likewise.
49799         * tests/test-strerror.c (ASSERT): Likewise.
49800         * tests/test-striconv.c (ASSERT): Likewise.
49801         * tests/test-striconveh.c (ASSERT): Likewise.
49802         * tests/test-striconveha.c (ASSERT): Likewise.
49803         * tests/test-strsignal.c (ASSERT): Likewise.
49804         * tests/test-strstr.c (ASSERT): Likewise.
49805         * tests/test-strtod.c (ASSERT): Likewise.
49806         * tests/test-trunc1.c (ASSERT): Likewise.
49807         * tests/test-trunc2.c (ASSERT): Likewise.
49808         * tests/test-truncf1.c (ASSERT): Likewise.
49809         * tests/test-truncf2.c (ASSERT): Likewise.
49810         * tests/test-truncl.c (ASSERT): Likewise.
49811         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
49812         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
49813         * tests/test-vasnprintf.c (ASSERT): Likewise.
49814         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
49815         * tests/test-vasprintf.c (ASSERT): Likewise.
49816         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
49817         * tests/test-vprintf-posix.c (ASSERT): Likewise.
49818         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
49819         * tests/test-vsnprintf.c (ASSERT): Likewise.
49820         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
49821         * tests/test-wcwidth.c (ASSERT): Likewise.
49822         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
49823         * tests/test-xprintf-posix.c (ASSERT): Likewise.
49824         * tests/test-xvasprintf.c (ASSERT): Likewise.
49825         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
49826         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
49827         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
49828         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
49829         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
49830         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
49831         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
49832         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
49833         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
49834         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
49835         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
49836         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
49837         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
49838         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
49839         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
49840         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
49841         * tests/unictype/test-block_list.c (ASSERT): Likewise.
49842         * tests/unictype/test-block_of.c (ASSERT): Likewise.
49843         * tests/unictype/test-block_test.c (ASSERT): Likewise.
49844         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
49845         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
49846         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
49847         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
49848         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
49849         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
49850         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
49851         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
49852         * tests/unictype/test-combining.c (ASSERT): Likewise.
49853         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
49854         * tests/unictype/test-digit.c (ASSERT): Likewise.
49855         * tests/unictype/test-mirror.c (ASSERT): Likewise.
49856         * tests/unictype/test-numeric.c (ASSERT): Likewise.
49857         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
49858         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
49859         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
49860         * tests/unictype/test-scripts.c (ASSERT): Likewise.
49861         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
49862         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
49863         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
49864         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
49865         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
49866         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
49867         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
49868         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
49869         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
49870         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
49871         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
49872         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
49873         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
49874         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
49875         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
49876         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
49877         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
49878         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
49879         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
49880         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
49881         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
49882         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
49883         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
49884         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
49885         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
49886         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
49887         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
49888         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
49889         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
49890         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
49891         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
49892         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
49893         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
49894         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
49895         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
49896         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
49897         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
49898         Reported by Eric Blake.
49899
49900 2008-04-11  Bruno Haible  <bruno@clisp.org>
49901
49902         * lib/wchar.in.h: Tweak comment.
49903
49904 2008-04-11  Bruno Haible  <bruno@clisp.org>
49905
49906         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
49907         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
49908         gl_COMMON.
49909         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
49910
49911 2008-04-11  Bruno Haible  <bruno@clisp.org>
49912
49913         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
49914
49915 2008-04-11  Simon Josefsson  <simon@josefsson.org>
49916
49917         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
49918         of attempting to use non-existing /dev/*random.  Based on patch
49919         from Adam Strzelecki <ono@java.pl> in
49920         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
49921
49922 2008-04-08  Bruno Haible  <bruno@clisp.org>
49923
49924         Add tentative support for emx+gcc.
49925         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
49926         * lib/fpurge.c (fpurge): Likewise.
49927         * lib/freadable.c (freadable): Likewise.
49928         * lib/freadahead.c (freadahead): Likewise.
49929         * lib/freading.c (freading): Likewise.
49930         * lib/freadptr.c (freadptr): Likewise.
49931         * lib/freadseek.c (freadptrinc): Likewise.
49932         * lib/fseeko.c (rpl_fseeko): Likewise.
49933         * lib/fseterr.c (fseterr): Likewise.
49934         * lib/fwritable.c (fwritable): Likewise.
49935         * lib/fwriting.c (fwriting): Likewise.
49936         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
49937
49938 2008-04-09  Eric Blake  <ebb9@byu.net>
49939
49940         Avoid some autoconf warnings.
49941         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
49942         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
49943         * m4/afs.m4 (gl_AFS): Likewise.
49944         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
49945         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
49946         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
49947         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
49948         (gl_INTEGER_TYPE_SUFFIX): Likewise.
49949         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
49950         (AC_CHECK_DECLS_ONCE): Likewise.
49951         Rename file...
49952         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
49953         gnulib-tool requires autoconf 2.59 or better.
49954         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
49955
49956 2008-04-08  Eric Blake  <ebb9@byu.net>
49957
49958         Use 'git describe --match' if present (added in git 1.5.5).
49959         * build-aux/git-version-gen: Limit result to tags that match 'v*'
49960         if possible.
49961
49962 2008-04-08  Bruno Haible  <bruno@clisp.org>
49963
49964         Add tentative support for OpenServer.
49965         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
49966         _ptr, _cnt.
49967         * lib/fpurge.c (fpurge): Likewise.
49968         * lib/freadable.c (freadable): Likewise.
49969         * lib/freadahead.c (freadahead): Likewise.
49970         * lib/freading.c (freading): Likewise.
49971         * lib/freadptr.c (freadptr): Likewise.
49972         * lib/freadseek.c (freadptrinc): Likewise.
49973         * lib/fseeko.c (rpl_fseeko): Likewise.
49974         * lib/fseterr.c (fseterr): Likewise.
49975         * lib/fwritable.c (fwritable): Likewise.
49976         * lib/fwriting.c (fwriting): Likewise.
49977         Reported by Roger Cornelius <rac@tenzing.org> and
49978         Brian K. White <brian@aljex.com>.
49979
49980 2008-04-06  Jim Meyering  <meyering@redhat.com>
49981
49982         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
49983
49984 2008-04-06  Bruno Haible  <bruno@clisp.org>
49985
49986         Avoid possible error with non-ASCII bytes in UTF-8 locales.
49987         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
49988         * tests/test-printf-posix.sh: Likewise.
49989         * tests/test-vfprintf-posix.sh: Likewise.
49990         * tests/test-vprintf-posix.sh: Likewise.
49991         * tests/test-xprintf-posix.sh: Likewise.
49992
49993 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49994
49995         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
49996         hide error from 'ls', needed on OS/2.
49997         Report by Elbert Pol <elbert.pol@gmail.com>.
49998
49999 2008-04-04  Eric Blake  <ebb9@byu.net>
50000
50001         Make test-fseeko.c failures meaningful.
50002         * tests/test-fseeko.c: Print line number on failure.
50003         * tests/test-fseek.c: Likewise.
50004         Reported by Nelson H. F. Beebe.
50005
50006         Improve strtod bug detection check.
50007         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50008         required for Solaris 10.
50009         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50010
50011 2008-04-04  Bruno Haible  <bruno@clisp.org>
50012
50013         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50014         by m4/setenv.m4.
50015
50016 2008-04-03  Eric Blake  <ebb9@byu.net>
50017
50018         Ensure sane .version contents.
50019         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50020         version string.
50021         * build-aux/git-version-gen: Improve documentation.
50022
50023         Make GNU make output nicer.
50024         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50025         MAKECMDGOALS to enforce message for all command line targets.  Set
50026         srcdir for use in maint.mk.
50027
50028         Another maintainer tweak.
50029         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50030         a target that regenerates version.
50031
50032 2008-04-03  Jim Meyering  <meyering@redhat.com>
50033
50034         vc-list-files: don't cause coreutils "make po-check" failure
50035         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50036
50037 2008-04-03  Eric Blake  <ebb9@byu.net>
50038
50039         Allow VPATH usage of vc-list-files.
50040         * build-aux/vc-list-files (scriptversion): Add timestamp.
50041         (options): Add --help, --version, -C.
50042         (CVS): Support installed cvsu.
50043
50044 2008-04-02  Bruno Haible  <bruno@clisp.org>
50045
50046         Avoid some "statement with no effect" warnings from gcc.
50047         * tests/test-wctype.c (main): Explicitly ignore unused values.
50048         Reported by Jim Meyering.
50049
50050 2008-04-02  Jim Meyering  <meyering@redhat.com>
50051
50052         Avoid some warnings from "gcc -Wshadow".
50053         * tests/test-frexp.c (exp): Define to a different identifier.
50054         * tests/test-frexpl.c (exp): Likewise.
50055
50056 2008-04-03  Jim Meyering  <meyering@redhat.com>
50057
50058         bootstrap: remove dangling *.[ch] symlinks from lib
50059         * build-aux/bootstrap [dangling symlink removal]: Move find's
50060         -depth option to precede all others, to avoid a warning.
50061         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50062
50063 2008-04-02  Bruno Haible  <bruno@clisp.org>
50064
50065         Avoid some warnings from "gcc -Wshadow".
50066         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50067         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50068         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50069         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50070         Reported by Jim Meyering.
50071
50072 2008-04-01  Bruno Haible  <bruno@clisp.org>
50073
50074         Fix test to work on IRIX 6.5 with cc.
50075         * tests/test-math.c (numeric_equal): New function.
50076         (main): Use it.
50077
50078 2008-04-01  Bruno Haible  <bruno@clisp.org>
50079
50080         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50081
50082 2008-04-01  Bruno Haible  <bruno@clisp.org>
50083
50084         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50085         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50086         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50087         (Depends-on): Remove math.
50088
50089         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50090         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50091         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50092         (Depends-on): Remove math.
50093
50094         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50095         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50096         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50097         (Depends-on): Remove math.
50098         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50099         (Depends-on): Remove math.
50100
50101         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50102         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50103         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50104         (Depends-on): Remove math.
50105         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50106         (Depends-on): Remove math.
50107
50108         * tests/test-round1.c: Include nan.h.
50109         (main): Use NaNd instead of NAN.
50110         * modules/round-tests (Files): Add tests/nan.h.
50111
50112         * tests/test-trunc1.c: Include nan.h.
50113         (main): Use NaNd instead of NAN.
50114         * modules/trunc-tests (Files): Add tests/nan.h.
50115
50116         * tests/test-roundf1.c: Include nan.h.
50117         (main): Use NaNf instead of NAN.
50118         * modules/roundf-tests (Files): Add tests/nan.h.
50119
50120         * tests/test-truncf1.c: Include nan.h.
50121         (main): Use NaNf instead of NAN.
50122         * modules/truncf-tests (Files): Add tests/nan.h.
50123
50124         * tests/test-ceilf1.c: Include nan.h.
50125         (main): Use NaNf instead of NAN.
50126         * modules/ceilf-tests (Files): Add tests/nan.h.
50127
50128         * tests/test-floorf1.c: Include nan.h.
50129         (main): Use NaNf instead of NAN.
50130         * modules/floorf-tests (Files): Add tests/nan.h.
50131
50132         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50133         (main): Use NaNf instead of NAN.
50134         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50135
50136         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50137         (main): Use NaNd instead of NAN.
50138         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50139
50140         * tests/test-frexp.c: Include nan.h.
50141         (main): Use NaNd instead of NAN.
50142         * modules/frexp-tests (Files): Add tests/nan.h.
50143
50144         * lib/isnan.c: Don't include <math.h>.
50145         (FUNC): Don't use NAN macro.
50146         * modules/isnand-nolibm (Depends-on): Remove math.
50147         * modules/isnanf-nolibm (Depends-on): Remove math.
50148         * modules/isnanl (Depends-on): Remove math.
50149         * modules/isnanl-nolibm (Depends-on): Remove math.
50150
50151         * tests/nan.h: New file.
50152
50153 2008-04-01  Eric Blake  <ebb9@byu.net>
50154
50155         Fix typos.
50156         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50157         values to be the right type.
50158
50159         For now, cater to gnulib strtod inaccuracies.
50160         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50161         fractional results.  While not as nice from a QoI perspective, it
50162         is a quicker patch than correctly implementing decimal to binary
50163         rounding.
50164
50165 2008-03-31  Eric Blake  <ebb9@byu.net>
50166
50167         Guarantee a definition of NAN.
50168         * lib/math.in.h (NAN): Define if missing.
50169         * tests/test-math.c (main): Test it.
50170         * doc/posix-headers/math.texi (math.h): Document this.
50171         * lib/isnan.c (rpl_isnand): Use it.
50172         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50173         * tests/test-floorf1.c (NaN): Likewise.
50174         * tests/test-frexp.c (NaN): Likewise.
50175         * tests/test-isnand.c (NaN): Likewise.
50176         * tests/test-isnanf.c (NaN): Likewise.
50177         * tests/test-round1.c (NaN): Likewise.
50178         * tests/test-roundf1.c (NaN): Likewise.
50179         * tests/test-snprintf-posix.h (NaN): Likewise.
50180         * tests/test-sprintf-posix.h (NaN): Likewise.
50181         * tests/test-trunc1.c (NaN): Likewise.
50182         * tests/test-truncf1.c (NaN): Likewise.
50183         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50184         * tests/test-vasprintf-posix.c (NaN): Likewise.
50185         * modules/isnand-nolibm (Depends-on): Add math.
50186         * modules/isnanf-nolibm (Depends-on): Likewise.
50187         * modules/isnanl (Depends-on): Likewise.
50188         * modules/isnanl-nolibm (Depends-on): Likewise.
50189         * modules/snprintf-posix-tests (Depends-on): Likewise.
50190         * modules/sprintf-posix-tests (Depends-on): Likewise.
50191         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50192         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50193         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50194         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50195
50196 2008-03-31  Bruno Haible  <bruno@clisp.org>
50197
50198         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50199         * doc/posix-functions/strtod.texi: Likewise.
50200
50201 2008-03-31  Bruno Haible  <bruno@clisp.org>
50202
50203         * tests/test-strtod.c (main): Don't use C99 syntax.
50204
50205 2008-03-31  Bruno Haible  <bruno@clisp.org>
50206
50207         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50208         Reported by Eric Blake.
50209
50210 2008-03-31  Jim Meyering  <meyering@redhat.com>
50211
50212         Don't compare actual signbit return values.
50213         * tests/test-strtod.c (main): Rather, compare only their
50214         zero/non-zero nature.
50215
50216 2008-03-31  Eric Blake  <ebb9@byu.net>
50217
50218         More strtod documentation.
50219         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50220         failures as distinct bugs.
50221
50222 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50223
50224         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50225         Problem reported by Erik Benada in
50226         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50227
50228 2008-03-30  Bruno Haible  <bruno@clisp.org>
50229
50230         * tests/test-strtod.c: Add comments about which assertion fails on which
50231         platform.
50232         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50233
50234 2008-03-30  Eric Blake  <ebb9@byu.net>
50235
50236         Test signbit behavior on zeros.
50237         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50238         (test_signbitd, test_signbitl): Likewise.
50239
50240         More strtod touchups.
50241         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50242         sign of negative underflow, for now.  Use .5, not .1.
50243         * doc/posix-functions/strtod.texi (strtod): Mention these
50244         limitations.
50245         Reported by Jim Meyering.
50246
50247 2008-03-30  Bruno Haible  <bruno@clisp.org>
50248
50249         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50250         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50251
50252 2008-03-30  Bruno Haible  <bruno@clisp.org>
50253
50254         Avoid failure when attempting to return empty iconv results on some
50255         platforms.
50256         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50257         allocation, don't report ENOMEM when the resulting string is empty.
50258
50259 2008-03-30  Bruno Haible  <bruno@clisp.org>
50260
50261         Fix buffer overrun.
50262         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50263         Don't consider the width for tmp_length. Check count against tmp_length
50264         before doing the padding. Ensure enough allocation during padding.
50265
50266 2008-03-30  Eric Blake  <ebb9@byu.net>
50267
50268         strtod touchups.
50269         * lib/strtod.c (strtod): Avoid compiler warnings.
50270         Reported by Jim Meyering.
50271
50272 2008-03-30  Bruno Haible  <bruno@clisp.org>
50273
50274         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50275         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50276         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50277         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50278         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50279         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50280         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50281         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50282
50283         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50284         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50285         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50286         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50287         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50288         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50289         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50290         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50291
50292         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50293         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50294         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50295         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50296         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50297         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50298         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50299         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50300
50301         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50302         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50303
50304         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50305         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50306
50307         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50308         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50309
50310         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50311         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50312         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50313
50314         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50315         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50316         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50317
50318         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50319         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50320         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50321
50322         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50323         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50324         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50325
50326         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50327         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50328         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50329         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50330         (Depends-on): Add EOVERFLOW.
50331         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50332         (Depends-on): Add EOVERFLOW.
50333         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50334         (Depends-on): Add EOVERFLOW.
50335         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50336         (Depends-on): Add EOVERFLOW.
50337         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50338         (Depends-on): Add EOVERFLOW.
50339         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50340         (Depends-on): Add EOVERFLOW.
50341         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50342         (Depends-on): Add EOVERFLOW.
50343         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50344         (Depends-on): Add EOVERFLOW.
50345
50346         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50347         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50348         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50349
50350         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50351         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50352         * modules/snprintf (Depends-on): Add EOVERFLOW.
50353
50354         * lib/poll.c (EOVERFLOW): Remove fallback.
50355         * modules/poll (Depends-on): Add EOVERFLOW.
50356
50357         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50358         * modules/getugroups (Depends-on): Add EOVERFLOW.
50359
50360         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50361         * modules/getdelim (Depends-on): Add EOVERFLOW.
50362
50363         * lib/ftell.c (EOVERFLOW): Remove fallback.
50364         * modules/ftell (Depends-on): Add EOVERFLOW.
50365
50366         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50367         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50368         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50369
50370         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50371
50372         * modules/EOVERFLOW-tests: New file.
50373         * tests/test-EOVERFLOW.c: New file.
50374
50375         * modules/EOVERFLOW: New file.
50376         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50377
50378 2008-03-30  Bruno Haible  <bruno@clisp.org>
50379
50380         Fix bug introduced on 2007-06-10.
50381         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50382         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50383
50384 2008-03-30  Bruno Haible  <bruno@clisp.org>
50385
50386         Improve freadseek's efficiency after ungetc.
50387         * lib/freadseek.c: Include freadahead.h.
50388         (freadptrinc): New function, extracted from freadseek.
50389         (freadseek): Use it in a loop. Use freadahead to determine the number
50390         of loop iterations.
50391         * modules/freadseek (Depends-on): Add freadahead.
50392         (configure.ac): Require AC_C_INLINE.
50393
50394 2008-03-30  Bruno Haible  <bruno@clisp.org>
50395
50396         * lib/freadseek.c (freadseek): Don't ignore the return value of
50397         freadptr.
50398
50399 2008-03-29  Eric Blake  <ebb9@byu.net>
50400
50401         Add hex float support.
50402         * modules/strtod (Depends-on): Add c-ctype.
50403         (Link): Mention POW_LIB.
50404         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50405         whitespace between 'e' and exponent.
50406         * tests/test-strtod.c (main): Enable hex float tests.
50407         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50408         now provides.
50409
50410         Document various strtod bugs, with some fixes.
50411         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50412         "-0x", "inf", "nan", and hex constants.
50413         * doc/posix-functions/atof.texi (atof): Likewise.
50414         * modules/stdlib (Makefile.am): Support strtod.
50415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50416         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50417         detect additional strtod bugs.
50418         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50419         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50420         bool where appropriate.  Parse 'inf' and 'nan'.
50421         * tests/test-strtod.c: New file.
50422         * modules/strtod (Depends-on): Add stdbool, stdlib.
50423         (configure.ac): Turn on module indicator.
50424         * modules/strtod-tests: New module.
50425
50426 2008-03-29  Eric Blake  <ebb9@byu.net>
50427
50428         Fix ftell on mingw.
50429         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50430         * modules/ftell-tests (Depends-on): Add binary-io.
50431         * modules/ftello-tests (Depends-on): Likewise.
50432         * tests/test-ftell.c (main): Enhance test to cover behavior after
50433         ungetc.  Enforce binary mode.
50434         * tests/test-ftello.c (main): Likewise.
50435
50436         Pass test-freadseek on cygwin.
50437         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50438         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50439         ungetc buffer.
50440
50441         * tests/test-fflush2.c (main): Fix typo.
50442
50443 2008-03-29  Bruno Haible  <bruno@clisp.org>
50444
50445         * tests/test-fflush2.c (main): Temporarily disable the contents of
50446         this test.
50447         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50448         Reported by Eric Blake.
50449
50450 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50451
50452         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50453         (GC_SHA224_DIGEST_SIZE): Add.
50454
50455         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50456         (gc_hash_digest_length): Likewise.
50457         (gc_hash_buffer): Likewise.
50458
50459 2008-03-25  Bruno Haible  <bruno@clisp.org>
50460
50461         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50462         detail which gettext release to use.
50463         Reported by Simon Josefsson.
50464
50465 2008-03-26  Jim Meyering  <meyering@redhat.com>
50466
50467         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50468         * modules/gnumakefile (clean-GNUmakefile): Also, use
50469         test ... && ... || : syntax rather than if-then ... fi.
50470
50471         gnumakefile: Don't double-quote-expand $(VPATH) value.
50472         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
50473
50474 2008-03-24  Eric Blake  <ebb9@byu.net>
50475
50476         Alter GNUmakefile to install into top directory.
50477         * modules/maintainer-makefile: Split, and add dependency...
50478         * modules/gnumakefile: to this new module.
50479         * build-aux/GNUmakefile: Move...
50480         * top/GNUmakefile: ...here.
50481         * build-aux/maint.mk: Move...
50482         * top/maint.mk: ...here.
50483         * MODULES.html.sh (Support for maintaining...): Document new
50484         module.
50485
50486 2008-03-23  Bruno Haible  <bruno@clisp.org>
50487
50488         * gnulib-tool: New options --vc-files, --no-vc-files.
50489         (func_usage): Document them.
50490         (vc_files): New variable.
50491         (func_import): Consider vc_files.
50492         (func_create_testdir): Set vc_files to empty.
50493         Suggested by Jim Meyering and Karl Berry.
50494
50495 2008-03-23  Bruno Haible  <bruno@clisp.org>
50496
50497         Fix regex compilation error on HP-UX 11.
50498         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
50499         * modules/regex (Files): Add m4/mbstate_t.m4.
50500         Reported by Ton Voon <ton.voon@altinity.com>.
50501
50502 2008-03-23  Bruno Haible  <bruno@clisp.org>
50503
50504         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
50505
50506 2008-03-23  Eric Blake  <ebb9@byu.net>
50507             Bruno Haible  <bruno@clisp.org>
50508
50509         Install files from top/ in the destination directory.
50510         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50511         augmentation also for the files from top/.
50512         (func_import, func_create_testdir): Rewrite file names:
50513         top/filename -> filename.
50514
50515 2008-03-23  Bruno Haible  <bruno@clisp.org>
50516
50517         Tweak "gnulib --version" output.
50518         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
50519
50520 2008-03-23  Bruno Haible  <bruno@clisp.org>
50521
50522         Tweak "gnulib --version" output.
50523         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
50524         rather than contents of ChangeLog, when possible.
50525
50526 2008-03-21  Eric Blake  <ebb9@byu.net>
50527
50528         More --version tweaks.
50529         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
50530         date of last ChangeLog entry.
50531
50532 2008-03-21  Jim Meyering  <meyering@redhat.com>
50533
50534         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
50535
50536 2008-03-20  Eric Blake  <ebb9@byu.net>
50537
50538         VPATH fix.
50539         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
50540
50541 2008-03-20  Simon Josefsson  <simon@josefsson.org>
50542
50543         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
50544         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
50545
50546 2008-03-20  Eric Blake  <ebb9@byu.net>
50547
50548         Sync GNUmakefile with coreutils.
50549         * build-aux/GNUmakefile (have-Makefile): Rename...
50550         (_have-Makefile): ...to this, for namespace consideration.
50551         (GNUmakefile.cfg): Include, if present.
50552         (_autoreconf): Define a default.
50553         (_is-dist-target): New rule for rebuilds to pick up intra-release
50554         version.
50555         (maint-cfg.mk): Rename...
50556         (cfg.mk): ...to this.
50557
50558 2008-03-18  Jim Meyering  <meyering@redhat.com>
50559
50560         New script and module: mktempd
50561         * MODULES.html.sh (maint+release support): Add mktempd.
50562         * build-aux/mktempd: New file.
50563         * modules/mktempd: New file.
50564
50565 2008-03-15  Jim Meyering  <meyering@redhat.com>
50566
50567         Undo last change.
50568         * lib/sha1.c, lib/md5.c: 63 != ~63.
50569         Reported by Andreas Schwab.
50570
50571         sha1.c, md5.c: Hoist a redundant expression.
50572         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
50573         "ctx->buflen" only once, before calling *_process_block.
50574         * lib/md5.c (md5_process_bytes): Likewise.
50575
50576 2008-03-14  Eric Blake  <ebb9@byu.net>
50577
50578         Bump copyright year in files generated by gnulib-tool.
50579         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
50580         gnulib-tool, rather than hard-coding it.
50581
50582         Fix 'gnulib-tool --version' output to work with git.
50583         * gnulib-tool (func_gnulib_dir): New function, extracted from...
50584         (startup): ...here.
50585         (func_version): Use it to invoke git-version-gen, rather than
50586         relying on CVS keyword expansion.  Modernize wording.
50587         (cvsdatestamp, last_checkin_date, version): Kill unused
50588         variables.
50589
50590 2008-03-12  Jim Meyering  <meyering@redhat.com>
50591
50592         Recognize optional cast of the argument to free.
50593         * build-aux/useless-if-before-free: Update regexps.
50594
50595         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
50596
50597 2008-03-11  Bruno Haible  <bruno@clisp.org>
50598
50599         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
50600         by a single package.
50601         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
50602         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
50603         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
50604         Reported by Sam Steingold <sds@gnu.org>.
50605
50606 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50607
50608         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
50609         repositories.
50610
50611 2008-03-11  Bruno Haible  <bruno@clisp.org>
50612
50613         Avoid conflicts between local macro definitions.
50614         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50615         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
50616
50617 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
50618             Bruno Haible  <bruno@clisp.org>
50619
50620         Make va_copy work with some version of xlc on AIX 5.1.
50621         * lib/stdarg.in.h: New file.
50622         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
50623         On AIX, use a <stdarg.h> file substitute.
50624         * modules/stdarg (Files): Add lib/stdarg.in.h.
50625         (Depends-on): Add include_next.
50626         (Makefile.am): Build a stdarg.h substitute if requested.
50627         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
50628
50629 2008-03-10  Bruno Haible  <bruno@clisp.org>
50630
50631         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
50632         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50633         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50634
50635 2008-03-10  Bruno Haible  <bruno@clisp.org>
50636
50637         * modules/stdlib (Depends-on): Add include_next, remove
50638         absolute-header.
50639
50640 2008-03-09  Bruno Haible  <bruno@clisp.org>
50641
50642         * lib/freadahead.h (freadahead): Document more precisely.
50643         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
50644         the sum of both buffer sizes.
50645         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
50646         * NEWS: Document the change.
50647
50648 2008-03-09  Bruno Haible  <bruno@clisp.org>
50649
50650         Extend freadptr to return also the buffer size.
50651         * lib/freadptr.h (freadptr): Add sizep argument.
50652         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
50653         (freadptr): Add sizep argument. Determine buffer size like freadahead
50654         does.
50655         * tests/test-freadptr.c: Don't include freadahead.h.
50656         (main): Adapt for new calling convention of freadptr.
50657         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
50658         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
50659         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
50660         tests/test-freadptr2.sh.
50661         (Depends): Remove freadahead.
50662         (TESTS): Add test-freadptr2.sh.
50663         (check_PROGRAMS): Add test-freadptr2.
50664
50665 2008-03-09  Bruno Haible  <bruno@clisp.org>
50666
50667         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
50668         Report and solution by Simon Josefsson.
50669
50670 2008-03-06  Bruno Haible  <bruno@clisp.org>
50671
50672         Make fflush after ungetc work on BSD platforms.
50673         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
50674         * tests/test-fflush2.c: New file.
50675         * tests/test-fflush2.sh: New file.
50676         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
50677         tests/test-fflush2.c.
50678         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
50679         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
50680
50681 2008-03-06  Eric Blake  <ebb9@byu.net>
50682
50683         Likewise for ftello.
50684         * modules/ftello (Dependencies): Add extensions.
50685         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
50686
50687 2008-03-06  Bruno Haible  <bruno@clisp.org>
50688
50689         * modules/fseeko (Dependencies): Add extensions.
50690         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
50691         Needed on glibc systems.
50692
50693 2008-03-06  Bruno Haible  <bruno@clisp.org>
50694
50695         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
50696         email address.
50697         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50698
50699 2008-03-06  Bruno Haible  <bruno@clisp.org>
50700
50701         * users.txt: Add libgnupdf.
50702
50703 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50704
50705         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
50706         (Header File Substitutes, Function Substitutes,
50707         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
50708         (Build robot for gnulib): Fix typo.
50709
50710 2008-03-06  Bruno Haible  <bruno@clisp.org>
50711
50712         * doc/gnulib-tool.texi (VCS Issues): Small updates.
50713         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50714
50715 2008-03-06  Bruno Haible  <bruno@clisp.org>
50716
50717         * doc/func.texi: New file, extracted from doc/gnulib.texi.
50718         * doc/gnulib.texi: Include it.
50719
50720 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50721
50722         * modules/func (License): Change license to unlimited; there was
50723         no LGPL parts in the module anyway.
50724
50725 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50726
50727         * modules/__func__: Renamed to modules/func.
50728         * modules/__func__-tests: Renamed to modules/func-tests.
50729         * tests/test-__func__.c: Renamed to tests/test-func.c.
50730         * m4/__func__.m4: Renamed to m4/func.m4.
50731         * doc/gnulib.texi (__func__): Section renamed to func.
50732         Suggested by Eric Blake <ebb9@byu.net>.
50733
50734 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50735
50736         * doc/gnulib.texi (__func__): Use C99 terminology when talking
50737         about __func__.  Make example self-contained.  Suggested by Eric
50738         Blake <ebb9@byu.net>.
50739
50740         * tests/test-__func__.c (main): Avoid extraneous () around __func.
50741         Suggested by Eric Blake <ebb9@byu.net>.
50742
50743 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50744
50745         * modules/__func__: New file.
50746         * modules/__func__-tests: New file.
50747         * tests/test-__func__.c: New file.
50748         * m4/__func__.m4: New file.
50749         * doc/gnulib.texi (__func__): Document __func__ module.
50750
50751 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50752
50753         * modules/byteswap (License): Re-license as LGPLv2+.
50754
50755 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50756
50757         * doc/Makefile: Add pdf target.
50758
50759 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50760
50761         * modules/inline (License): Use 'unlimited', since there are only
50762         *.m4 files in this module.
50763
50764 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
50765             Bruno Haible  <bruno@clisp.org>
50766
50767         Add support for HP C 7.1 on OpenVMS 8.3.
50768         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
50769
50770 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
50771
50772         Update VMS specifics.
50773         * lib/getopt.c [VMS]: Remove include of unixlib.h.
50774
50775 2008-03-02  Jim Meyering  <meyering@redhat.com>
50776
50777         Remove the last dependency on the "free" module.
50778         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
50779         Reported by Bob Proulx.
50780
50781         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
50782
50783         Remove useless "if" tests before free.  Deprecate "free" module.
50784         * doc/posix-functions/free.texi: Mention that this
50785         module is no longer useful.
50786         * modules/free (Notice): Say this module is obsolete.
50787         * modules/readutmp (Depends-on): Remove free.
50788         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
50789         * lib/putenv.c (putenv): Likewise.
50790         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
50791         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
50792         * tests/test-c-strcasestr.c (main): Likewise.
50793         * tests/test-c-strstr.c (main): Likewise.
50794         * tests/test-mbscasestr1.c (main): Likewise.
50795         * tests/test-mbscasestr2.c (main): Likewise.
50796         * tests/test-mbsstr1.c (main): Likewise.
50797         * tests/test-mbsstr2.c (main): Likewise.
50798         * tests/test-memmem.c (main): Likewise.
50799         * tests/test-strcasestr.c (main): Likewise.
50800         * tests/test-striconv.c (main): Likewise.
50801         * tests/test-striconveh.c (main): Likewise.
50802         * tests/test-striconveha.c (main): Likewise.
50803         * tests/test-strstr.c (main): Likewise.
50804
50805         * build-aux/git-version-gen: Adjust a comment and the Usage string.
50806
50807         bootstrap: sync from coreutils again
50808         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
50809
50810 2008-03-01  Jim Meyering  <meyering@redhat.com>
50811
50812         bootstrap: sync from coreutils
50813         * build-aux/bootstrap (update_po_files): Copy a .po file into place
50814         also when the target doesn't exist.
50815
50816 2008-03-01  Eric Blake  <ebb9@byu.net>
50817
50818         Fix bugs in last patch.
50819         * lib/memchr2.c (memchr2): Fix typo.
50820         * tests/test-memchr2.c: Test previous bug, and don't use GNU
50821         extension.
50822         Reported by Bruce Korb.
50823
50824         New module 'memchr2'.
50825         * modules/memchr2: New file.
50826         * modules/memchr2-tests: Likewise.
50827         * lib/memchr2.h: Likewise.
50828         * lib/memchr2.c: Likewise, based on memchr.c.
50829         * tests/test-memchr2.c: New test.
50830         * MODULES.html.sh (String handling): Add memchr2.
50831
50832 2008-02-29  Bruno Haible  <bruno@clisp.org>
50833
50834         * modules/freadseek-tests: New file.
50835         * tests/test-freadseek.sh: New file.
50836         * tests/test-freadseek.c: New file.
50837
50838         New module 'freadseek'.
50839         * modules/freadseek: New file.
50840         * lib/freadseek.h: New file.
50841         * lib/freadseek.c: New file.
50842         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
50843
50844 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50845
50846         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
50847         wydawca.
50848
50849         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
50850         program_invocation_name and program_invocation_short_name are
50851         present.
50852
50853 2008-02-28  Bruno Haible  <bruno@clisp.org>
50854
50855         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
50856         * tests/test-freadptr.sh: Also test non-seekable stdin.
50857
50858 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
50859
50860         * build-aux/bootstrap (source_base, m4_base)
50861         (doc_base, tests_base): New variables.
50862         (gnulib_tool_options): Do not hardcode base directories, use
50863         the above variables instead.
50864
50865 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
50866
50867         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
50868
50869 2008-02-28  Bruno Haible  <bruno@clisp.org>
50870
50871         * modules/freadptr-tests: New file.
50872         * tests/test-freadptr.sh: New file.
50873         * tests/test-freadptr.c: New file.
50874
50875         New module 'freadptr'.
50876         * modules/freadptr: New file.
50877         * lib/freadptr.h: New file.
50878         * lib/freadptr.c: New file.
50879         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
50880
50881 2008-02-26  Karl Berry  <karl@freefriends.org>
50882
50883         Sync from Libtool:
50884         * libltdl/argz.c (argz_add, argz_count): New functions.
50885         * libltdl/argz.in.h: Declare them.
50886         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
50887
50888 2008-02-22  Bruno Haible  <bruno@clisp.org>
50889
50890         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
50891         is a pointer type.  Needed for HP-UX 10.
50892         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
50893         * doc/posix-functions/gmtime_r.texi: Likewise.
50894         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50895
50896 2008-02-24  Bruno Haible  <bruno@clisp.org>
50897
50898         * modules/environ-tests: New file.
50899         * tests/test-environ.c: New file.
50900
50901         New module 'environ'.
50902         * modules/environ: New file.
50903         * lib/unistd.in.h (environ): New declaration.
50904         * m4/environ.m4: New file.
50905         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
50906         after use.
50907         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
50908         HAVE_DECL_ENVIRON.
50909         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
50910         HAVE_DECL_ENVIRON.
50911         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
50912         wrong claim that 'environ' is missing on some systems.
50913         * modules/execute (Depends-on): Add environ.
50914         * lib/execute.c (environ): Remove fallback declaration.
50915         * modules/pipe (Depends-on): Add environ.
50916         * lib/pipe.c (environ): Remove fallback declaration.
50917         * modules/setenv (Depends-on): Add environ.
50918         * lib/setenv.c (environ): Remove fallback declaration.
50919         * modules/unsetenv (Depends-on): Add environ.
50920         * lib/unsetenv.c (environ): Remove fallback declaration.
50921         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
50922         m4/environ.m4.
50923         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
50924         (gl_PREREQ_UNSETENV): Likewise.
50925
50926 2008-02-24  Bruno Haible  <bruno@clisp.org>
50927
50928         * doc/posix-functions/environ.texi: Document the MacOS X problem.
50929
50930 2008-02-20  Bob Proulx  <bob@proulx.com>
50931
50932         Enable use of older two part flavor 'git describe'.
50933         * build-aux/git-version-gen: If using the older two part flavor of
50934         git version then recreate the third part now present in the
50935         newer three part flavor of git describe.
50936
50937 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
50938
50939         * lib/fts.c (fts_build): Typo correction to comment.
50940
50941 2008-02-17  Bruno Haible  <bruno@clisp.org>
50942
50943         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
50944         generating no-op conflicts.
50945
50946 2008-02-17  Bruno Haible  <bruno@clisp.org>
50947
50948         Speed up by 10%.
50949         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
50950         result_entries, rather than an index-based loop.
50951
50952 2008-02-17  Bruno Haible  <bruno@clisp.org>
50953
50954         Speed up by 25%.
50955         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
50956         'hashcode_cached'.
50957         (entry_create): New function.
50958         (entry_hashcode): Use the cached hashcode if possible.
50959         (read_changelog_file, try_split_merged_entry): Use entry_create.
50960
50961 2008-02-17  Bruno Haible  <bruno@clisp.org>
50962
50963         Speed up from O(n^2) to O(n) for long ChangeLog files.
50964         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
50965         (read_changelog_file): Change implementation of entries_reversed list
50966         to rbtreehash.
50967         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
50968
50969 2008-02-17  Bruno Haible  <bruno@clisp.org>
50970
50971         New option --split-merged-entry.
50972         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
50973         (find_paragraph_end, try_split_merged_entry): New functions.
50974         (long_options): Add option --split-merged-entry.
50975         (usage): Document option --split-merged-entry.
50976         (main): Implement option --split-merged-entry.
50977         Reported by Eric Blake.
50978
50979 2008-02-17  Bruno Haible  <bruno@clisp.org>
50980
50981         * lib/git-merge-changelog.c: Include c-strstr.h.
50982         (main): Support the "git pull --rebase" situation.
50983         * modules/git-merge-changelog (Depends-on): Add c-strstr.
50984         Reported by Eric Blake.
50985
50986 2008-02-16  Eric Blake  <ebb9@byu.net>
50987
50988         Avoid doubling \ in common case of "c-maybe" quoting style.
50989         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
50990         eliding outer quotes.
50991         * lib/quotearg.h: Document this.
50992         * tests/test-quotearg.c (result_strings, inputs, results_g)
50993         (flag_results, locale_results): Test it by adding a new string to
50994         each test group.
50995         (compare_strings): Test new string.
50996
50997 2008-02-13  Eric Blake  <ebb9@byu.net>
50998
50999         Avoid trigraph quoting in default output.
51000         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51001         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51002         unless explicitly requested.
51003         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51004
51005 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51006
51007         Don't rely on signed integer overflowing to negative value.
51008         * lib/getugroups.c (getugroups): Include <limits.h>.
51009         Instead, compare against INT_MAX, and increment only if the test passes.
51010
51011 2008-02-13  Jim Meyering  <meyering@redhat.com>
51012         and Eric Blake  <ebb9@byu.net>
51013
51014         Avoid shadowing warning and compile errors on Linux.
51015         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51016         forwarding macros on Linux.
51017         (dcgettext): Define a stub, for Linux.
51018         (results_g, main): Avoid warnings.
51019
51020 2008-02-12  Eric Blake  <ebb9@byu.net>
51021
51022         Silence warning in last patch.
51023         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51024
51025         Quotearg part 4: add tests, fix c-maybe colon quoting.
51026         * lib/quotearg.h: Improve documentation.
51027         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51028         escapes when adding outer quotes.  When quoting trigraphs, use
51029         valid C notation.  When quoting NUL, omit extra characters if next
51030         character is not digit.  Alter prototype.
51031         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51032         callers.
51033         * modules/quotearg-tests: New module.
51034         * tests/test-quotearg.c: New test.
51035
51036 2008-02-07  Eric Blake  <ebb9@byu.net>
51037
51038         Quotearg part 3: add flag to control outer quote elision.
51039         * lib/quotearg.h (c_maybe_quoting_style): New style.
51040         (enum quoting_flags): Better documentation of flags.
51041         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51042         c-maybe style.
51043         (quotearg_buffer_restyled): Handle new flag to elide outer
51044         quotes.
51045
51046         Quotearg part 2: add flag that can control NUL elision.
51047         * lib/quotearg.h (set_quoting_flags): New prototype.
51048         * lib/quotearg.c (struct quoting_options): Add flag field.
51049         (set_quoting_flags): New function.
51050         (quotearg_buffer_restyled): Add flags parameter.
51051         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51052         (quotearg_n_options): Set the flag, since length cannot be
51053         returned.
51054         (quoting_options_from_style): Default flags correctly.
51055
51056         Quotearg part 1: more wrappers, restore quotearg_char state.
51057         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51058         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51059         (quotearg_colon_mem): New wrappers.
51060         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51061         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51062         functions.
51063         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51064         (quotearg_colon_mem): New functions.
51065
51066 2008-02-11  Bruno Haible  <bruno@clisp.org>
51067
51068         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51069         library in the current directory: it does not work with parallel make.
51070         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51071
51072 2008-02-11  Bruno Haible  <bruno@clisp.org>
51073
51074         * .gitattributes: New file.
51075
51076 2008-02-11  Jim Meyering  <meyering@redhat.com>
51077
51078         useless-if-before-free: Fix reversed exit values.
51079         * build-aux/useless-if-before-free: Use correct values
51080         for EXIT_MATCH and EXIT_NO_MATCH.
51081
51082         * build-aux/useless-if-before-free: Close stdout carefully.
51083
51084 2008-02-10  Bruno Haible  <bruno@clisp.org>
51085
51086         New module 'git-merge-changelog'.
51087         * modules/git-merge-changelog: New file.
51088         * lib/git-merge-changelog.c: New file.
51089
51090 2008-02-10  Jim Meyering  <meyering@redhat.com>
51091
51092         useless-if-before-free: New option: --list (-l).
51093
51094         useless-if-before-free: Don't exit immediately upon open failure.
51095         * build-aux/useless-if-before-free: Exit 2 for errors.
51096         Upon failure to open a file, don't exit immediately.
51097         Rather, just warn and continue with any remaining files.
51098
51099 2008-02-10  Bruno Haible  <bruno@clisp.org>
51100
51101         New abstract list operation 'node_set_value'.
51102         * lib/gl_list.h (gl_list_node_set_value): New function.
51103         (struct gl_list_implementation): New field node_set_value.
51104         * lib/gl_list.c (gl_list_node_set_value): New function.
51105         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51106         (gl_array_list_implementation): Update.
51107         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51108         (gl_carray_list_implementation): Update.
51109         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51110         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51111         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51112         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51113         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51114         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51115         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51116         Update.
51117         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51118         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51119         (gl_sublist_list_implementation): Update.
51120
51121 2008-02-10  Bruno Haible  <bruno@clisp.org>
51122
51123         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51124         Needed when ELEMENT is #defined to 'some_type *'.
51125
51126 2008-02-10  Jim Meyering  <meyering@redhat.com>
51127
51128         New script and module: useless-if-before-free
51129         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51130         * build-aux/useless-if-before-free: New file.
51131         * modules/useless-if-before-free: New file.
51132
51133         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51134
51135         xstrtol_error: Fix typo.
51136         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51137         s/exit_failure/exit_status/.
51138
51139 2008-02-09  Jim Meyering  <meyering@redhat.com>
51140
51141         New script and module: gitlog-to-changelog
51142         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51143         * modules/gitlog-to-changelog: New file.
51144         * build-aux/gitlog-to-changelog: New file.
51145
51146 2008-02-08  Jim Meyering  <meyering@redhat.com>
51147
51148         Avoid two "parameter unused" warnings.
51149         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51150         Mark "st" as used.
51151
51152         Use "git COMMAND", not "git-COMMAND".
51153         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51154         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51155         * build-aux/git-version-gen: Use "git status", not "git-status".
51156
51157 2008-02-07  Bruno Haible  <bruno@clisp.org>
51158
51159         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51160         Avoids a crash on Windows Vista.
51161         Reported by Adam Strzelecki <ono@java.pl> via
51162         Simon Josefsson <simon@josefsson.org>.
51163
51164 2008-02-06  Bruno Haible  <bruno@clisp.org>
51165
51166         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51167         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51168         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51169         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51170         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51171         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51172         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51173         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51174         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51175         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51176         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51177         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51178         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51179         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51180         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51181         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51182         left-adjust flag.
51183         * tests/test-snprintf-posix.h (test_function): Likewise.
51184         * tests/test-sprintf-posix.h (test_function): Likewise.
51185         * tests/test-vasprintf-posix.c (test_function): Likewise.
51186         * doc/posix-functions/fprintf.texi: Update.
51187         * doc/posix-functions/printf.texi: Update.
51188         * doc/posix-functions/snprintf.texi: Update.
51189         * doc/posix-functions/sprintf.texi: Update.
51190         * doc/posix-functions/vfprintf.texi: Update.
51191         * doc/posix-functions/vprintf.texi: Update.
51192         * doc/posix-functions/vsnprintf.texi: Update.
51193         * doc/posix-functions/vsprintf.texi: Update.
51194         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51195
51196 2008-02-06  Bruno Haible  <bruno@clisp.org>
51197
51198         Fix bug introduced on 2008-01-26.
51199         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51200
51201 2008-02-06  Bruno Haible  <bruno@clisp.org>
51202
51203         Fix bug introduced on 2007-06-10.
51204         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51205         !NEED_PRINTF_FLAG_ZERO.
51206
51207 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51208
51209         getloadavg: use libperfstat on AIX5
51210         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51211
51212 2008-02-03  Bruno Haible  <bruno@clisp.org>
51213
51214         * lib/diffseq.h: Add comments about required #includes.
51215         Reported by Michael Biggs <gnulib@doubleplum.net>.
51216
51217 2008-02-01  Bruno Haible  <bruno@clisp.org>
51218
51219         * users.txt: Add gnuit.
51220
51221 2008-01-31  Bruno Haible  <bruno@clisp.org>
51222
51223         * lib/md4.c (set_uint32): Mark as inline.
51224         * lib/md5.c (set_uint32): Likewise.
51225         * lib/sha1.c (set_uint32): Likewise.
51226         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51227         * m4/md5.m4 (gl_MD5): Likewise.
51228         * m4/sha1.m4 (gl_SHA1): Likewise.
51229
51230 2008-01-31  Jim Meyering  <meyering@redhat.com>
51231
51232         Use "sizeof VAR", rather than a literal "4".
51233         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51234         * lib/md4.c (md4_read_ctx): Likewise.
51235         * lib/sha1.c (sha1_read_ctx): Likewise.
51236
51237 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51238
51239         * tests/test-sha1.c: New file, based on test-md5.c.
51240
51241         * modules/crypto/sha1-tests: New file.
51242
51243 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51244
51245         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51246
51247 2008-01-31  Jim Meyering  <meyering@redhat.com>
51248
51249         Prefer "sizeof v" over the equivalent "4".
51250         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51251         * lib/md5.c (set_uint32): Likewise.
51252         * lib/sha1.c (set_uint32): Likewise.
51253
51254 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51255
51256         * lib/sha1.c (set_uint32): Mark function as static.
51257
51258 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51259
51260         md2: clarify comments to say that alignment is not required.
51261         * lib/md2.h: Remove warning about alignment in comment.
51262         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51263         never been required.
51264
51265 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51266
51267         md4: adapt alignment constraint fix from sha1.
51268         * lib/md4.c (set_uint32): New function, from sha1.c
51269         (md4_read_ctx): Use it.
51270         (md4_finish_ctx): Doc fix.
51271         * lib/md4.h: Doc fix.
51272
51273 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51274
51275         md5: adapt alignment constraint fix from sha1.
51276         * lib/md5.c (set_uint32): New function, from sha1.c
51277         (md5_read_ctx): Use it.
51278         (md5_finish_ctx): Doc fix.
51279         * lib/md5.h: Doc fix.
51280
51281 2008-01-30  Peter Palfrader  <weasel@debian.org>
51282
51283         sha1: remove the result buffer alignment constraint
51284         * lib/sha1.c (set_uint32): New function.
51285         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51286         constraint.
51287         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51288         * lib/sha1.h: Likewise.
51289
51290 2008-01-30  Andreas Schwab  <schwab@suse.de>
51291             Bruno Haible  <bruno@clisp.org>
51292
51293         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51294         correct definition of LDBL_MIN_EXP.
51295
51296 2008-01-30  Karl Berry  <karl@gnu.org>
51297
51298         * config/srclist-update: try to preserve x bit on updates.
51299         * config/srclistvars.sh: update for karl.
51300
51301 2008-01-29  Jim Meyering  <meyering@redhat.com>
51302
51303         vasnprintf.c: Avoid warning about unused label
51304         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51305         "overflow" label definition and associated code with the
51306         same cpp condition that guards the sole use of that label.
51307
51308 2008-01-26  Bruno Haible  <bruno@clisp.org>
51309
51310         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51311         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51312         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51313         * lib/isnanl-nolibm.h (isnanl): Likewise.
51314         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51315
51316 2008-01-26  Bruno Haible  <bruno@clisp.org>
51317
51318         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51319         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51320
51321 2008-01-26  Bruno Haible  <bruno@clisp.org>
51322
51323         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51324         GCC >= 4.0 built-in.
51325         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51326
51327 2008-01-26  Bruno Haible  <bruno@clisp.org>
51328
51329         Rename isnan, applicable to 'double' only, to isnand.
51330         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51331         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51332         (configure.ac): Update.
51333         (Include): Replace "isnan.h" with "isnand.h".
51334         * m4/isnand.m4: Renamed from m4/isnan.m4.
51335         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51336         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51337         instead of isnan.c.
51338         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51339         instead of HAVE_ISNAN_IN_LIBC.
51340         (isnand): Renamed from isnan.
51341         * lib/isnand.c: New file.
51342         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51343         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51344         (Makefile.am): Update.
51345         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51346         Include isnand.h instead of isnan.h.
51347         (main): Test isnand instead of isnan.
51348         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51349         isnan-nolibm.
51350         * modules/frexp (Depends-on): Likewise.
51351         * modules/frexp-tests (Depends-on): Likewise.
51352         * modules/frexp-nolibm (Depends-on): Likewise.
51353         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51354         * modules/isfinite (Depends-on): Likewise.
51355         * modules/round-tests (Depends-on): Likewise.
51356         * modules/signbit (Depends-on): Likewise.
51357         * modules/signbit-tests (Depends-on): Likewise.
51358         * modules/snprintf-posix (Depends-on): Likewise.
51359         * modules/sprintf-posix (Depends-on): Likewise.
51360         * modules/trunc-tests (Depends-on): Likewise.
51361         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51362         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51363         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51364         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51365         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51366         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51367         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51368         * modules/vasnprintf-posix (Depends-on): Likewise.
51369         * modules/vasprintf-posix (Depends-on): Likewise.
51370         * modules/vfprintf-posix (Depends-on): Likewise.
51371         * modules/vsnprintf-posix (Depends-on): Likewise.
51372         * modules/vsprintf-posix (Depends-on): Likewise.
51373         * lib/frexp.c: Include isnand.h instead of isnan.h.
51374         (ISNAN): Set to isnand instead of isnan.
51375         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51376         (gl_isfinited): Use isnand instead of isnan.
51377         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51378         (gl_signbitd): Use isnand instead of isnan.
51379         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51380         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51381         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51382         (main): Use isnand instead of isnan.
51383         * tests/test-round1.c: Include isnand.h.
51384         (main): Use isnand instead of isnan.
51385         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51386         (ISNAN): Set to isnand instead of isnan.
51387         * tests/test-trunc1.c: Include isnand.h.
51388         (main): Use isnand instead of isnan.
51389         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51390         (equal): Use isnand instead of isnan.
51391         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51392         isnand-nolibm.
51393         * NEWS: Mention the change.
51394
51395 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51396             Bruno Haible  <bruno@clisp.org>
51397
51398         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51399         the GCC builtins for signbits are present and set
51400         REPLACE_SIGNBIT_USING_GCC if so.
51401         * lib/math.in.h (signbit): Define using GCC builtins if
51402         REPLACE_SIGNBIT_USING_GCC is set.
51403         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51404         REPLACE_SIGNBIT_USING_GCC.
51405         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51406
51407 2008-01-25  Jim Meyering  <meyering@redhat.com>
51408
51409         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51410         * lib/poll.c: Include <config.h>, not "config.h".
51411         * tests/test-getaddrinfo.c: Likewise.
51412
51413 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51414
51415         * modules/sockets-tests: New file.
51416
51417 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51418
51419         * modules/sockets: New module, can be used to call WSA_Startup and
51420         WSA_Cleanup when needed.
51421
51422         * lib/sockets.h, lib/sockets.c: New files.
51423
51424         * m4/sockets.m4: New file.
51425
51426         * tests/test-sockets.c: New file.
51427
51428 2008-01-19  Bruno Haible  <bruno@clisp.org>
51429
51430         * doc/posix-headers: Renamed from doc/headers.
51431         * doc/posix-functions: Renamed from doc/functions.
51432         * doc/gnulib.texi: Update.
51433
51434 2008-01-19  Bruno Haible  <bruno@clisp.org>
51435
51436         * doc/glibc-functions/strcasestr.texi: Include contents of
51437         doc/functions/strcasestr.texi, fixing the list of platforms.
51438         * doc/functions/strcasestr.texi: Remove file.
51439
51440 2008-01-19  Bruno Haible  <bruno@clisp.org>
51441
51442         * doc/glibc-functions/memmem.texi: Include contents of
51443         doc/functions/memmem.texi.
51444         * doc/functions/memmem.texi: Remove file.
51445
51446 2008-01-18  Bruno Haible  <bruno@clisp.org>
51447
51448         * doc/glibc-functions/*.texi: New files.
51449         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51450         to use the new files.
51451
51452 2008-01-17  Bruno Haible  <bruno@clisp.org>
51453
51454         * tests/test-gethostname.c (main): Fix printf statement.
51455
51456 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51457
51458         * modules/gethostname-tests: New file.
51459
51460         * tests/test-gethostname.c: New file.
51461
51462 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51463
51464         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51465         used by the UNAME case.  Reported by Bruno Haible
51466         <bruno@clisp.org>.
51467
51468 2008-01-17  Eric Blake  <ebb9@byu.net>
51469
51470         Convert c-strcasestr to be more efficient.
51471         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
51472         (Depends-on): Add c-strcase, remove malloca, strnlen.
51473         * tests/test-c-strcasestr.c (main): Enhance test.
51474         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
51475
51476 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51477
51478         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
51479         Use it in creating po/Makevars.
51480
51481 2008-01-15  Simon Josefsson  <simon@josefsson.org>
51482
51483         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
51484         Applications that requires it should initialize libgcrypt
51485         manually.
51486
51487 2008-01-16  Simon Josefsson  <simon@josefsson.org>
51488
51489         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
51490
51491 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
51492
51493         Fix problem with getdate on mingw32 reported by Simon Josefsson
51494         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
51495         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
51496         tzname", when deciding whether to declare tzname.
51497         * lib/strftime.c (tzname): Likewise.
51498
51499 2008-01-15  Bruno Haible  <bruno@clisp.org>
51500
51501         Work around a MacOS X 10.5 bug in frexpl().
51502         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
51503         * doc/functions/frexpl.texi: Document the bug.
51504         Reported by Elias Pipping <pipping@gentoo.org>.
51505
51506 2008-01-14  Eric Blake  <ebb9@byu.net>
51507
51508         Touch up previous patch.
51509         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
51510         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
51511
51512         Convert strcasestr module to use Two-Way algorithm.
51513         * modules/strcasestr-simple: New module, based on the old
51514         strcasestr, but with Two-Way rather than KMP.
51515         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
51516         * lib/string.in.h (rpl_strcasestr): Declare.
51517         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
51518         performance.
51519         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
51520         * modules/string (Makefile.am): Support strcasestr.
51521         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
51522         * modules/strcasestr-tests (Depends-on): Check for alarm.
51523         * tests/test-strcasestr.c: Augment test.
51524         * lib/str-two-way.h: Clean up stray macro.
51525         * NEWS: Document new module.
51526         * MODULES.html.sh (string handling): Likewise.
51527         * doc/functions/strcasestr.texi: New file.
51528         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
51529         here, since it is not a POSIX function.
51530
51531 2008-01-14  Colin Watson  <cjwatson@debian.org>
51532             Bruno Haible  <bruno@clisp.org>
51533
51534         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
51535         works fine; if not, set REPLACE_STRSIGNAL.
51536         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
51537         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51538         REPLACE_STRSIGNAL.
51539         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
51540         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
51541         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
51542
51543 2008-01-14  Bruno Haible  <bruno@clisp.org>
51544
51545         * modules/strsignal (Include): Change to <string.h>.
51546
51547 2008-01-14  Colin Watson  <cjwatson@debian.org>
51548
51549         * modules/argp (Notice): Add a notice recommending to change
51550         XGETTEXT_OPTIONS.
51551         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
51552
51553 2008-01-13  Colin Watson  <cjwatson@debian.org>
51554
51555         * modules/strsignal-tests: New file.
51556         * tests/test-strsignal.c: New file.
51557
51558         * lib/strsignal.c: New file, from glibc with modifications.
51559         * lib/siglist.h: New file, from glibc with modifications.
51560         * lib/string.in.h (strsignal): New declaration.
51561         * m4/strsignal.m4: New file.
51562         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51563         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
51564         * modules/strsignal: New file.
51565         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
51566         HAVE_DECL_STRSIGNAL.
51567
51568 2008-01-13  Bruno Haible  <bruno@clisp.org>
51569
51570         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
51571         locale encoding is not ASCII. Needed for OpenBSD 4.0.
51572         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51573         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51574
51575 2008-01-13  Bruno Haible  <bruno@clisp.org>
51576
51577         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
51578         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
51579         * lib/argp.h (__attribute__): Likewise.
51580         * lib/c-stack.c (__attribute__): Likewise.
51581         * lib/error.h (__attribute__): Likewise.
51582         * lib/fts.c (__attribute__): Likewise.
51583         * lib/openat.h (__attribute__): Likewise.
51584         * lib/stdio.in.h (__attribute__): Likewise.
51585         * lib/string.in.h (__attribute__): Likewise.
51586         * lib/utimens.c (__attribute__): Likewise.
51587         * lib/vasnprintf.h (__attribute__): Likewise.
51588         * lib/xalloc.h (__attribute__): Likewise.
51589         * lib/xprintf.h (__attribute__): Likewise.
51590         * lib/xstrtol.h (__attribute__): Likewise.
51591         * lib/xvasprintf.h (__attribute__): Likewise.
51592
51593 2008-01-12  Bruno Haible  <bruno@clisp.org>
51594
51595         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
51596         * doc/glibc-headers/a.out.texi: New file.
51597         * doc/glibc-headers/aliases.texi: New file.
51598         * doc/glibc-headers/alloca.texi: New file.
51599         * doc/glibc-headers/ar.texi: New file.
51600         * doc/glibc-headers/argp.texi: New file.
51601         * doc/glibc-headers/argz.texi: New file.
51602         * doc/glibc-headers/byteswap.texi: New file.
51603         * doc/glibc-headers/crypt.texi: New file.
51604         * doc/glibc-headers/endian.texi: New file.
51605         * doc/glibc-headers/envz.texi: New file.
51606         * doc/glibc-headers/err.texi: New file.
51607         * doc/glibc-headers/error.texi: New file.
51608         * doc/glibc-headers/execinfo.texi: New file.
51609         * doc/glibc-headers/fpu_control.texi: New file.
51610         * doc/glibc-headers/fstab.texi: New file.
51611         * doc/glibc-headers/fts.texi: New file.
51612         * doc/glibc-headers/getopt.texi: New file.
51613         * doc/glibc-headers/ieee754.texi: New file.
51614         * doc/glibc-headers/ifaddrs.texi: New file.
51615         * doc/glibc-headers/libintl.texi: New file.
51616         * doc/glibc-headers/mcheck.texi: New file.
51617         * doc/glibc-headers/mntent.texi: New file.
51618         * doc/glibc-headers/obstack.texi: New file.
51619         * doc/glibc-headers/paths.texi: New file.
51620         * doc/glibc-headers/printf.texi: New file.
51621         * doc/glibc-headers/pty.texi: New file.
51622         * doc/glibc-headers/resolv.texi: New file.
51623         * doc/glibc-headers/shadow.texi: New file.
51624         * doc/glibc-headers/sysexits.texi: New file.
51625         * doc/glibc-headers/ttyent.texi: New file.
51626
51627 2008-01-12  Jim Meyering  <meyering@redhat.com>
51628
51629         announce-gen: emit Gnulib's git-based version string.
51630         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
51631         New option --gnulib-version=V, where V is expected to be
51632         the output of running git describe in the gnulib directory.
51633         (get_tool_versions): Request feedback on xdelta.  I suspect it's
51634         not useful, and plan to stop publishing an xdelta file with each
51635         coreutils release.
51636
51637         * build-aux/announce-gen: Also check for lzma-compressed files.
51638
51639 2008-01-11  Bruno Haible  <bruno@clisp.org>
51640
51641         * tests/test-memmem.c (main): Increase maximum allowed time.
51642         * tests/test-strstr.c (main): Likewise.
51643
51644 2008-01-11  Bruno Haible  <bruno@clisp.org>
51645
51646         * doc/functions/memmem.texi: Add more precisions about platforms.
51647         * doc/functions/strstr.texi: Likewise.
51648
51649 2008-01-10  Eric Blake  <ebb9@byu.net>
51650
51651         * m4/strstr.m4: Delete cruft from copy-n-paste.
51652         Reported by Bruno Haible.
51653
51654 2008-01-10  Bruno Haible  <bruno@clisp.org>
51655
51656         Make c-strstr rely on strstr.
51657         * lib/c-strstr.c: Don't include str-kmp.h.
51658         (c_strstr): Define in terms of strstr.
51659         * modules/c-strstr (Files): Remove lib/str-kmp.h.
51660         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
51661
51662 2008-01-10  Bruno Haible  <bruno@clisp.org>
51663
51664         * doc/gnulib.texi (String Functions in C Locale): New section.
51665         * doc/c-ctype.texi: New file.
51666         * doc/c-strcase.texi: New file.
51667         * doc/c-strcaseeq.texi: New file.
51668         * doc/c-strcasestr.texi: New file.
51669         * doc/c-strstr.texi: New file.
51670         * doc/c-strtod.texi: New file.
51671         * doc/c-strtold.texi: New file.
51672
51673 2008-01-10  Eric Blake  <ebb9@byu.net>
51674
51675         * lib/relocatable.h: Fix a comment.
51676
51677 2008-01-10  Eric Blake  <ebb9@byu.net>
51678
51679         Share two-way algorithm.
51680         * lib/str-two-way.h: New file, merged from...
51681         * lib/memmem.c: ...here...
51682         * lib/strstr.c: ...and here.
51683         * modules/memmem (Files): Use it.
51684         * modules/strstr (Files): Likewise.
51685
51686         Avoid quadratic strstr implementations.
51687         * lib/strstr.c: New file.
51688         * m4/strstr.m4: Likewise.
51689         * modules/strstr: Likewise.
51690         * modules/strstr-tests: Likewise.
51691         * tests/test-strstr.c: Likewise.
51692         * lib/string.in.h (rpl_strstr): Declare.
51693         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
51694         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
51695         * modules/string (Makefile.am): Likewise.
51696         * MODULES.html.sh (string handling): Mention new module.
51697         * doc/functions/strstr.texi (strstr): Document the bug.
51698
51699 2008-01-10  Bruno Haible  <bruno@clisp.org>
51700
51701         * lib/relocatable.h (relocate): State whether result is freshly
51702         allocated or not.
51703         * lib/relocatable.c (relocate): Return a freshly allocated string
51704         instead of a pointer to a privately held string.
51705         Reported by Sylvain Beucler <beuc@gnu.org>.
51706
51707 2008-01-10  Colin Watson  <cjwatson@debian.org>
51708
51709         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
51710         s/S_ISNLK/S_ISLNK/.
51711
51712 2008-01-09  Bruno Haible  <bruno@clisp.org>
51713
51714         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
51715         and other files.
51716         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
51717         if it's only a guess.
51718         * modules/memmem: Simplify by depending on memmem-simple.
51719
51720 2008-01-09  Bruno Haible  <bruno@clisp.org>
51721
51722         Work around OpenBSD 4.0 tdelete() bug.
51723         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
51724         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
51725         macros and don't redefine the enum values.
51726         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
51727         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
51728         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
51729
51730 2008-01-09  Bruno Haible  <bruno@clisp.org>
51731
51732         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
51733         (main): Don't perform the tests if setlocale did not install a UTF-8
51734         locale. Needed on OpenBSD 4.0.
51735         * modules/wcwidth-tests (Depends-on): Add localcharset.
51736
51737 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51738
51739         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
51740         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
51741         * NEWS: announce this.
51742         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
51743
51744 2008-01-09  Simon Josefsson  <simon@josefsson.org>
51745         and Eric Blake  <ebb9@byu.net>
51746
51747         Add memmem-simple module.
51748         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
51749         (gl_FUNC_MEMMEM): Separate performance from presence checks.
51750         * modules/memmem-simple: New file.
51751         * modules/memmem (Description): Tweak.
51752         * MODULES.html.sh (string handling): Mention new module.
51753         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
51754         addressed by memmem-simple.
51755         * NEWS: Document the difference.
51756
51757 2008-01-09  Eric Blake  <ebb9@byu.net>
51758
51759         Give gcc some memmem optimization hints.
51760         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
51761         (strcasestr): Declare as pure.
51762         * modules/memmem (Maintainer): Claim my implementation.
51763
51764 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51765
51766         Support AIX 6.1 and higher.
51767         * build-aux/config.libpath: Likewise.
51768         * build-aux/config.rpath: Likewise.
51769
51770 2008-01-08  Jim Meyering  <meyering@redhat.com>
51771             Bruno Haible  <bruno@clisp.org>
51772
51773         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
51774         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
51775         Reported by Peter Fales in
51776         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
51777
51778 2008-01-08  Bruno Haible  <bruno@clisp.org>
51779
51780         * modules/unictype/category-of (Depends-on): Add
51781         unictype/category-none.
51782         * modules/unictype/category-and-tests (Depends-on): Add
51783         unictype/category-{L,N,Lu,Nd}.
51784         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
51785         * modules/unictype/category-or-tests (Depends-on): Add
51786         unictype/category-{L,N}.
51787         * modules/unictype/category-name-tests (Depends-on): Add
51788         unictype/category-{Z,Nl}.
51789         Reported by Simon Josefsson.
51790
51791 2008-01-08  Bruno Haible  <bruno@clisp.org>
51792
51793         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
51794         convention better.
51795         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
51796         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
51797         Reported by Peter Miller <millerp@canb.auug.org.au>.
51798
51799 2008-01-08  Eric Blake  <ebb9@byu.net>
51800
51801         Rewrite memmem to guarantee linear complexity without malloc.
51802         * lib/memmem.c (memmem): Use Two-Way rather than
51803         Knuth-Morris-Pratt, to allow O(1) space usage.
51804         (critical_factorization, two_way_short_needle)
51805         (two_way_long_needle): New functions.
51806         (knuth_morris_pratt): Delete.
51807         * modules/memmem (Depends-on): No longer need malloca or stdbool.
51808         Add stdint.
51809         * tests/test-memmem.c (main): Add tests for periodic needle and
51810         sublinear performance.
51811         * doc/functions/memmem.texi (memmem): Document other deficiencies
51812         in cygwin and older glibc.
51813
51814 2008-01-08  Bruno Haible  <bruno@clisp.org>
51815
51816         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
51817         augmentation.
51818
51819 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
51820
51821         Add a configure time option: --disable-acl.
51822         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
51823         AC_ARG_ENABLE(acl).
51824
51825 2008-01-06  Simon Josefsson  <simon@josefsson.org>
51826
51827         * tests/test-localename.c: Don't include obsolete "setenv.h".
51828
51829         * modules/localename-tests (Depends-on): Need unsetenv.
51830
51831 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51832
51833         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
51834
51835 2008-01-06  Colin Watson  <cjwatson@debian.org>
51836
51837         * users.txt: Add man-db.
51838
51839 2008-01-07  Bruno Haible  <bruno@clisp.org>
51840
51841         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
51842         previous section name.
51843
51844 2008-01-07  Bruno Haible  <bruno@clisp.org>
51845
51846         * lib/progname.c (set_program_name): Don't strip off a leading
51847         "lt-" prefix outside a .libs directory.
51848         Suggested by Paul Eggert.
51849
51850 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
51851             Bruno Haible  <bruno@clisp.org>
51852
51853         Improve memory cleanup in 'relocatable' module.
51854         * lib/relocatable.h (compute_curr_prefix): Change return type to
51855         'char *'.
51856         * lib/relocatable.c (compute_curr_prefix): Change return type to
51857         'char *'. Free curr_installdir after use.
51858         (relocate): Free curr_prefix_better after use.
51859         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
51860
51861 2008-01-01  Bruno Haible  <bruno@clisp.org>
51862
51863         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
51864         failure on older glibc systems.
51865         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51866
51867 2008-01-05  Eric Blake  <ebb9@byu.net>
51868
51869         Avoid quadratic system memmem.
51870         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
51871         Reported by Ralf Wildenhues.
51872
51873         Fix memmem test for mingw.
51874         * modules/memmem-tests (configure.ac): Check for alarm.
51875         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
51876         it.
51877         * doc/functions/memmem.texi: New file.
51878         * doc/gnulib.texi (Function Substitutes): Add memmem.
51879         Reported by Bruno Haible.
51880
51881 2008-01-04  Bruno Haible  <bruno@clisp.org>
51882
51883         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
51884         Require gl_HEADER_STRINGS_H_DEFAULTS, not
51885         gl_HEADER_STRING_H_DEFAULTS.
51886
51887 2008-01-04  Eric Blake  <ebb9@byu.net>
51888
51889         Shorten duration of memmem test.
51890         * tests/test-memmem.c (main): Use alarm to declare failure if test
51891         is taking too long.
51892         Reported by Ralf Wildenhues.
51893
51894 2007-12-21  Simon Josefsson  <simon@josefsson.org>
51895
51896         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
51897         string, needed by strerror.
51898
51899 2008-01-03  Colin Watson  <cjwatson@debian.org>
51900             Bruno Haible  <bruno@clisp.org>
51901
51902         * doc/gnulib-tool.texi (Localization): New section.
51903
51904 2008-01-02  Bruno Haible  <bruno@clisp.org>
51905
51906         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
51907         variables to 'unsigned char *' type.
51908         Reported by Paul Eggert.
51909
51910 2008-01-02  Jim Meyering  <jim@meyering.net>
51911
51912         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
51913
51914 2007-12-31  Jim Meyering  <jim@meyering.net>
51915
51916         Avoid use of private FTS type name.
51917         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
51918
51919 2007-12-30  Karl Berry  <karl@gnu.org>
51920
51921         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
51922         work around defect in Texinfo and/or the standalone Info browser.
51923
51924 2007-12-30  Bruno Haible  <bruno@clisp.org>
51925
51926         Unify 5 copies of the KMP code.
51927         * lib/str-kmp.h: New file.
51928         * lib/c-strcasestr.c: Include str-kmp.h.
51929         (knuth_morris_pratt): Remove function.
51930         (c_strcasestr): Update.
51931         * lib/c-strstr.c: Include str-kmp.h.
51932         (knuth_morris_pratt): Remove function.
51933         (c_strcasestr): Update.
51934         * lib/mbscasestr.c: Include str-kmp.h.
51935         (knuth_morris_pratt_unibyte): Remove function.
51936         * lib/mbsstr.c: Include str-kmp.h.
51937         (knuth_morris_pratt_unibyte): Remove function.
51938         * lib/strcasestr.c: Include str-kmp.h.
51939         (knuth_morris_pratt): Remove function.
51940         (strcasestr): Update.
51941         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
51942         * modules/c-strstr (Files): Likewise.
51943         * modules/mbscasestr (Files): Likewise.
51944         * modules/mbsstr (Files): Likewise.
51945         * modules/strcasestr (Files): Likewise.
51946         Suggested by Paul Eggert.
51947
51948 2007-12-30  Bruno Haible  <bruno@clisp.org>
51949
51950         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
51951         defined.
51952
51953 2007-12-30  Bruno Haible  <bruno@clisp.org>
51954
51955         * lib/xmalloca.h: Include xalloc.h.
51956         (xnmalloca): New macro.
51957
51958 2007-12-30  Bruno Haible  <bruno@clisp.org>
51959
51960         * lib/malloca.h (nmalloca): New macro.
51961         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
51962         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
51963         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
51964         knuth_morris_pratt_multibyte): Likewise.
51965         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
51966         knuth_morris_pratt_multibyte): Likewise.
51967         * lib/memmem.c (knuth_morris_pratt): Likewise.
51968         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
51969
51970 2007-12-25  Bruno Haible  <bruno@clisp.org>
51971
51972         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
51973         * lib/glob.c: Don't include openat.h.
51974         (link_exists2_p): Add back the code that deals with the
51975         !GLOB_ALTDIRFUNC case.
51976         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
51977         let it do the filename concatenation.
51978         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
51979         * modules/glob (Depends-on): Remove openat.
51980
51981 2007-12-31  Bruno Haible  <bruno@clisp.org>
51982
51983         * modules/dirfd (License): Change to LGPLv2+.
51984         Approved by Jim Meyering.
51985
51986 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
51987
51988         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
51989         when multiplying M by sizeof (size_t).
51990
51991 2007-12-10  Martin Lambers  <marlam@marlam.de>
51992
51993         Override getpagesize on mingw.
51994         * lib/getpagesize.c: New file.
51995         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
51996         * modules/getpagesize (Files): Add lib/getpagesize.c.
51997         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
51998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51999         REPLACE_GETPAGESIZE.
52000         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52001
52002 2007-12-25  Bruno Haible  <bruno@clisp.org>
52003
52004         * modules/localcharset (Notice): New field.
52005         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52006         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52007
52008 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52009             Bruno Haible  <bruno@clisp.org>
52010
52011         Avoid using the syntax symbol() in formatted documentation.
52012         * MODULES.html.sh (func_module): When replacing symbol() with a
52013         hyperlink, remove the parentheses. Show an error if some remain.
52014         Recognize and render the '...' syntax.
52015         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52016         Rework. Add paragraph about GCC's inlining.
52017         * doc/alloca.texi: Likewise.
52018         * doc/error.texi: Remove parentheses from symbol reference.
52019         * doc/gnulib-intro.texi: Likewise.
52020         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52021         * modules/fnmatch (Description): Reword to say "the ... function".
52022         * modules/full-read (Description): Likewise.
52023         * modules/full-write (Description): Likewise.
52024         * modules/safe-read (Description): Likewise.
52025         * modules/safe-write (Description): Likewise.
52026         * modules/strchrnul (Description): Likewise.
52027         * modules/trim (Description): Likewise.
52028         * modules/error (Description): Remove parentheses from symbol
52029         references.
52030         * modules/verror (Description): Likewise.
52031         Reported by Karl Berry.
52032
52033 2007-12-25  Bruno Haible  <bruno@clisp.org>
52034
52035         Fixup after 2007-10-16 commit.
52036         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52037
52038 2007-12-24  Bruno Haible  <bruno@clisp.org>
52039
52040         Make --enable-relocatable work with DESTDIR.
52041         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52042         to compute installdir from destprog.
52043         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52044         also set the RELOC_DESTDIR variable.
52045         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52046
52047 2007-12-24  Bruno Haible  <bruno@clisp.org>
52048
52049         Fix link error due to xalloc_die().
52050         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52051         of xreadlink.
52052         * lib/relocwrapper.c: Update comments.
52053         * build-aux/install-reloc: Remove xreadlink.c from file list.
52054         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52055         xreadlink.c.
52056         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52057
52058 2007-12-24  Bruno Haible  <bruno@clisp.org>
52059
52060         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52061         * lib/setenv.h: Remove file.
52062         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52063         lib/setenv.h.
52064         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52065         (Depends-on): Add stdlib.
52066         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52067         gl_FUNC_UNSETENV.
52068         (Include): Replace setenv.h with <stdlib.h>.
52069         * modules/unsetenv: New file.
52070         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52071         * lib/unsetenv.c: Include <stdlib.h> first.
52072         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52073         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52074         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52075         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52076         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52077         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52079         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52080         * doc/functions/unsetenv.texi: Update.
52081         * modules/xsetenv (Depends-on): Add unsetenv.
52082         * modules/getdate (Depends-on): Likewise.
52083         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52084         * lib/xsetenv.c: Don't include setenv.h.
52085         * lib/getdate.y: Likewise.
52086         * lib/relocwrapper.c: Likewise.
52087         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52088         (Depends-on): Add stdlib.
52089         * NEWS: Mention the changes.
52090         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52091
52092 2007-12-23  Bruno Haible  <bruno@clisp.org>
52093
52094         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52095         indentation.
52096
52097 2007-12-23  Bruno Haible  <bruno@clisp.org>
52098
52099         * lib/c-strcasestr.c: Add more comments.
52100         * lib/c-strstr.c: Likewise.
52101         * lib/mbscasestr.c: Likewise.
52102         * lib/mbsstr.c: Likewise.
52103         * lib/strcasestr.c: Likewise.
52104         * lib/memmem.c: Likewise.
52105
52106 2007-12-23  Bruno Haible  <bruno@clisp.org>
52107
52108         * tests/test-memmem.c: Include <string.h> first.
52109
52110 2007-12-22  Bruno Haible  <bruno@clisp.org>
52111
52112         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52113         the contents of $testsbase.
52114         Reported by Ralf Wildenhues.
52115
52116 2007-12-22  Bruno Haible  <bruno@clisp.org>
52117
52118         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52119         two variables local_ldadd_before, local_ldadd_last.
52120
52121 2007-12-20  Eric Blake  <ebb9@byu.net>
52122
52123         Work around circular library issue when cross-compiling.
52124         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52125         that progname.o does not need to pull in rpl_memcmp.
52126
52127 2007-12-19  Eric Blake  <ebb9@byu.net>
52128
52129         Fix memmem to avoid O(n^2) worst-case complexity.
52130         * lib/memmem.c (knuth_morris_pratt): New function.
52131         (memmem): Use it if first few naive iterations fail.
52132         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52133         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52134         * modules/memchr (License): Likewise.
52135         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52136         malloca.
52137         * tests/test-memmem.c: Rewrite, borrowing ideas from
52138         test-mbsstr1.c; the old version wouldn't even compile!
52139         * modules/memmem-tests: New file.
52140         * lib/string.in.h (rpl_memmem): Add declaration.
52141         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52142         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52143         REPLACE_MEMMEM.
52144
52145 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52146
52147         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52148         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52149         before any system include files, and undef after them all.  This
52150         should fix a problem on VMS reported by John E. Malmberg in
52151         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52152
52153 2007-12-17  Eric Blake  <ebb9@byu.net>
52154
52155         Revert addition of verify, for BSD/OS.
52156         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52157         can't handle large files, for the sake of obsolete platforms.
52158         * modules/fseeko (Depends-on): Remove verify.
52159         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52160         * doc/functions/ftello.texi (ftello): Likewise.
52161         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52162         Reported by Larry Jones.
52163
52164 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52165
52166         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52167         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52168
52169 2007-12-17  Jim Meyering  <meyering@redhat.com>
52170
52171         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52172         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52173         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52174         * modules/getcwd (Depends-on): Add openat.
52175         Reported by Petr Salinger.
52176
52177 2007-12-17  Bruno Haible  <bruno@clisp.org>
52178
52179         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52180         avoid a segmentation fault of the configure test on x86_64 systems.
52181
52182 2007-12-15  Jim Meyering  <meyering@redhat.com>
52183
52184         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52185
52186 2007-12-13  Eric Blake  <ebb9@byu.net>
52187
52188         Another fseek test.
52189         * tests/test-fseek.c (main): Also test ungetc handling.
52190         * tests/test-fseeko.c (main): Likewise.
52191         * modules/fseeko (Depends-on): Add verify.
52192         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52193         large.
52194         Reported by Larry Jones.
52195
52196         Fix fseeko on mingw.
52197         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52198         seek.
52199
52200         Beef up fseek tests.
52201         * tests/test-fseek.c (main): Also test eof handling.
52202         * tests/test-fseeko.c (main): Likewise.
52203         Reported by Larry Jones.
52204
52205 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52206
52207         Fix fseeko on BSD-based platforms.
52208         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52209         successful seek.
52210
52211 2007-12-12  Eric Blake  <ebb9@byu.net>
52212
52213         Allow circular dependency of separate libtests.a
52214         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52215         when use_libtests.
52216
52217 2007-12-11  Eric Blake  <ebb9@byu.net>
52218
52219         Fix bug with -0.0L in previous patch.
52220         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52221         * tests/test-isnan.c (main): Also test on zeroes.
52222         * tests/test-isnanf.c (main): Likewise.
52223         * tests/test-isnanl.h (main): Likewise.
52224
52225         Detect pseudo-denormals on x86 even when cross-compiling.
52226         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52227         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52228         invalid bit patterns that happen to satisfy ==.
52229
52230         Avoid link failures with separate libtests.a.
52231         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52232         last, to satisfy circular dependencies.
52233
52234 2007-12-11  Eric Blake  <ebb9@byu.net>
52235         and Bruno Haible  <bruno@clisp.org>
52236
52237         Fix OpenBSD 4.0 <float.h> handling of long double.
52238         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52239         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52240         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52241
52242 2007-12-11  Jim Meyering  <meyering@redhat.com>
52243
52244         * users.txt: Add libvirt.
52245
52246         Support versions of autoconf prior to 2.59c.
52247         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52248         if it is not already defined.
52249
52250 2007-12-09  Bruno Haible  <bruno@clisp.org>
52251
52252         Let 'gnulib-tool --import' collect sources needed for the tests in
52253         tests/ rather than in lib/.
52254         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52255         argument. If true, add rules to generate libtests.a, and put libtests.a
52256         into $(LDADD). Consider source files in subdirectories and set
52257         uses_subdirs.
52258         (func_emit_initmacro_start, func_emit_initmacro_end,
52259         func_emit_initmacro_done): Pass all arguments explicitly.
52260         (func_import): Determine two module lists main_modules,
52261         testsrelated_modules. Determine use_libtests. Determine two variables
52262         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52263         instead of just sed_transform_lib_file. Determine two variables
52264         main_files and testsrelated_files. Compute 'files' as the union of
52265         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52266         func_add_or_update. In the generated gnulib-comp.m4, collect the
52267         object files for tests/ in different variables than those for lib/.
52268         Substitute LIBTESTS_LIBDEPS.
52269         (func_create_testdir): Combine the uses_subdirs results from
52270         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52271
52272 2007-12-09  Bruno Haible  <bruno@clisp.org>
52273
52274         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52275         the build-aux directory.
52276
52277 2007-12-09  Bruno Haible  <bruno@clisp.org>
52278
52279         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52280         introduced on 2006-09-09.
52281
52282 2007-12-07  Jim Meyering  <meyering@redhat.com>
52283
52284         Let these macros work also with autoconf-2.59.
52285         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52286         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52287         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52288
52289 2007-12-06  Jim Meyering  <meyering@redhat.com>
52290
52291         Avoid a configure-time syntax error in gl_FUNC_ACL.
52292         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52293         function in each branch, before testing the cache variable.
52294
52295 2007-12-04  Eric Blake  <ebb9@byu.net>
52296
52297         Make scripts executable.
52298         * build-aux/config.guess: Add execute permissions.
52299         * build-aux/config.sub: Likewise.
52300         * build-aux/gendocs.sh: Likewise.
52301
52302         Fix frexp on mingw.
52303         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52304         cross-compiling.
52305         * doc/functions/frexp.texi (frexp): Document the bug.
52306
52307         Make cygwin fseeko check more reliable.
52308         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52309         version numbers, rather than unrelated feature check.
52310         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52311         * doc/functions/ftello.texi (ftello): Likewise.
52312         Reported by Bruno Haible.
52313
52314         * m4/strerror.m4: Bump version number.
52315
52316 2007-12-03  Bruno Haible  <bruno@clisp.org>
52317
52318         * doc/functions/mprotect.texi: Mention the mingw problem.
52319
52320 2007-12-03  Eric Blake  <ebb9@byu.net>
52321
52322         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52323         REPLACE_STRERROR is initialized before this macro.
52324
52325 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52326
52327         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52328         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52329         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52330         put -lsec in even for programs other than 'ls'.  This fixes a problem
52331         for gettext reported by Bruno Haible in
52332         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52333         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52334         Add support for Solaris 10.  This isn't efficient, but should get the
52335         job done for now.
52336
52337 2007-12-03  James Youngman  <jay@gnu.org>
52338
52339         * doc/regexprops-generic.texi: change "an close-group" to "a
52340         close-group" and "illegal" to "not allowed".
52341
52342 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52343
52344         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52345         pr_byname.h. Needed for the rare case when the maintainer has done
52346         "make maintainer-clean" in the source directory and then attempts a
52347         build outside the source directory.
52348         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52349         scripts_byname.h.
52350
52351 2007-12-02  Martin Lambers <marlam@marlam.de>
52352             Bruno Haible  <bruno@clisp.org>
52353
52354         * lib/getpagesize.h: Remove file.
52355         * lib/unistd.in.h: Include declaration of getpagesize here.
52356         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52357         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52358         HAVE_SYS_PARAM_H.
52359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52360         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52361         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52362         (Depends-on): Add unistd.
52363         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52364         (Include): Use <unistd.h> instead of getpagesize.h.
52365         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52366         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52367         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52368         gl_GETPAGESIZE invocation, already handled by module dependency.
52369         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52370
52371 2007-12-02  Bruno Haible  <bruno@clisp.org>
52372
52373         * modules/strings-tests: New file.
52374         * tests/test-strings.c: New file.
52375
52376         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52377         * lib/strings.in.h: New file.
52378         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52379         * m4/strings_h.m4: New file.
52380         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52381         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52382         * modules/strings: New file.
52383         * modules/string (Makefile.am): Update.
52384         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52385         Reported by Karl Berry.
52386
52387 2007-12-01  Eric Blake  <ebb9@byu.net>
52388
52389         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52390         accomodate fix in cygwin 1.5.25.
52391
52392 2007-12-01  Jim Meyering  <meyering@redhat.com>
52393
52394         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52395         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52396         that would inhibit utf8-optimization of a regexp containing line-
52397         or buffer-anchors, e.g., `^', `$'.
52398
52399 2007-11-30  Bruno Haible  <bruno@clisp.org>
52400
52401         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52402         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52403         glthread_recursive_lock_init.
52404         * lib/lock.c (glthread_recursive_lock_init)
52405         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52406         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52407
52408 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52409
52410         New function qset_acl, like set_acl but with syscall semantics.
52411         * lib/acl.h (qset_acl): New decl.
52412         * lib/acl.c (qset_acl): New function.
52413         (set_acl): Use new function.  Use more-consistent diagnostics.
52414
52415 2007-11-28  Jim Meyering  <meyering@redhat.com>
52416
52417         * modules/physmem (License): Change from GPL to LGPLv2+.
52418
52419 2007-11-26  Bruno Haible  <bruno@clisp.org>
52420
52421         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52422         'long double' type has excess precision.
52423         Reported by Jim Meyering in
52424         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52425
52426 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52427
52428         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52429         Sync from <http://gnu.org/licenses>.
52430         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52431         with license text from same location.
52432         * doc/maintain.texi, doc/standards.texi:  Sync from
52433         <http://savannah.gnu.org/projects/gnustandards>.
52434
52435 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
52436         and Jim Meyering  <meyering@redhat.com>
52437
52438         Adjust getdate' grammar to accept a slightly more regular language.
52439         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52440         Before, the former was rejected.
52441         * lib/getdate.y (digits_to_date_time): New function, factored
52442         out of ...
52443         (number): ...here.  Just call digits_to_date_time.
52444         (hybrid): New non-terminal to handle an <unsigned number,
52445         signed relative offset> sequence consistently.
52446
52447 2007-11-18  Jim Meyering  <meyering@redhat.com>
52448
52449         Pull my changes from coreutils:
52450         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52451         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52452         use of $gnulib_tool_option_extras, so that it's separated from the
52453         preceding argument.
52454
52455         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52456         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52457         parent destination directories before copying a file into place.
52458
52459 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52460
52461         bootstrap: work also with 4-argument variant of AC_INIT
52462         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52463
52464 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52465
52466         Port test-getaddrinfo to Solaris.
52467         Problem reported by Bruno Haible in
52468         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
52469         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
52470         explanation of setting 'hints'.
52471         Don't reject an implementation merely because it returns EAI_SERVICE.
52472         (EAI_SERVICE): Define to 0 if not defined.
52473
52474 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52475
52476         The license of gnu-make and posix-shell is now "GPLed build tool".
52477         * modules/gnu-make (License): Likewise.
52478         * modules/posix-shell (License): Likewise.
52479
52480         New module posix-shell, for determining a POSIX shell
52481         or perhaps something that is close enough to a POSIX shell.
52482         * m4/posix-shell.m4: New file.
52483         * modules/posix-shell: New file.
52484
52485         * MODULES.html.sh: Mention new module.
52486
52487         New module gnu-make, for determining whether we're using GNU Make.
52488         * m4/gnu-make.m4: New file.
52489         * modules/gnu-make: New file.
52490         * MODULES.html.sh: Mention new module.
52491
52492 2007-11-14  Jim Meyering  <meyering@redhat.com>
52493
52494         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
52495         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
52496         use this macro to create a function _definition_.
52497         Remove useless "#undef ARGMATCH_DIE".
52498
52499 2007-11-14  Bruno Haible  <bruno@clisp.org>
52500
52501         * lib/config.charset: Update for OpenBSD 4.1.
52502         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
52503
52504 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
52505
52506         Document 64-bit #if problems in stdint.texi.
52507         * doc/headers/stdint.texi (stdint.h): Mention problems with
52508         64-bit-#if, and how to work around them.
52509
52510         Don't insist on 'long long int' support in the preprocessor.  It
52511         breaks too many things.  For example, PRIdMAX still uses a 'long
52512         long int' format with the latest Sun compiler, even though
52513         HAVE_LONG_LONG_INT isn't defined due to that compiler's
52514         preprocessor problem.  This causes the latest coreutils to dump
52515         core on Solaris 10 sparc with the Sun C compiler.
52516         Instead, fix the 2007-10-16 problem in a different way, by evaluating
52517         the troublesome expressions at configure-time, not at #if-time.
52518         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
52519         preprocessor.
52520         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
52521         compile-time C checks, done at 'configure'-time.
52522         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
52523         * modules/inttypes (Makefile): Substitute the new symbols that
52524         gl_INTTYPES_H now generates.
52525         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
52526
52527 2007-11-12  Bruno Haible  <bruno@clisp.org>
52528
52529         Tests for Unicode character classification functions.
52530
52531         * modules/unictype/bidicategory-byname-tests: New file.
52532         * modules/unictype/bidicategory-name-tests: New file.
52533         * modules/unictype/bidicategory-of-tests: New file.
52534         * modules/unictype/bidicategory-test-tests: New file.
52535         * modules/unictype/block-list-tests: New file.
52536         * modules/unictype/block-of-tests: New file.
52537         * modules/unictype/block-test-tests: New file.
52538         * modules/unictype/category-C-tests: New file.
52539         * modules/unictype/category-Cc-tests: New file.
52540         * modules/unictype/category-Cf-tests: New file.
52541         * modules/unictype/category-Cn-tests: New file.
52542         * modules/unictype/category-Co-tests: New file.
52543         * modules/unictype/category-Cs-tests: New file.
52544         * modules/unictype/category-L-tests: New file.
52545         * modules/unictype/category-Ll-tests: New file.
52546         * modules/unictype/category-Lm-tests: New file.
52547         * modules/unictype/category-Lo-tests: New file.
52548         * modules/unictype/category-Lt-tests: New file.
52549         * modules/unictype/category-Lu-tests: New file.
52550         * modules/unictype/category-M-tests: New file.
52551         * modules/unictype/category-Mc-tests: New file.
52552         * modules/unictype/category-Me-tests: New file.
52553         * modules/unictype/category-Mn-tests: New file.
52554         * modules/unictype/category-N-tests: New file.
52555         * modules/unictype/category-Nd-tests: New file.
52556         * modules/unictype/category-Nl-tests: New file.
52557         * modules/unictype/category-No-tests: New file.
52558         * modules/unictype/category-P-tests: New file.
52559         * modules/unictype/category-Pc-tests: New file.
52560         * modules/unictype/category-Pd-tests: New file.
52561         * modules/unictype/category-Pe-tests: New file.
52562         * modules/unictype/category-Pf-tests: New file.
52563         * modules/unictype/category-Pi-tests: New file.
52564         * modules/unictype/category-Po-tests: New file.
52565         * modules/unictype/category-Ps-tests: New file.
52566         * modules/unictype/category-S-tests: New file.
52567         * modules/unictype/category-Sc-tests: New file.
52568         * modules/unictype/category-Sk-tests: New file.
52569         * modules/unictype/category-Sm-tests: New file.
52570         * modules/unictype/category-So-tests: New file.
52571         * modules/unictype/category-Z-tests: New file.
52572         * modules/unictype/category-Zl-tests: New file.
52573         * modules/unictype/category-Zp-tests: New file.
52574         * modules/unictype/category-Zs-tests: New file.
52575         * modules/unictype/category-and-not-tests: New file.
52576         * modules/unictype/category-and-tests: New file.
52577         * modules/unictype/category-byname-tests: New file.
52578         * modules/unictype/category-name-tests: New file.
52579         * modules/unictype/category-none-tests: New file.
52580         * modules/unictype/category-of-tests: New file.
52581         * modules/unictype/category-or-tests: New file.
52582         * modules/unictype/category-test-withtable-tests: New file.
52583         * modules/unictype/combining-class-tests: New file.
52584         * modules/unictype/ctype-alnum-tests: New file.
52585         * modules/unictype/ctype-alpha-tests: New file.
52586         * modules/unictype/ctype-blank-tests: New file.
52587         * modules/unictype/ctype-cntrl-tests: New file.
52588         * modules/unictype/ctype-digit-tests: New file.
52589         * modules/unictype/ctype-graph-tests: New file.
52590         * modules/unictype/ctype-lower-tests: New file.
52591         * modules/unictype/ctype-print-tests: New file.
52592         * modules/unictype/ctype-punct-tests: New file.
52593         * modules/unictype/ctype-space-tests: New file.
52594         * modules/unictype/ctype-upper-tests: New file.
52595         * modules/unictype/ctype-xdigit-tests: New file.
52596         * modules/unictype/decimal-digit-tests: New file.
52597         * modules/unictype/digit-tests: New file.
52598         * modules/unictype/mirror-tests: New file.
52599         * modules/unictype/numeric-tests: New file.
52600         * modules/unictype/property-alphabetic-tests: New file.
52601         * modules/unictype/property-ascii-hex-digit-tests: New file.
52602         * modules/unictype/property-bidi-arabic-digit-tests: New file.
52603         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
52604         * modules/unictype/property-bidi-block-separator-tests: New file.
52605         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
52606         * modules/unictype/property-bidi-common-separator-tests: New file.
52607         * modules/unictype/property-bidi-control-tests: New file.
52608         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
52609         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
52610         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
52611         * modules/unictype/property-bidi-european-digit-tests: New file.
52612         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
52613         * modules/unictype/property-bidi-left-to-right-tests: New file.
52614         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
52615         * modules/unictype/property-bidi-other-neutral-tests: New file.
52616         * modules/unictype/property-bidi-pdf-tests: New file.
52617         * modules/unictype/property-bidi-segment-separator-tests: New file.
52618         * modules/unictype/property-bidi-whitespace-tests: New file.
52619         * modules/unictype/property-byname-tests: New file.
52620         * modules/unictype/property-combining-tests: New file.
52621         * modules/unictype/property-composite-tests: New file.
52622         * modules/unictype/property-currency-symbol-tests: New file.
52623         * modules/unictype/property-dash-tests: New file.
52624         * modules/unictype/property-decimal-digit-tests: New file.
52625         * modules/unictype/property-default-ignorable-code-point-tests: New file.
52626         * modules/unictype/property-deprecated-tests: New file.
52627         * modules/unictype/property-diacritic-tests: New file.
52628         * modules/unictype/property-extender-tests: New file.
52629         * modules/unictype/property-format-control-tests: New file.
52630         * modules/unictype/property-grapheme-base-tests: New file.
52631         * modules/unictype/property-grapheme-extend-tests: New file.
52632         * modules/unictype/property-grapheme-link-tests: New file.
52633         * modules/unictype/property-hex-digit-tests: New file.
52634         * modules/unictype/property-hyphen-tests: New file.
52635         * modules/unictype/property-id-continue-tests: New file.
52636         * modules/unictype/property-id-start-tests: New file.
52637         * modules/unictype/property-ideographic-tests: New file.
52638         * modules/unictype/property-ids-binary-operator-tests: New file.
52639         * modules/unictype/property-ids-trinary-operator-tests: New file.
52640         * modules/unictype/property-ignorable-control-tests: New file.
52641         * modules/unictype/property-iso-control-tests: New file.
52642         * modules/unictype/property-join-control-tests: New file.
52643         * modules/unictype/property-left-of-pair-tests: New file.
52644         * modules/unictype/property-line-separator-tests: New file.
52645         * modules/unictype/property-logical-order-exception-tests: New file.
52646         * modules/unictype/property-lowercase-tests: New file.
52647         * modules/unictype/property-math-tests: New file.
52648         * modules/unictype/property-non-break-tests: New file.
52649         * modules/unictype/property-not-a-character-tests: New file.
52650         * modules/unictype/property-numeric-tests: New file.
52651         * modules/unictype/property-other-alphabetic-tests: New file.
52652         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
52653         * modules/unictype/property-other-grapheme-extend-tests: New file.
52654         * modules/unictype/property-other-id-continue-tests: New file.
52655         * modules/unictype/property-other-id-start-tests: New file.
52656         * modules/unictype/property-other-lowercase-tests: New file.
52657         * modules/unictype/property-other-math-tests: New file.
52658         * modules/unictype/property-other-uppercase-tests: New file.
52659         * modules/unictype/property-paired-punctuation-tests: New file.
52660         * modules/unictype/property-paragraph-separator-tests: New file.
52661         * modules/unictype/property-pattern-syntax-tests: New file.
52662         * modules/unictype/property-pattern-white-space-tests: New file.
52663         * modules/unictype/property-private-use-tests: New file.
52664         * modules/unictype/property-punctuation-tests: New file.
52665         * modules/unictype/property-quotation-mark-tests: New file.
52666         * modules/unictype/property-radical-tests: New file.
52667         * modules/unictype/property-sentence-terminal-tests: New file.
52668         * modules/unictype/property-soft-dotted-tests: New file.
52669         * modules/unictype/property-space-tests: New file.
52670         * modules/unictype/property-terminal-punctuation-tests: New file.
52671         * modules/unictype/property-test-tests: New file.
52672         * modules/unictype/property-titlecase-tests: New file.
52673         * modules/unictype/property-unassigned-code-value-tests: New file.
52674         * modules/unictype/property-unified-ideograph-tests: New file.
52675         * modules/unictype/property-uppercase-tests: New file.
52676         * modules/unictype/property-variation-selector-tests: New file.
52677         * modules/unictype/property-white-space-tests: New file.
52678         * modules/unictype/property-xid-continue-tests: New file.
52679         * modules/unictype/property-xid-start-tests: New file.
52680         * modules/unictype/property-zero-width-tests: New file.
52681         * modules/unictype/scripts-tests: New file.
52682         * modules/unictype/syntax-c-ident-tests: New file.
52683         * modules/unictype/syntax-c-whitespace-tests: New file.
52684         * modules/unictype/syntax-java-ident-tests: New file.
52685         * modules/unictype/syntax-java-whitespace-tests: New file.
52686         * tests/unictype/test-bidi_byname.c: New file.
52687         * tests/unictype/test-bidi_name.c: New file.
52688         * tests/unictype/test-bidi_of.c: New file.
52689         * tests/unictype/test-bidi_test.c: New file.
52690         * tests/unictype/test-block_list.c: New file.
52691         * tests/unictype/test-block_of.c: New file.
52692         * tests/unictype/test-block_test.c: New file.
52693         * tests/unictype/test-categ_and.c: New file.
52694         * tests/unictype/test-categ_and_not.c: New file.
52695         * tests/unictype/test-categ_byname.c: New file.
52696         * tests/unictype/test-categ_name.c: New file.
52697         * tests/unictype/test-categ_none.c: New file.
52698         * tests/unictype/test-categ_of.c: New file.
52699         * tests/unictype/test-categ_or.c: New file.
52700         * tests/unictype/test-categ_test_withtable.c: New file.
52701         * tests/unictype/test-combining.c: New file.
52702         * tests/unictype/test-decdigit.c: New file.
52703         * tests/unictype/test-digit.c: New file.
52704         * tests/unictype/test-mirror.c: New file.
52705         * tests/unictype/test-numeric.c: New file.
52706         * tests/unictype/test-pr_byname.c: New file.
52707         * tests/unictype/test-pr_test.c: New file.
52708         * tests/unictype/test-predicate-part1.h: New file.
52709         * tests/unictype/test-predicate-part2.h: New file.
52710         * tests/unictype/test-scripts.c: New file.
52711         * tests/unictype/test-sy_c_ident.c: New file.
52712         * tests/unictype/test-sy_java_ident.c: New file.
52713
52714         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
52715         for Unicode 5.0.0.
52716         * tests/unictype/test-categ_Cc.c: Likewise.
52717         * tests/unictype/test-categ_Cf.c: Likewise.
52718         * tests/unictype/test-categ_Cn.c: Likewise.
52719         * tests/unictype/test-categ_Co.c: Likewise.
52720         * tests/unictype/test-categ_Cs.c: Likewise.
52721         * tests/unictype/test-categ_L.c: Likewise.
52722         * tests/unictype/test-categ_Ll.c: Likewise.
52723         * tests/unictype/test-categ_Lm.c: Likewise.
52724         * tests/unictype/test-categ_Lo.c: Likewise.
52725         * tests/unictype/test-categ_Lt.c: Likewise.
52726         * tests/unictype/test-categ_Lu.c: Likewise.
52727         * tests/unictype/test-categ_M.c: Likewise.
52728         * tests/unictype/test-categ_Mc.c: Likewise.
52729         * tests/unictype/test-categ_Me.c: Likewise.
52730         * tests/unictype/test-categ_Mn.c: Likewise.
52731         * tests/unictype/test-categ_N.c: Likewise.
52732         * tests/unictype/test-categ_Nd.c: Likewise.
52733         * tests/unictype/test-categ_Nl.c: Likewise.
52734         * tests/unictype/test-categ_No.c: Likewise.
52735         * tests/unictype/test-categ_P.c: Likewise.
52736         * tests/unictype/test-categ_Pc.c: Likewise.
52737         * tests/unictype/test-categ_Pd.c: Likewise.
52738         * tests/unictype/test-categ_Pe.c: Likewise.
52739         * tests/unictype/test-categ_Pf.c: Likewise.
52740         * tests/unictype/test-categ_Pi.c: Likewise.
52741         * tests/unictype/test-categ_Po.c: Likewise.
52742         * tests/unictype/test-categ_Ps.c: Likewise.
52743         * tests/unictype/test-categ_S.c: Likewise.
52744         * tests/unictype/test-categ_Sc.c: Likewise.
52745         * tests/unictype/test-categ_Sk.c: Likewise.
52746         * tests/unictype/test-categ_Sm.c: Likewise.
52747         * tests/unictype/test-categ_So.c: Likewise.
52748         * tests/unictype/test-categ_Z.c: Likewise.
52749         * tests/unictype/test-categ_Zl.c: Likewise.
52750         * tests/unictype/test-categ_Zp.c: Likewise.
52751         * tests/unictype/test-categ_Zs.c: Likewise.
52752         * tests/unictype/test-ctype_alnum.c: Likewise.
52753         * tests/unictype/test-ctype_alpha.c: Likewise.
52754         * tests/unictype/test-ctype_blank.c: Likewise.
52755         * tests/unictype/test-ctype_cntrl.c: Likewise.
52756         * tests/unictype/test-ctype_digit.c: Likewise.
52757         * tests/unictype/test-ctype_graph.c: Likewise.
52758         * tests/unictype/test-ctype_lower.c: Likewise.
52759         * tests/unictype/test-ctype_print.c: Likewise.
52760         * tests/unictype/test-ctype_punct.c: Likewise.
52761         * tests/unictype/test-ctype_space.c: Likewise.
52762         * tests/unictype/test-ctype_upper.c: Likewise.
52763         * tests/unictype/test-ctype_xdigit.c: Likewise.
52764         * tests/unictype/test-decdigit.h: Likewise.
52765         * tests/unictype/test-digit.h: Likewise.
52766         * tests/unictype/test-numeric.h: Likewise.
52767         * tests/unictype/test-pr_alphabetic.c: Likewise.
52768         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
52769         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
52770         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
52771         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
52772         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
52773         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
52774         * tests/unictype/test-pr_bidi_control.c: Likewise.
52775         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
52776         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
52777         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
52778         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
52779         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
52780         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
52781         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
52782         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
52783         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
52784         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
52785         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
52786         * tests/unictype/test-pr_combining.c: Likewise.
52787         * tests/unictype/test-pr_composite.c: Likewise.
52788         * tests/unictype/test-pr_currency_symbol.c: Likewise.
52789         * tests/unictype/test-pr_dash.c: Likewise.
52790         * tests/unictype/test-pr_decimal_digit.c: Likewise.
52791         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
52792         * tests/unictype/test-pr_deprecated.c: Likewise.
52793         * tests/unictype/test-pr_diacritic.c: Likewise.
52794         * tests/unictype/test-pr_extender.c: Likewise.
52795         * tests/unictype/test-pr_format_control.c: Likewise.
52796         * tests/unictype/test-pr_grapheme_base.c: Likewise.
52797         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
52798         * tests/unictype/test-pr_grapheme_link.c: Likewise.
52799         * tests/unictype/test-pr_hex_digit.c: Likewise.
52800         * tests/unictype/test-pr_hyphen.c: Likewise.
52801         * tests/unictype/test-pr_id_continue.c: Likewise.
52802         * tests/unictype/test-pr_id_start.c: Likewise.
52803         * tests/unictype/test-pr_ideographic.c: Likewise.
52804         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
52805         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
52806         * tests/unictype/test-pr_ignorable_control.c: Likewise.
52807         * tests/unictype/test-pr_iso_control.c: Likewise.
52808         * tests/unictype/test-pr_join_control.c: Likewise.
52809         * tests/unictype/test-pr_left_of_pair.c: Likewise.
52810         * tests/unictype/test-pr_line_separator.c: Likewise.
52811         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
52812         * tests/unictype/test-pr_lowercase.c: Likewise.
52813         * tests/unictype/test-pr_math.c: Likewise.
52814         * tests/unictype/test-pr_non_break.c: Likewise.
52815         * tests/unictype/test-pr_not_a_character.c: Likewise.
52816         * tests/unictype/test-pr_numeric.c: Likewise.
52817         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
52818         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
52819         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
52820         * tests/unictype/test-pr_other_id_continue.c: Likewise.
52821         * tests/unictype/test-pr_other_id_start.c: Likewise.
52822         * tests/unictype/test-pr_other_lowercase.c: Likewise.
52823         * tests/unictype/test-pr_other_math.c: Likewise.
52824         * tests/unictype/test-pr_other_uppercase.c: Likewise.
52825         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
52826         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
52827         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
52828         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
52829         * tests/unictype/test-pr_private_use.c: Likewise.
52830         * tests/unictype/test-pr_punctuation.c: Likewise.
52831         * tests/unictype/test-pr_quotation_mark.c: Likewise.
52832         * tests/unictype/test-pr_radical.c: Likewise.
52833         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
52834         * tests/unictype/test-pr_soft_dotted.c: Likewise.
52835         * tests/unictype/test-pr_space.c: Likewise.
52836         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
52837         * tests/unictype/test-pr_titlecase.c: Likewise.
52838         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
52839         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
52840         * tests/unictype/test-pr_uppercase.c: Likewise.
52841         * tests/unictype/test-pr_variation_selector.c: Likewise.
52842         * tests/unictype/test-pr_white_space.c: Likewise.
52843         * tests/unictype/test-pr_xid_continue.c: Likewise.
52844         * tests/unictype/test-pr_xid_start.c: Likewise.
52845         * tests/unictype/test-pr_zero_width.c: Likewise.
52846         * tests/unictype/test-sy_c_whitespace.c: Likewise.
52847         * tests/unictype/test-sy_java_whitespace.c: Likewise.
52848
52849 2007-11-12  Bruno Haible  <bruno@clisp.org>
52850
52851         Unicode character classification functions.
52852         * lib/unictype.h: New file.
52853         * modules/unictype/base: New file.
52854         * modules/unictype/category-L: New file.
52855         * modules/unictype/category-Lu: New file.
52856         * modules/unictype/category-Ll: New file.
52857         * modules/unictype/category-Lt: New file.
52858         * modules/unictype/category-Lm: New file.
52859         * modules/unictype/category-Lo: New file.
52860         * modules/unictype/category-M: New file.
52861         * modules/unictype/category-Mn: New file.
52862         * modules/unictype/category-Mc: New file.
52863         * modules/unictype/category-Me: New file.
52864         * modules/unictype/category-N: New file.
52865         * modules/unictype/category-Nd: New file.
52866         * modules/unictype/category-Nl: New file.
52867         * modules/unictype/category-No: New file.
52868         * modules/unictype/category-P: New file.
52869         * modules/unictype/category-Pc: New file.
52870         * modules/unictype/category-Pd: New file.
52871         * modules/unictype/category-Ps: New file.
52872         * modules/unictype/category-Pe: New file.
52873         * modules/unictype/category-Pi: New file.
52874         * modules/unictype/category-Pf: New file.
52875         * modules/unictype/category-Po: New file.
52876         * modules/unictype/category-S: New file.
52877         * modules/unictype/category-Sm: New file.
52878         * modules/unictype/category-Sc: New file.
52879         * modules/unictype/category-Sk: New file.
52880         * modules/unictype/category-So: New file.
52881         * modules/unictype/category-Z: New file.
52882         * modules/unictype/category-Zs: New file.
52883         * modules/unictype/category-Zl: New file.
52884         * modules/unictype/category-Zp: New file.
52885         * modules/unictype/category-C: New file.
52886         * modules/unictype/category-Cc: New file.
52887         * modules/unictype/category-Cf: New file.
52888         * modules/unictype/category-Cs: New file.
52889         * modules/unictype/category-Co: New file.
52890         * modules/unictype/category-Cn: New file.
52891         * modules/unictype/category-or: New file.
52892         * modules/unictype/category-of: New file.
52893         * modules/unictype/category-test: New file.
52894         * modules/unictype/category-test-withtable: New file.
52895         * modules/unictype/category-byname: New file.
52896         * modules/unictype/category-none: New file.
52897         * modules/unictype/category-and: New file.
52898         * modules/unictype/category-and-not: New file.
52899         * modules/unictype/category-name: New file.
52900         * modules/unictype/combining-class: New file.
52901         * modules/unictype/category-all: New file.
52902         * modules/unictype/bidicategory-all: New file.
52903         * modules/unictype/bidicategory-byname: New file.
52904         * modules/unictype/bidicategory-name: New file.
52905         * modules/unictype/bidicategory-of: New file.
52906         * modules/unictype/bidicategory-test: New file.
52907         * modules/unictype/decimal-digit: New file.
52908         * modules/unictype/digit: New file.
52909         * modules/unictype/numeric: New file.
52910         * modules/unictype/mirror: New file.
52911         * modules/unictype/property-white-space: New file.
52912         * modules/unictype/property-alphabetic: New file.
52913         * modules/unictype/property-other-alphabetic: New file.
52914         * modules/unictype/property-not-a-character: New file.
52915         * modules/unictype/property-default-ignorable-code-point: New file.
52916         * modules/unictype/property-other-default-ignorable-code-point: New
52917         file.
52918         * modules/unictype/property-deprecated: New file.
52919         * modules/unictype/property-logical-order-exception: New file.
52920         * modules/unictype/property-variation-selector: New file.
52921         * modules/unictype/property-private-use: New file.
52922         * modules/unictype/property-unassigned-code-value: New file.
52923         * modules/unictype/property-uppercase: New file.
52924         * modules/unictype/property-other-uppercase: New file.
52925         * modules/unictype/property-lowercase: New file.
52926         * modules/unictype/property-other-lowercase: New file.
52927         * modules/unictype/property-titlecase: New file.
52928         * modules/unictype/property-soft-dotted: New file.
52929         * modules/unictype/property-id-start: New file.
52930         * modules/unictype/property-other-id-start: New file.
52931         * modules/unictype/property-id-continue: New file.
52932         * modules/unictype/property-other-id-continue: New file.
52933         * modules/unictype/property-xid-start: New file.
52934         * modules/unictype/property-xid-continue: New file.
52935         * modules/unictype/property-pattern-white-space: New file.
52936         * modules/unictype/property-pattern-syntax: New file.
52937         * modules/unictype/property-join-control: New file.
52938         * modules/unictype/property-grapheme-base: New file.
52939         * modules/unictype/property-grapheme-extend: New file.
52940         * modules/unictype/property-other-grapheme-extend: New file.
52941         * modules/unictype/property-grapheme-link: New file.
52942         * modules/unictype/property-bidi-control: New file.
52943         * modules/unictype/property-bidi-left-to-right: New file.
52944         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
52945         * modules/unictype/property-bidi-arabic-right-to-left: New file.
52946         * modules/unictype/property-bidi-european-digit: New file.
52947         * modules/unictype/property-bidi-eur-num-separator: New file.
52948         * modules/unictype/property-bidi-eur-num-terminator: New file.
52949         * modules/unictype/property-bidi-arabic-digit: New file.
52950         * modules/unictype/property-bidi-common-separator: New file.
52951         * modules/unictype/property-bidi-block-separator: New file.
52952         * modules/unictype/property-bidi-segment-separator: New file.
52953         * modules/unictype/property-bidi-whitespace: New file.
52954         * modules/unictype/property-bidi-non-spacing-mark: New file.
52955         * modules/unictype/property-bidi-boundary-neutral: New file.
52956         * modules/unictype/property-bidi-pdf: New file.
52957         * modules/unictype/property-bidi-embedding-or-override: New file.
52958         * modules/unictype/property-bidi-other-neutral: New file.
52959         * modules/unictype/property-hex-digit: New file.
52960         * modules/unictype/property-ascii-hex-digit: New file.
52961         * modules/unictype/property-ideographic: New file.
52962         * modules/unictype/property-unified-ideograph: New file.
52963         * modules/unictype/property-radical: New file.
52964         * modules/unictype/property-ids-binary-operator: New file.
52965         * modules/unictype/property-ids-trinary-operator: New file.
52966         * modules/unictype/property-zero-width: New file.
52967         * modules/unictype/property-space: New file.
52968         * modules/unictype/property-non-break: New file.
52969         * modules/unictype/property-iso-control: New file.
52970         * modules/unictype/property-format-control: New file.
52971         * modules/unictype/property-dash: New file.
52972         * modules/unictype/property-hyphen: New file.
52973         * modules/unictype/property-punctuation: New file.
52974         * modules/unictype/property-line-separator: New file.
52975         * modules/unictype/property-paragraph-separator: New file.
52976         * modules/unictype/property-quotation-mark: New file.
52977         * modules/unictype/property-sentence-terminal: New file.
52978         * modules/unictype/property-terminal-punctuation: New file.
52979         * modules/unictype/property-currency-symbol: New file.
52980         * modules/unictype/property-math: New file.
52981         * modules/unictype/property-other-math: New file.
52982         * modules/unictype/property-paired-punctuation: New file.
52983         * modules/unictype/property-left-of-pair: New file.
52984         * modules/unictype/property-combining: New file.
52985         * modules/unictype/property-composite: New file.
52986         * modules/unictype/property-decimal-digit: New file.
52987         * modules/unictype/property-numeric: New file.
52988         * modules/unictype/property-diacritic: New file.
52989         * modules/unictype/property-extender: New file.
52990         * modules/unictype/property-ignorable-control: New file.
52991         * modules/unictype/property-test: New file.
52992         * modules/unictype/property-byname: New file.
52993         * modules/unictype/property-all: New file.
52994         * modules/unictype/scripts: New file.
52995         * modules/unictype/scripts-all: New file.
52996         * modules/unictype/block-of: New file.
52997         * modules/unictype/block-test: New file.
52998         * modules/unictype/block-list: New file.
52999         * modules/unictype/block-all: New file.
53000         * modules/unictype/syntax-c-whitespace: New file.
53001         * modules/unictype/syntax-java-whitespace: New file.
53002         * modules/unictype/syntax-c-ident: New file.
53003         * modules/unictype/syntax-java-ident: New file.
53004         * modules/unictype/ctype-alnum: New file.
53005         * modules/unictype/ctype-alpha: New file.
53006         * modules/unictype/ctype-cntrl: New file.
53007         * modules/unictype/ctype-digit: New file.
53008         * modules/unictype/ctype-graph: New file.
53009         * modules/unictype/ctype-lower: New file.
53010         * modules/unictype/ctype-print: New file.
53011         * modules/unictype/ctype-punct: New file.
53012         * modules/unictype/ctype-space: New file.
53013         * modules/unictype/ctype-upper: New file.
53014         * modules/unictype/ctype-xdigit: New file.
53015         * modules/unictype/ctype-blank: New file.
53016         * lib/unictype/bidi_byname.c: New file.
53017         * lib/unictype/bidi_name.c: New file.
53018         * lib/unictype/bidi_of.c: New file.
53019         * lib/unictype/bidi_test.c: New file.
53020         * lib/unictype/bitmap.h: New file.
53021         * lib/unictype/block_test.c: New file.
53022         * lib/unictype/blocks.c: New file.
53023         * lib/unictype/categ_C.c: New file.
53024         * lib/unictype/categ_Cc.c: New file.
53025         * lib/unictype/categ_Cf.c: New file.
53026         * lib/unictype/categ_Cn.c: New file.
53027         * lib/unictype/categ_Co.c: New file.
53028         * lib/unictype/categ_Cs.c: New file.
53029         * lib/unictype/categ_L.c: New file.
53030         * lib/unictype/categ_Ll.c: New file.
53031         * lib/unictype/categ_Lm.c: New file.
53032         * lib/unictype/categ_Lo.c: New file.
53033         * lib/unictype/categ_Lt.c: New file.
53034         * lib/unictype/categ_Lu.c: New file.
53035         * lib/unictype/categ_M.c: New file.
53036         * lib/unictype/categ_Mc.c: New file.
53037         * lib/unictype/categ_Me.c: New file.
53038         * lib/unictype/categ_Mn.c: New file.
53039         * lib/unictype/categ_N.c: New file.
53040         * lib/unictype/categ_Nd.c: New file.
53041         * lib/unictype/categ_Nl.c: New file.
53042         * lib/unictype/categ_No.c: New file.
53043         * lib/unictype/categ_P.c: New file.
53044         * lib/unictype/categ_Pc.c: New file.
53045         * lib/unictype/categ_Pd.c: New file.
53046         * lib/unictype/categ_Pe.c: New file.
53047         * lib/unictype/categ_Pf.c: New file.
53048         * lib/unictype/categ_Pi.c: New file.
53049         * lib/unictype/categ_Po.c: New file.
53050         * lib/unictype/categ_Ps.c: New file.
53051         * lib/unictype/categ_S.c: New file.
53052         * lib/unictype/categ_Sc.c: New file.
53053         * lib/unictype/categ_Sk.c: New file.
53054         * lib/unictype/categ_Sm.c: New file.
53055         * lib/unictype/categ_So.c: New file.
53056         * lib/unictype/categ_Z.c: New file.
53057         * lib/unictype/categ_Zl.c: New file.
53058         * lib/unictype/categ_Zp.c: New file.
53059         * lib/unictype/categ_Zs.c: New file.
53060         * lib/unictype/categ_and.c: New file.
53061         * lib/unictype/categ_and_not.c: New file.
53062         * lib/unictype/categ_byname.c: New file.
53063         * lib/unictype/categ_name.c: New file.
53064         * lib/unictype/categ_none.c: New file.
53065         * lib/unictype/categ_of.c: New file.
53066         * lib/unictype/categ_or.c: New file.
53067         * lib/unictype/categ_test.c: New file.
53068         * lib/unictype/combining.c: New file.
53069         * lib/unictype/ctype_alnum.c: New file.
53070         * lib/unictype/ctype_alpha.c: New file.
53071         * lib/unictype/ctype_blank.c: New file.
53072         * lib/unictype/ctype_cntrl.c: New file.
53073         * lib/unictype/ctype_digit.c: New file.
53074         * lib/unictype/ctype_graph.c: New file.
53075         * lib/unictype/ctype_lower.c: New file.
53076         * lib/unictype/ctype_print.c: New file.
53077         * lib/unictype/ctype_punct.c: New file.
53078         * lib/unictype/ctype_space.c: New file.
53079         * lib/unictype/ctype_upper.c: New file.
53080         * lib/unictype/ctype_xdigit.c: New file.
53081         * lib/unictype/decdigit.c: New file.
53082         * lib/unictype/digit.c: New file.
53083         * lib/unictype/identsyntaxmap.h: New file.
53084         * lib/unictype/mirror.c: New file.
53085         * lib/unictype/numeric.c: New file.
53086         * lib/unictype/pr_alphabetic.c: New file.
53087         * lib/unictype/pr_ascii_hex_digit.c: New file.
53088         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53089         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53090         * lib/unictype/pr_bidi_block_separator.c: New file.
53091         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53092         * lib/unictype/pr_bidi_common_separator.c: New file.
53093         * lib/unictype/pr_bidi_control.c: New file.
53094         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53095         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53096         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53097         * lib/unictype/pr_bidi_european_digit.c: New file.
53098         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53099         * lib/unictype/pr_bidi_left_to_right.c: New file.
53100         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53101         * lib/unictype/pr_bidi_other_neutral.c: New file.
53102         * lib/unictype/pr_bidi_pdf.c: New file.
53103         * lib/unictype/pr_bidi_segment_separator.c: New file.
53104         * lib/unictype/pr_bidi_whitespace.c: New file.
53105         * lib/unictype/pr_byname.c: New file.
53106         * lib/unictype/pr_byname.gperf: New file.
53107         * lib/unictype/pr_combining.c: New file.
53108         * lib/unictype/pr_composite.c: New file.
53109         * lib/unictype/pr_currency_symbol.c: New file.
53110         * lib/unictype/pr_dash.c: New file.
53111         * lib/unictype/pr_decimal_digit.c: New file.
53112         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53113         * lib/unictype/pr_deprecated.c: New file.
53114         * lib/unictype/pr_diacritic.c: New file.
53115         * lib/unictype/pr_extender.c: New file.
53116         * lib/unictype/pr_format_control.c: New file.
53117         * lib/unictype/pr_grapheme_base.c: New file.
53118         * lib/unictype/pr_grapheme_extend.c: New file.
53119         * lib/unictype/pr_grapheme_link.c: New file.
53120         * lib/unictype/pr_hex_digit.c: New file.
53121         * lib/unictype/pr_hyphen.c: New file.
53122         * lib/unictype/pr_id_continue.c: New file.
53123         * lib/unictype/pr_id_start.c: New file.
53124         * lib/unictype/pr_ideographic.c: New file.
53125         * lib/unictype/pr_ids_binary_operator.c: New file.
53126         * lib/unictype/pr_ids_trinary_operator.c: New file.
53127         * lib/unictype/pr_ignorable_control.c: New file.
53128         * lib/unictype/pr_iso_control.c: New file.
53129         * lib/unictype/pr_join_control.c: New file.
53130         * lib/unictype/pr_left_of_pair.c: New file.
53131         * lib/unictype/pr_line_separator.c: New file.
53132         * lib/unictype/pr_logical_order_exception.c: New file.
53133         * lib/unictype/pr_lowercase.c: New file.
53134         * lib/unictype/pr_math.c: New file.
53135         * lib/unictype/pr_non_break.c: New file.
53136         * lib/unictype/pr_not_a_character.c: New file.
53137         * lib/unictype/pr_numeric.c: New file.
53138         * lib/unictype/pr_other_alphabetic.c: New file.
53139         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53140         * lib/unictype/pr_other_grapheme_extend.c: New file.
53141         * lib/unictype/pr_other_id_continue.c: New file.
53142         * lib/unictype/pr_other_id_start.c: New file.
53143         * lib/unictype/pr_other_lowercase.c: New file.
53144         * lib/unictype/pr_other_math.c: New file.
53145         * lib/unictype/pr_other_uppercase.c: New file.
53146         * lib/unictype/pr_paired_punctuation.c: New file.
53147         * lib/unictype/pr_paragraph_separator.c: New file.
53148         * lib/unictype/pr_pattern_syntax.c: New file.
53149         * lib/unictype/pr_pattern_white_space.c: New file.
53150         * lib/unictype/pr_private_use.c: New file.
53151         * lib/unictype/pr_punctuation.c: New file.
53152         * lib/unictype/pr_quotation_mark.c: New file.
53153         * lib/unictype/pr_radical.c: New file.
53154         * lib/unictype/pr_sentence_terminal.c: New file.
53155         * lib/unictype/pr_soft_dotted.c: New file.
53156         * lib/unictype/pr_space.c: New file.
53157         * lib/unictype/pr_terminal_punctuation.c: New file.
53158         * lib/unictype/pr_test.c: New file.
53159         * lib/unictype/pr_titlecase.c: New file.
53160         * lib/unictype/pr_unassigned_code_value.c: New file.
53161         * lib/unictype/pr_unified_ideograph.c: New file.
53162         * lib/unictype/pr_uppercase.c: New file.
53163         * lib/unictype/pr_variation_selector.c: New file.
53164         * lib/unictype/pr_white_space.c: New file.
53165         * lib/unictype/pr_xid_continue.c: New file.
53166         * lib/unictype/pr_xid_start.c: New file.
53167         * lib/unictype/pr_zero_width.c: New file.
53168         * lib/unictype/scripts.c: New file.
53169         * lib/unictype/sy_c_ident.c: New file.
53170         * lib/unictype/sy_c_whitespace.c: New file.
53171         * lib/unictype/sy_java_ident.c: New file.
53172         * lib/unictype/sy_java_whitespace.c: New file.
53173
53174         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53175         Unicode 5.0.0.
53176         * lib/unictype/blocks.h: Likewise.
53177         * lib/unictype/categ_C.h: Likewise.
53178         * lib/unictype/categ_Cc.h: Likewise.
53179         * lib/unictype/categ_Cf.h: Likewise.
53180         * lib/unictype/categ_Cn.h: Likewise.
53181         * lib/unictype/categ_Co.h: Likewise.
53182         * lib/unictype/categ_Cs.h: Likewise.
53183         * lib/unictype/categ_L.h: Likewise.
53184         * lib/unictype/categ_Ll.h: Likewise.
53185         * lib/unictype/categ_Lm.h: Likewise.
53186         * lib/unictype/categ_Lo.h: Likewise.
53187         * lib/unictype/categ_Lt.h: Likewise.
53188         * lib/unictype/categ_Lu.h: Likewise.
53189         * lib/unictype/categ_M.h: Likewise.
53190         * lib/unictype/categ_Mc.h: Likewise.
53191         * lib/unictype/categ_Me.h: Likewise.
53192         * lib/unictype/categ_Mn.h: Likewise.
53193         * lib/unictype/categ_N.h: Likewise.
53194         * lib/unictype/categ_Nd.h: Likewise.
53195         * lib/unictype/categ_Nl.h: Likewise.
53196         * lib/unictype/categ_No.h: Likewise.
53197         * lib/unictype/categ_P.h: Likewise.
53198         * lib/unictype/categ_Pc.h: Likewise.
53199         * lib/unictype/categ_Pd.h: Likewise.
53200         * lib/unictype/categ_Pe.h: Likewise.
53201         * lib/unictype/categ_Pf.h: Likewise.
53202         * lib/unictype/categ_Pi.h: Likewise.
53203         * lib/unictype/categ_Po.h: Likewise.
53204         * lib/unictype/categ_Ps.h: Likewise.
53205         * lib/unictype/categ_S.h: Likewise.
53206         * lib/unictype/categ_Sc.h: Likewise.
53207         * lib/unictype/categ_Sk.h: Likewise.
53208         * lib/unictype/categ_Sm.h: Likewise.
53209         * lib/unictype/categ_So.h: Likewise.
53210         * lib/unictype/categ_Z.h: Likewise.
53211         * lib/unictype/categ_Zl.h: Likewise.
53212         * lib/unictype/categ_Zp.h: Likewise.
53213         * lib/unictype/categ_Zs.h: Likewise.
53214         * lib/unictype/categ_of.h: Likewise.
53215         * lib/unictype/combining.h: Likewise.
53216         * lib/unictype/ctype_alnum.h: Likewise.
53217         * lib/unictype/ctype_alpha.h: Likewise.
53218         * lib/unictype/ctype_blank.h: Likewise.
53219         * lib/unictype/ctype_cntrl.h: Likewise.
53220         * lib/unictype/ctype_digit.h: Likewise.
53221         * lib/unictype/ctype_graph.h: Likewise.
53222         * lib/unictype/ctype_lower.h: Likewise.
53223         * lib/unictype/ctype_print.h: Likewise.
53224         * lib/unictype/ctype_punct.h: Likewise.
53225         * lib/unictype/ctype_space.h: Likewise.
53226         * lib/unictype/ctype_upper.h: Likewise.
53227         * lib/unictype/ctype_xdigit.h: Likewise.
53228         * lib/unictype/decdigit.h: Likewise.
53229         * lib/unictype/digit.h: Likewise.
53230         * lib/unictype/mirror.h: Likewise.
53231         * lib/unictype/numeric.h: Likewise.
53232         * lib/unictype/pr_alphabetic.h: Likewise.
53233         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53234         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53235         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53236         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53237         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53238         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53239         * lib/unictype/pr_bidi_control.h: Likewise.
53240         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53241         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53242         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53243         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53244         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53245         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53246         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53247         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53248         * lib/unictype/pr_bidi_pdf.h: Likewise.
53249         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53250         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53251         * lib/unictype/pr_combining.h: Likewise.
53252         * lib/unictype/pr_composite.h: Likewise.
53253         * lib/unictype/pr_currency_symbol.h: Likewise.
53254         * lib/unictype/pr_dash.h: Likewise.
53255         * lib/unictype/pr_decimal_digit.h: Likewise.
53256         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53257         * lib/unictype/pr_deprecated.h: Likewise.
53258         * lib/unictype/pr_diacritic.h: Likewise.
53259         * lib/unictype/pr_extender.h: Likewise.
53260         * lib/unictype/pr_format_control.h: Likewise.
53261         * lib/unictype/pr_grapheme_base.h: Likewise.
53262         * lib/unictype/pr_grapheme_extend.h: Likewise.
53263         * lib/unictype/pr_grapheme_link.h: Likewise.
53264         * lib/unictype/pr_hex_digit.h: Likewise.
53265         * lib/unictype/pr_hyphen.h: Likewise.
53266         * lib/unictype/pr_id_continue.h: Likewise.
53267         * lib/unictype/pr_id_start.h: Likewise.
53268         * lib/unictype/pr_ideographic.h: Likewise.
53269         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53270         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53271         * lib/unictype/pr_ignorable_control.h: Likewise.
53272         * lib/unictype/pr_iso_control.h: Likewise.
53273         * lib/unictype/pr_join_control.h: Likewise.
53274         * lib/unictype/pr_left_of_pair.h: Likewise.
53275         * lib/unictype/pr_line_separator.h: Likewise.
53276         * lib/unictype/pr_logical_order_exception.h: Likewise.
53277         * lib/unictype/pr_lowercase.h: Likewise.
53278         * lib/unictype/pr_math.h: Likewise.
53279         * lib/unictype/pr_non_break.h: Likewise.
53280         * lib/unictype/pr_not_a_character.h: Likewise.
53281         * lib/unictype/pr_numeric.h: Likewise.
53282         * lib/unictype/pr_other_alphabetic.h: Likewise.
53283         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53284         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53285         * lib/unictype/pr_other_id_continue.h: Likewise.
53286         * lib/unictype/pr_other_id_start.h: Likewise.
53287         * lib/unictype/pr_other_lowercase.h: Likewise.
53288         * lib/unictype/pr_other_math.h: Likewise.
53289         * lib/unictype/pr_other_uppercase.h: Likewise.
53290         * lib/unictype/pr_paired_punctuation.h: Likewise.
53291         * lib/unictype/pr_paragraph_separator.h: Likewise.
53292         * lib/unictype/pr_pattern_syntax.h: Likewise.
53293         * lib/unictype/pr_pattern_white_space.h: Likewise.
53294         * lib/unictype/pr_private_use.h: Likewise.
53295         * lib/unictype/pr_punctuation.h: Likewise.
53296         * lib/unictype/pr_quotation_mark.h: Likewise.
53297         * lib/unictype/pr_radical.h: Likewise.
53298         * lib/unictype/pr_sentence_terminal.h: Likewise.
53299         * lib/unictype/pr_soft_dotted.h: Likewise.
53300         * lib/unictype/pr_space.h: Likewise.
53301         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53302         * lib/unictype/pr_titlecase.h: Likewise.
53303         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53304         * lib/unictype/pr_unified_ideograph.h: Likewise.
53305         * lib/unictype/pr_uppercase.h: Likewise.
53306         * lib/unictype/pr_variation_selector.h: Likewise.
53307         * lib/unictype/pr_white_space.h: Likewise.
53308         * lib/unictype/pr_xid_continue.h: Likewise.
53309         * lib/unictype/pr_xid_start.h: Likewise.
53310         * lib/unictype/pr_zero_width.h: Likewise.
53311         * lib/unictype/scripts.h: Likewise.
53312         * lib/unictype/scripts_byname.gperf: Likewise.
53313         * lib/unictype/sy_c_ident.h: Likewise.
53314         * lib/unictype/sy_c_whitespace.h: Likewise.
53315         * lib/unictype/sy_java_ident.h: Likewise.
53316         * lib/unictype/sy_java_whitespace.h: Likewise.
53317
53318         * lib/unictype/Makefile: New file.
53319         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53320         glibc.
53321         * lib/unictype/3level.h: New file, copied from glibc.
53322         * lib/unictype/3levelbit.h: New file.
53323
53324 2007-11-11  Bruno Haible  <bruno@clisp.org>
53325
53326         * modules/gperf: New file.
53327         * modules/iconv_open (Depends-on): Add it.
53328         (Makefile.am): Remove the GPERF definition.
53329
53330 2007-11-11  Bruno Haible  <bruno@clisp.org>
53331
53332         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53333         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53334
53335 2007-11-11  Bruno Haible  <bruno@clisp.org>
53336
53337         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53338         (usage): Remove function.
53339
53340 2007-11-11  Bruno Haible  <bruno@clisp.org>
53341
53342         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53343         gl_FUNC_CEILF_LIBS.
53344         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53345         gl_FUNC_CEIL_LIBS.
53346         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53347         gl_FUNC_CEILL_LIBS.
53348         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53349         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53350         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53351
53352 2007-11-11  Bruno Haible  <bruno@clisp.org>
53353
53354         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53355         roundf were declared but do not exist on functions.
53356         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53357         roundl were declared but do not exist on functions.
53358         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53359         HAVE_FLOORL_AND_CEILL, respectively.
53360         Needed for Sun C on Solaris 10.
53361
53362 2007-11-11  Bruno Haible  <bruno@clisp.org>
53363
53364         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53365         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53366         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53367         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53368         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53369         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53370         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53371         HAVE_DECL_ROUNDF.
53372         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53373         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53374         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53375         of HAVE_DECL_ROUND*.
53376         * modules/math (Makefile.am): Update.
53377
53378 2007-11-10  Bruno Haible  <bruno@clisp.org>
53379
53380         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53381         ptrdiff_t as m4/intl.m4.
53382
53383 2007-11-10  Jim Meyering  <meyering@redhat.com>
53384
53385         Avoid link failure for the argmatch test.
53386         * tests/test-argmatch.c (usage): Define function to avoid a link
53387         failure: argmatch_die requires a usage function.
53388
53389 2007-11-09  Bruno Haible  <bruno@clisp.org>
53390
53391         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53392         * doc/functions/vsnprintf.texi: Likewise.
53393         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53394         with a size argument < 2.
53395
53396 2007-11-09  Bruno Haible  <bruno@clisp.org>
53397
53398         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53399         buffer. Fixes an inefficiency introduced on 2007-11-03.
53400
53401 2007-11-09  Bruno Haible  <bruno@clisp.org>
53402
53403         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53404         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53405
53406 2007-11-08  Jim Meyering  <meyering@redhat.com>
53407
53408         Change cache variable name prefix "jm_" to "gl_" everywhere.
53409         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53410         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53411         * m4/uptime.m4: s/gl_/jm_/
53412
53413 2007-11-07  Bruno Haible  <bruno@clisp.org>
53414
53415         Update to GNU gettext 0.17.
53416         * m4/intl.m4: Update to GNU gettext 0.17.
53417         * m4/po.m4: Likewise.
53418         * modules/gettext (Files): Remove m4/ulonglong.m4.
53419         (configure.ac): Require gettext infrastructure from version 0.17.
53420
53421 2007-11-06  Bruno Haible  <bruno@clisp.org>
53422
53423         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53424         symbolic values are not defined in a public header.
53425         * lib/freadable.c (freadable) [QNX]: Likewise.
53426         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53427         * lib/freading.c (freading) [QNX]: Likewise.
53428         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53429         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53430         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53431         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53432         Reported by Alain Magloire.
53433
53434         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53435
53436 2007-11-05  Bruno Haible  <bruno@clisp.org>
53437
53438         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53439         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53440         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53441         Reported by Eric Blake.
53442
53443 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53444             Bruno Haible  <bruno@clisp.org>
53445
53446         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53447         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53448         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53449         (malloc): Undefine also before including <stdlib.h>.
53450         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53451         Needed on OSF/1 4.0.
53452
53453 2007-11-05  Jim Meyering  <meyering@redhat.com>
53454
53455         git-version-gen: sync from coreutils.
53456         * build-aux/git-version-gen: Add comments.
53457         Change the first '-' to '.' in the snapshot version string,
53458         e.g., 6.9-377-08144 -> 6.9.377-08144
53459         Remove first parameter.
53460         Don't declare a version "-dirty" merely because a time
53461         stamp has changed.
53462
53463 2007-11-04  Bruno Haible  <bruno@clisp.org>
53464
53465         * lib/lock.h: Protect all macro definitions containing an 'if'
53466         statement through a "do { ... } while (0)".
53467         * lib/tls.h: Likewise.
53468
53469 2007-11-04  Bruno Haible  <bruno@clisp.org>
53470
53471         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
53472
53473 2007-11-04  Bruno Haible  <bruno@clisp.org>
53474
53475         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
53476         * modules/fprintf-posix (Depends-on): Add nocrash.
53477         * modules/snprintf-posix (Depends-on): Likewise.
53478         * modules/sprintf-posix (Depends-on): Likewise.
53479         * modules/vasnprintf-posix (Depends-on): Likewise.
53480         * modules/vasprintf-posix (Depends-on): Likewise.
53481         * modules/vfprintf-posix (Depends-on): Likewise.
53482         * modules/vsnprintf-posix (Depends-on): Likewise.
53483         * modules/vsprintf-posix (Depends-on): Likewise.
53484         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53485         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53486         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53487         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53488         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53489         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53490         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53491
53492 2007-11-04  Bruno Haible  <bruno@clisp.org>
53493
53494         * modules/nocrash: New file.
53495         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
53496         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
53497
53498 2007-11-04  Bruno Haible  <bruno@clisp.org>
53499
53500         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
53501         precision handling.
53502         * tests/test-vasprintf-posix.c (test_function): Likewise.
53503         * tests/test-snprintf-posix.h (test_function): Likewise.
53504         * tests/test-sprintf-posix.h (test_function): Likewise.
53505
53506         Fix *printf behaviour for large precisions on mingw and BeOS.
53507         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
53508         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
53509         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
53510         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53511         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53512         gl_PRINTF_PRECISION and test its result. Invoke
53513         gl_PREREQ_VASNPRINTF_PRECISION.
53514         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53515         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53516         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53517         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53518         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53519         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53520         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53521         * doc/functions/fprintf.texi: Update.
53522         * doc/functions/printf.texi: Update.
53523         * doc/functions/snprintf.texi: Update.
53524         * doc/functions/sprintf.texi: Update.
53525         * doc/functions/vfprintf.texi: Update.
53526         * doc/functions/vprintf.texi: Update.
53527         * doc/functions/vsnprintf.texi: Update.
53528         * doc/functions/vsprintf.texi: Update.
53529
53530 2007-11-04  Bruno Haible  <bruno@clisp.org>
53531
53532         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
53533
53534 2007-11-04  Bruno Haible  <bruno@clisp.org>
53535
53536         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
53537         Reported by Sylvain Beucler <beuc@gnu.org>.
53538
53539 2007-11-03  Bruno Haible  <bruno@clisp.org>
53540
53541         * tests/test-fprintf-posix2.sh: New file.
53542         * tests/test-fprintf-posix2.c: New file.
53543         * modules/fprintf-posix-tests (Files): Add them.
53544         (TESTS): Add test-fprintf-posix2.sh.
53545         (configure.ac): Check for getrlimit and setrlimit.
53546         (check_PROGRAMS): Add test-fprintf-posix2.
53547
53548         * tests/test-printf-posix2.sh: New file.
53549         * tests/test-printf-posix2.c: New file.
53550         * modules/printf-posix-tests (Files): Add them.
53551         (TESTS): Add test-printf-posix2.sh.
53552         (configure.ac): Check for getrlimit and setrlimit.
53553         (check_PROGRAMS): Add test-printf-posix2.
53554
53555         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
53556         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
53557         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
53558         (decode_double): New function, copied from decode_long_double.
53559         (scale10_round_decimal_decoded): New function, extracted from
53560         scale10_round_decimal_long_double.
53561         (scale10_round_decimal_long_double): Use it.
53562         (scale10_round_decimal_double): New function.
53563         (floorlog10): New function.
53564         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
53565         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
53566         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53567         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53568         gl_PRINTF_ENOMEM and test its result. Invoke
53569         gl_PREREQ_VASNPRINTF_ENOMEM.
53570         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53571         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53572         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53573         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53574         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53575         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53576         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53577         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
53578         * modules/snprintf-posix (Depends-on): Likewise.
53579         * modules/sprintf-posix (Depends-on): Likewise.
53580         * modules/vasnprintf-posix (Depends-on): Likewise.
53581         * modules/vasprintf-posix (Depends-on): Likewise.
53582         * modules/vfprintf-posix (Depends-on): Likewise.
53583         * modules/vsnprintf-posix (Depends-on): Likewise.
53584         * modules/vsprintf-posix (Depends-on): Likewise.
53585         * doc/functions/fprintf.texi: Update.
53586         * doc/functions/printf.texi: Update.
53587         * doc/functions/snprintf.texi: Update.
53588         * doc/functions/sprintf.texi: Update.
53589         * doc/functions/vfprintf.texi: Update.
53590         * doc/functions/vprintf.texi: Update.
53591         * doc/functions/vsnprintf.texi: Update.
53592         * doc/functions/vsprintf.texi: Update.
53593
53594 2007-11-03  Bruno Haible  <bruno@clisp.org>
53595
53596         * modules/frexp-nolibm-tests: New file.
53597
53598         * modules/frexp-nolibm: New file.
53599         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
53600
53601 2007-11-03  Bruno Haible  <bruno@clisp.org>
53602
53603         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
53604         value is C99 compliant.
53605         Needed for OSF/1 5.1.
53606
53607 2007-11-03  Bruno Haible  <bruno@clisp.org>
53608
53609         Fix out-of-memory handling of vasnprintf.
53610         * lib/printf-parse.c: Include <errno.h>.
53611         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
53612         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
53613         is already set.
53614
53615 2007-11-02  Eric Blake  <ebb9@byu.net>
53616
53617         Fix tests on cygwin.
53618         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
53619
53620 2007-11-01  Bruno Haible  <bruno@clisp.org>
53621
53622         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
53623         warning.
53624         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
53625         needed for POSIX compatibility.
53626
53627 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
53628
53629         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
53630         for compatibility with GNU.
53631
53632 2007-11-01  Bruno Haible  <bruno@clisp.org>
53633
53634         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
53635         (putenv): Renamed from rpl_putenv. Change argument type from
53636         'const char *' to 'char *'.
53637         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
53638         of defining putenv in config.h, just set REPLACE_PUTENV.
53639         * modules/putenv (Depends-on): Add stdlib.
53640         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53641         (Include): Use <stdlib.h>.
53642         * lib/stdlib.in.h (putenv): New declaration.
53643         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
53644         REPLACE_PUTENV.
53645         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
53646         REPLACE_PUTENV.
53647         Needed for MacOS X 10.5.0.
53648         Reported by Peter O'Gorman <peter@pogma.com>.
53649
53650 2007-11-01  Jim Meyering  <meyering@redhat.com>
53651
53652         Treat an empty date string exactly like "0".
53653         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
53654         if the remaining date string (to be parsed) is empty, use "0".
53655         Reported by Mischa Molhoek and discussed in this thread:
53656         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
53657
53658 2007-10-31  Bruno Haible  <bruno@clisp.org>
53659
53660         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
53661         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
53662         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
53663         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
53664         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
53665         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
53666
53667 2007-10-31  Bruno Haible  <bruno@clisp.org>
53668
53669         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
53670         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
53671         (AC_TYPE_LONG_LONG_INT): Use it.
53672         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
53673         it as well.
53674         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
53675         to m4/longlong.m4.
53676         * modules/stdint (Files): Remove m4/ulonglong.m4.
53677         * modules/strtoull (Files): Use m4/longlong.m4 instead of
53678         m4/ulonglong.m4.
53679         * modules/strtoumax (Files): Likewise.
53680
53681 2007-10-30  Bruno Haible  <bruno@clisp.org>
53682
53683         * modules/xvasprintf-posix: New file.
53684         Suggested by Eric Blake.
53685
53686 2007-10-30  Bruno Haible  <bruno@clisp.org>
53687
53688         * modules/xprintf-posix-tests: New file.
53689         * tests/test-xprintf-posix.sh: New file.
53690         * tests/test-xprintf-posix.c: New file.
53691         * tests/test-xfprintf-posix.c: New file.
53692
53693         * modules/xprintf-posix: New file.
53694
53695 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53696
53697         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
53698         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
53699         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
53700
53701 2007-10-29  Bruno Haible  <bruno@clisp.org>
53702
53703         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
53704         contain the special marker '_cv_'.
53705         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
53706         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
53707         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
53708         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
53709         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
53710         Reported by Ralf Wildenhues.
53711
53712 2007-10-29  Bruno Haible  <bruno@clisp.org>
53713
53714         * gnulib-tool (func_import): When --lgpl is not specified, set
53715         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
53716         GPLv3.
53717         Reported by Simon Josefsson.
53718
53719 2007-10-28  Bruno Haible  <bruno@clisp.org>
53720
53721         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
53722         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
53723         HAVE_DECL_ISFINITE.
53724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
53725         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
53726         HAVE_DECL_ISFINITE.
53727
53728 2007-10-28  Bruno Haible  <bruno@clisp.org>
53729
53730         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
53731         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
53732
53733 2007-10-28  Bruno Haible  <bruno@clisp.org>
53734
53735         Fix link errors with Sun C 5.0 on Solaris 10.
53736         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
53737         function is declared but not present in the compiler's libm.
53738         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
53739         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
53740         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
53741         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
53742         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
53743         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
53744         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
53745         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
53746         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
53747         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
53748         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
53749         HAVE_DECL_FLOORL.
53750
53751 2007-10-28  Bruno Haible  <bruno@clisp.org>
53752
53753         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
53754         gl_FUNC_FLOORL. Cache the result.
53755         (gl_FUNC_FLOORL): Use it.
53756         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
53757         gl_FUNC_CEILL. Cache the result.
53758         (gl_FUNC_CEILL): Use it.
53759
53760         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
53761         gl_FUNC_FLOOR. Cache the result.
53762         (gl_FUNC_FLOOR): Use it.
53763         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
53764         gl_FUNC_CEIL. Cache the result.
53765         (gl_FUNC_CEIL): Use it.
53766
53767         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
53768         gl_FUNC_FLOORF. Cache the result.
53769         (gl_FUNC_FLOORF): Use it.
53770         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
53771         gl_FUNC_CEILF. Cache the result.
53772         (gl_FUNC_CEILF): Use it.
53773
53774 2007-10-28  Bruno Haible  <bruno@clisp.org>
53775
53776         * gnulib-tool: Allow specifying the LGPL version number through
53777         --lgpl=2 or --lgpl=3.
53778         (func_usage): Document --lgpl with argument.
53779         Handle --lgpl=... arguments.
53780         (func_import): Recognize also gl_LGPL calls with an argument. When
53781         --lgpl=2 is used and the module's license is just LGPL, report an
53782         error. Set sed_transform_lib_file according to the lgpl variable. In
53783         the generated files, use --lgpl or gl_LGPL invocations with argument,
53784         if necessary.
53785         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
53786         an LGPv2+ license.
53787         * doc/gnulib-tool.texi (Modified imports): Update explanation of
53788         gl_LGPL macro.
53789
53790 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53791             Bruno Haible  <bruno@clisp.org>
53792
53793         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
53794         (u16_uctomb_aux): Likewise.
53795         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
53796         !HAVE_INLINE.
53797         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
53798
53799 2007-10-28  Bruno Haible  <bruno@clisp.org>
53800
53801         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
53802         Invoke AM_GETTEXT_OPTION if it exists.
53803         * modules/vasprintf: Likewise.
53804         * modules/verror: Likewise.
53805         * modules/xprintf: Likewise.
53806         * modules/xvasprintf: Likewise.
53807
53808 2007-10-27  Ben Pfaff  <blp@gnu.org>
53809
53810         * lib/math.in.h: Define isfinite macro and prototypes for
53811         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
53812         implementations.
53813         * m4/math_h.m4: New substitutions for isfinite module.
53814         * lib/isfinite.c: New file.
53815         * m4/isfinite.m4: New file.
53816         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
53817         * modules/isfinite: New file.
53818         * modules/isfinite-tests: New file.
53819         * tests/tests-isfinite.c: New file.
53820         * doc/functions/isfinite.texi: Mention isfinite module.
53821         * MODULES.html.sh: Mention new module.
53822
53823 2007-10-27  Ben Pfaff  <blp@gnu.org>
53824
53825         Ralf Wildenhues reported that Tru64 4.0D declares the round
53826         functions but does not have definitions.
53827         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
53828         cannot be found in any library, set the output variable to
53829         "missing" instead of "".
53830         * m4/round.m4: Also use our substitute if we cannot find round in
53831         any library, even if it is declared.
53832         * m4/roundf.m4: Likewise for roundf.
53833         * m4/roundl.m4: Likewise for roundl.
53834         * lib/math.in.h: Undefine roundf, round, roundl before defining
53835         their replacements, to allow for hypothetical systems where these
53836         may be defined as macros but not available in libraries.
53837
53838 2007-10-27  Bruno Haible  <bruno@clisp.org>
53839
53840         * doc/gnulib.texi: Invoke @firstparagraphindent.
53841         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
53842         changes in gnulib.
53843         (Source changes): New section.
53844
53845 2007-10-26  Bruno Haible  <bruno@clisp.org>
53846
53847         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
53848         borrowed from autoconf.
53849
53850 2007-10-26  Bruno Haible  <bruno@clisp.org>
53851
53852         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
53853         strerror returned the empty string. Needed on HP-UX 11.00.
53854
53855 2007-10-24  Micah Cowan  <micah@cowan.name>
53856
53857         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
53858         * build-aux/bootstrap: Remove support for now-unnecessary option,
53859         --cvs-user, and envvars CVS_USER, CVS_RSH.
53860
53861 2007-10-24  Jim Meyering  <meyering@redhat.com>
53862
53863         Avoid diagnostics from sha1sum when there is no cached checksum.
53864         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
53865         if the po.s1 file hasn't been created yet.
53866
53867         * build-aux/bootstrap: Sync from coreutils:
53868         2007-10-24  Jim Meyering  <meyering@redhat.com>
53869         Get gnulib from the git repository, not from an obsolete cvs one.
53870         * build-aux/bootstrap: Suggestion from Micah Cowan.
53871         2007-10-04  Jim Meyering  <jim@meyering.net>
53872         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
53873         (update_po_files): Work also when there are no .po files in po/.
53874
53875 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
53876
53877         * README: Append ".git" to git and cg examples.
53878         Problem reported by Benoit Sigoure.
53879
53880 2007-10-23  Micah Cowan  <micah@cowan.name>
53881
53882         * users.txt: Add wget.
53883
53884 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53885
53886         Fix linking of some unistdio tests on FreeBSD.
53887         * modules/unistdio/u16-vsnprintf-tests
53888         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
53889         * modules/unistdio/u16-vsprintf-tests
53890         (test_u16_vsnprintf1_LDADD): Likewise.
53891         * modules/unistdio/u32-vsnprintf-tests
53892         (test_u32_vsnprintf1_LDADD): Likewise.
53893         * modules/unistdio/u32-vsprintf-tests
53894         (test_u32_vsprintf1_LDADD): Likewise.
53895         * modules/unistdio/u8-vsnprintf-tests
53896         (test_u8_vsnprintf1_LDADD): Likewise.
53897         * modules/unistdio/u8-vsprintf-tests
53898         (test_u8_vsprintf1_LDADD): Likewise.
53899         * modules/unistdio/ulc-vsnprintf-tests
53900         (test_ulc_vsnprintf1_LDADD): Likewise.
53901         * modules/unistdio/ulc-vsprintf-tests
53902         (test_ulc_vsprintf1_LDADD): Likewise.
53903
53904         Fix linking of some uniconv tests on FreeBSD.
53905         * modules/uniconv/u16-conv-from-enc-tests
53906         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
53907         * modules/uniconv/u16-conv-to-enc-tests
53908         (test_u16_conv_to_enc_LDADD): Likewise.
53909         * modules/uniconv/u16-strconv-from-enc-tests
53910         (test_u16_strconv_from_enc_LDADD): Likewise.
53911         * modules/uniconv/u16-strconv-to-enc-tests
53912         (test_u16_strconv_to_enc_LDADD): Likewise.
53913         * modules/uniconv/u32-conv-from-enc-tests
53914         (test_u32_conv_from_enc_LDADD): Likewise.
53915         * modules/uniconv/u32-conv-to-enc-tests
53916         (test_u32_conv_to_enc_LDADD): Likewise.
53917         * modules/uniconv/u32-strconv-from-enc-tests
53918         (test_u32_strconv_from_enc_LDADD): Likewise.
53919         * modules/uniconv/u32-strconv-to-enc-tests
53920         (test_u32_strconv_to_enc_LDADD): Likewise.
53921         * modules/uniconv/u8-conv-from-enc-tests
53922         (test_u8_conv_from_enc_LDADD): Likewise.
53923         * modules/uniconv/u8-conv-to-enc-tests
53924         (test_u8_conv_to_enc_LDADD): Likewise.
53925         * modules/uniconv/u8-strconv-from-enc-tests
53926         (test_u8_strconv_from_enc_LDADD): Likewise.
53927         * modules/uniconv/u8-strconv-to-enc-tests
53928         (test_u8_strconv_to_enc_LDADD): Likewise.
53929
53930 2007-10-22  Bruno Haible  <bruno@clisp.org>
53931
53932         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
53933         size.
53934
53935 2007-10-22  Eric Blake  <ebb9@byu.net>
53936
53937         Tweak x*printf documentation.
53938         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
53939         variable name and comments.
53940         Suggested by Bruno Haible.
53941
53942 2007-10-22  Bruno Haible  <bruno@clisp.org>
53943
53944         * lib/acl.c (copy_acl): Fix file name in comment.
53945
53946 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
53947
53948         Fix Tru64 problem with stdbool.h.
53949         * lib/stdbool.in.h (false, true):
53950         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
53951         Don't declare as an enum in this situation; it runs afoul of Tru64.
53952         Problem reported by Steven M. Schweda in
53953         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
53954
53955 2007-10-22  Eric Blake  <ebb9@byu.net>
53956
53957         Also wrap vf?printf.
53958         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
53959         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
53960         (xvprintf, xvfprintf): New functions.
53961
53962 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53963
53964         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
53965         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
53966
53967         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
53968         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
53969
53970 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
53971
53972         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
53973         by Bruno Haible.
53974
53975 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53976
53977         * lib/getloadavg.c
53978         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
53979         Undef `sys' after including sys/table.h, for Tru64 4.0D.
53980
53981         * tests/test-i-ring.c: Work for C89.
53982
53983 2007-10-22  Bruno Haible  <bruno@clisp.org>
53984
53985         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
53986         -1u, in preprocessor expression, so that we don't test for the bug
53987         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
53988         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
53989
53990 2007-10-22  Eric Blake  <ebb9@byu.net>
53991
53992         * tests/test-yesno.sh: Silence stderr during test.
53993
53994 2007-10-22  Simon Josefsson  <simon@josefsson.org>
53995
53996         * modules/crypto/gc-camellia: New file.
53997
53998         * m4/gc-camellia.m4: New file.
53999
54000         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54001
54002         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54003
54004 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54005
54006         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54007         --help to stdout.  Reported by sms@antinode.org (Steven
54008         M. Schweda).
54009
54010 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54011
54012         * users.txt: Fix link to libksba.
54013
54014 2007-10-21  Ben Pfaff  <blp@gnu.org>
54015
54016         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54017         round.c roundf implementation that depends on floorf and ceilf to
54018         be tested unconditionally.
54019
54020 2007-10-21  Ben Pfaff  <blp@gnu.org>
54021
54022         * m4/check-libm-func.m4: Removed.
54023         * m4/check-math-lib.m4: New file.
54024         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54025         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54026         definition and lack of AC_LIBOBJ([roundf]).
54027         * m4/roundl.m4: Ditto, and similarly for roundl.
54028         * modules/round: Reference new m4 file.
54029         * modules/roundf: Ditto.
54030         * modules/roundl: Ditto.
54031         * tests/test-round2.c (main): Use ROUND instead of round.
54032         Bug report from Bruno Haible.
54033
54034 2007-10-21  Bruno Haible  <bruno@clisp.org>
54035
54036         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54037         context.
54038
54039 2007-10-21  Bruno Haible  <bruno@clisp.org>
54040
54041         * tests/test-wcwidth.c (main): Allow negative result for some control
54042         characters.
54043
54044         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54045         Needed on OSF/1 5.1.
54046
54047 2007-10-21  Bruno Haible  <bruno@clisp.org>
54048
54049         * tests/test-floorf1.c: Include isnanf.h.
54050         (main): Use isnanf() instead of isnan().
54051         * tests/test-ceilf1.c: Include isnanf.h.
54052         (main): Use isnanf() instead of isnan().
54053         * tests/test-truncf1.c: Include isnanf.h.
54054         (main): Use isnanf() instead of isnan().
54055         * tests/test-roundf1.c: Include isnanf.h.
54056         (main): Use isnanf() instead of isnan().
54057
54058 2007-10-21  Eric Blake  <ebb9@byu.net>
54059
54060         * users.txt: Update URL for m4.
54061
54062 2007-10-21  Bruno Haible  <bruno@clisp.org>
54063
54064         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54065
54066 2007-10-21  Bruno Haible  <bruno@clisp.org>
54067
54068         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54069         Git's management files if the CVS files are not present.
54070
54071 2007-10-20  Bruno Haible  <bruno@clisp.org>
54072
54073         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54074         gcc-3.4.x.
54075
54076 2007-10-20  Ben Pfaff  <blp@gnu.org>
54077
54078         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54079         implementations.
54080         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54081         * lib/round.c: New file.
54082         * lib/roundf.c: New file.
54083         * lib/roundl.c: New file.
54084         * m4/round.m4: New file.
54085         * m4/roundf.m4: New file.
54086         * m4/roundl.m4: New file.
54087         * m4/check-libm-func-m4: New file.
54088         * modules/math: Replace round, roundf, roundl related @VARS@ in
54089         math.in.h.
54090         * modules/round: New file.
54091         * modules/round-tests: New file.
54092         * modules/roundf: New file.
54093         * modules/roundf-tests: New file.
54094         * modules/roundl: New file.
54095         * modules/roundl-tests: New file.
54096         * tests/test-round1.c: New file.
54097         * tests/test-round2.c: New file.
54098         * tests/test-roundf1.c: New file.
54099         * tests/test-roundf2.c: New file.
54100         * tests/test-roundl.c: New file.
54101         * doc/functions/round.texi: Mention round module.
54102         * doc/functions/roundf.texi: Mention roundf module.
54103         * doc/functions/roundl.texi: Mention roundl module.
54104         * MODULES.html.sh: Mention new modules.
54105         Thanks to Bruno Haible for suggestions.
54106
54107 2007-10-20  Jim Meyering  <meyering@redhat.com>
54108
54109         * lib/xprintf.c: Include <config.h> unconditionally.
54110
54111         Change xprintf's license to GPL.
54112         * modules/xprintf (License): s/LGPL/GPL/, since this module
54113         depends on modules (exit and exitfail) which are GPL.
54114         Suggestion from Bruno Haible.
54115
54116         xprintf fixes.
54117         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54118         Use a clearer diagnostic.
54119         Patch from Bruno Haible.
54120
54121 2007-10-20  Bruno Haible  <bruno@clisp.org>
54122
54123         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54124         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54125         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54126
54127 2007-10-20  Bruno Haible  <bruno@clisp.org>
54128
54129         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54130         precision in the comparison result > x - 1 or similar.
54131         * tests/test-ceilf2.c (correct_result_p): Likewise.
54132         * tests/test-truncf2.c (correct_result_p): Likewise.
54133         * tests/test-trunc2.c (correct_result_p): Likewise.
54134         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54135
54136 2007-10-20  Bruno Haible  <bruno@clisp.org>
54137
54138         * modules/ceil: New file.
54139         * m4/ceil.m4: New file.
54140         * doc/functions/ceil.texi: Mention the 'ceil' module.
54141
54142 2007-10-20  Bruno Haible  <bruno@clisp.org>
54143
54144         * modules/floor: New file.
54145         * m4/floor.m4: New file.
54146         * doc/functions/floor.texi: Mention the 'floor' module.
54147
54148 2007-10-20  Bruno Haible  <bruno@clisp.org>
54149
54150         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54151         of %a.
54152         * modules/floorf-tests (Depends-on): Likewise.
54153         * modules/truncf-tests (Depends-on): Likewise.
54154         * modules/trunc-tests (Depends-on): Likewise.
54155         Reported by Ben Pfaff.
54156
54157 2007-10-19  Jim Meyering  <meyering@redhat.com>
54158
54159         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54160         Don't bother testing specific errno values.  Just test ferror.
54161
54162         New module: xprintf
54163         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54164
54165 2007-10-19  Bruno Haible  <bruno@clisp.org>
54166
54167         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54168         syntax.
54169         * modules/javaexec (Makefile.am): Likewise.
54170         * modules/relocatable-prog (Makefile.am): Likewise.
54171         Suggested by Jim Meyering.
54172
54173 2007-10-18  Bruno Haible  <bruno@clisp.org>
54174
54175         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54176         Reported by Jim Meyering.
54177
54178 2007-10-18  Eric Blake  <ebb9@byu.net>
54179
54180         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54181
54182 2007-10-18  Bruno Haible  <bruno@clisp.org>
54183
54184         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54185         the format string into writable memory. Needed in Fortify conditions.
54186
54187 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54188             Bruno Haible  <bruno@clisp.org>
54189
54190         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54191         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54192         * modules/trim (Depends-on): Add mbchar.
54193         (configure.ac): Add gl_FUNC_MBRTOWC.
54194         (Makefile.am): Augment lib_SOURCES.
54195
54196 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54197
54198         Modify glob.c to use fstatat and dirfd, to simplify it.
54199         Suggested by Eric Blake.
54200         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54201         Don't include <stdbool.h>; not used.
54202         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54203         (link_exists_p): Simplify implementation, since we can now assume
54204         dirfd and fstatat.
54205         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54206
54207 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54208
54209         * gnulib-tool (func_get_dependencies): Fix sed script to
54210         match only tests.
54211
54212 2007-10-17  Bruno Haible  <bruno@clisp.org>
54213
54214         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54215         allow locale names without encoding suffix.
54216         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54217         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54218
54219 2007-10-16  Bruno Haible  <bruno@clisp.org>
54220
54221         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54222         * lib/getgroups.c (getgroups): Likewise.
54223         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54224
54225 2007-10-16  Bruno Haible  <bruno@clisp.org>
54226
54227         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54228         * modules/malloc-posix (License): Likewise.
54229         * modules/realloc-posix (License): Likewise.
54230         * modules/calloc-posix (License): Likewise.
54231         * modules/intprops (License): Change from GPL to LGPL, with
54232         Paul Eggert's approval.
54233
54234 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54235
54236         Merge glibc changes into lib/glob.c.
54237
54238         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54239         2007-10-15 04:59:03 UTC.  Here are the changes:
54240
54241         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54242
54243         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54244
54245         * lib/glob.c: Add some branch prediction throughout.
54246
54247         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54248
54249         [BZ #5103]
54250         * lib/glob.c (glob): Recognize patterns starting \/.
54251
54252         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54253
54254         [BZ #3996]
54255         * lib/glob.c (attribute_hidden): Define if not defined.
54256         (glob): Unescape dirname, filename or username when needed and not
54257         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54258         is NULL.  Handle unescaped [ in pattern without closing ].
54259         Don't pass GLOB_CHECK down to recursive glob for directories.
54260         (__glob_pattern_type): New function.
54261         (__glob_pattern_p): Implement using __glob_pattern_type.
54262         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54263         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54264         Remove unreachable code.
54265
54266         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54267
54268         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54269         explain why there are no leaks.
54270
54271         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54272
54273         [BZ #3253]
54274         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54275         time, rather allocate increasingly bigger arrays of pointers, if
54276         possible with alloca, if too large with malloc.
54277
54278 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54279
54280         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54281         Problem reported by H.Merijn Brand in
54282         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54283         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54284         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54285
54286 2007-10-15  Bruno Haible  <bruno@clisp.org>
54287
54288         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54289         with explicit rpl_ prefix.
54290         * lib/fopen.c (fopen): Likewise.
54291         * lib/freopen.c (freopen): Likewise.
54292         * lib/iconv.c (iconv): Likewise.
54293         * lib/iconv_close.c (iconv_close): Likewise.
54294
54295 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54296
54297         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54298
54299 2007-10-15  Bruno Haible  <bruno@clisp.org>
54300
54301         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54302         <stddef.h> instead of <stdlib.h> since we only need NULL.
54303         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54304
54305 2007-10-15  Bruno Haible  <bruno@clisp.org>
54306
54307         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54308         Replace paragraph talking about LIBOBJS.
54309         Reported by Colin Watson <cjwatson@debian.org>.
54310
54311 2007-10-15  Bruno Haible  <bruno@clisp.org>
54312
54313         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54314         <stdlib.h> before using NULL.
54315
54316 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54317
54318         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54319         Reported by Albert Chin <china@thewrittenword.com>.
54320
54321 2007-10-14  Bruno Haible  <bruno@clisp.org>
54322
54323         * modules/iconv_open-utf-tests: New file.
54324         * tests/test-iconv-utf.c: New file.
54325
54326         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54327         * modules/iconv_open-utf: New file.
54328         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54329         (iconv, iconv_close): New declarations.
54330         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54331         be defined.
54332         (iconv_open): Add special handling of conversion between UTF-8 and
54333         UTF-{16,32}{BE,LE}.
54334         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54335         * lib/iconv_close.c: New file.
54336         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54337         gl_FUNC_ICONV_OPEN.
54338         (gl_FUNC_ICONV_OPEN): Use it.
54339         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54340         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54341         and REPLACE_ICONV_UTF.
54342         * modules/iconv_open (Depends-on): Add c-strcase.
54343         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54344         ICONV_CONST.
54345         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54346
54347 2007-10-13  Albert Chin  <china@thewrittenword.com>
54348             Bruno Haible  <bruno@clisp.org>
54349
54350         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54351         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54352
54353 2007-10-13  Bruno Haible  <bruno@clisp.org>
54354
54355         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54356         defined, use the ISO C99 inline semantics.
54357         * lib/argp.h (ARGP_EI): Likewise.
54358
54359 2007-10-13  Bruno Haible  <bruno@clisp.org>
54360
54361         Handle 'inline' change in gcc 4.3.0.
54362         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54363         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54364         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54365         argp_fmtstream_point): Disable 'extern' declaration if the function
54366         definition is going to be provided inline.
54367         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54368         semantics, not the ISO C99 inline semantics.
54369         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54370         'extern' declaration if the function definition is going to be provided
54371         inline.
54372         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54373         the GNU C inline semantics, not the ISO C99 inline semantics. With
54374         GCC 4.2, avoid a warning.
54375
54376 2007-10-13  Bruno Haible  <bruno@clisp.org>
54377
54378         * lib/freading.h (freading): Enable the use of __freading for
54379         glibc >= 2.7.
54380         * lib/freading.c (freading): Likewise.
54381
54382 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54383
54384         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54385         "warning: C99 inline functions are not supported; using GNU89".
54386
54387 2007-10-12  Bruno Haible  <bruno@clisp.org>
54388
54389         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54390         of 2.
54391         * tests/test-ceilf2.c: New file.
54392         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54393
54394         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54395         * modules/ceilf-tests: Update.
54396
54397 2007-10-12  Bruno Haible  <bruno@clisp.org>
54398
54399         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54400         of 2.
54401         * tests/test-floorf2.c: New file.
54402         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54403
54404         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54405         * modules/floorf-tests: Update.
54406
54407 2007-10-12  Bruno Haible  <bruno@clisp.org>
54408
54409         * tests/test-trunc2.c: New file.
54410         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54411
54412         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54413         * modules/trunc-tests: Update.
54414
54415 2007-10-12  Bruno Haible  <bruno@clisp.org>
54416
54417         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54418         of 2.
54419         * tests/test-truncf2.c: New file.
54420         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54421
54422         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54423         * modules/truncf-tests: Update.
54424
54425 2007-10-11  Eric Blake  <ebb9@byu.net>
54426
54427         Don't claim strerror is broken on Interix.
54428         * doc/functions/strerror.texi (strerror): Known broken systems are
54429         now Solaris 8, and not Interix.
54430         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54431         Interix on cross-compile.
54432         Reported by Martin Koeppe in
54433         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54434
54435 2007-10-11  Bruno Haible  <bruno@clisp.org>
54436
54437         * modules/i-ring-tests: New file.
54438         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54439         instead of assert.
54440
54441 2007-10-11  Bruno Haible  <bruno@clisp.org>
54442
54443         * modules/filenamecat-tests: New file.
54444         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54445         * lib/filenamecat.c: Remove test code.
54446
54447 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54448
54449         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54450
54451         * lib/strerror.c: Include <string.h> always, to test interface,
54452         and to remove the need for the dummy.
54453         Include intprops.h to compute width instead of doing it ourselves
54454         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54455         (strerror): Define it to return NULL if there's no system strerror.
54456         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54457         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54458         ancient pre-strerror Unix systems well any more.  Saying "unknown
54459         system error" is enough.
54460         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54461         simpler strerror.c implementation.
54462         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54463         Simplify the tests to reflect the simpler strerror implementation.
54464         * modules/strerror (Depends-on): Add intprops.
54465
54466 2007-10-09  Eric Blake  <ebb9@byu.net>
54467
54468         Silence test-fpending.
54469         * modules/fpending-tests (Files): Add wrapper script.
54470         * tests/test-fpending.sh: New file.
54471
54472 2007-10-09  Bruno Haible  <bruno@clisp.org>
54473
54474         * MODULES.html.sh (func_module): Don't create a hyperlink for
54475         function names like 'printf_frexp'.
54476         (Misc): Add crc, memxor.
54477         (Characteristics of floating types): New section.
54478         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
54479         isnanf-nolibm, signbit, trunc, truncf, truncl.
54480         (Enhancements for ISO C 99 functions): New subsection Input/output.
54481         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
54482         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
54483         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
54484         (Compatibility checks for POSIX:2001 functions): Add clock-time.
54485         (Enhancements for POSIX:2001 functions): Add chdir-long.
54486         (File system functions): Add areadlink, chdir-safer, read-file.
54487         Remove cycle-check.
54488         (File system as inode set): New section.
54489         (Date and time): Add gethrxtime.
54490         (Multithreading): Add openmp.
54491         (Internationalization functions): Add localename.
54492         (Unicode string functions): Add unistr/u*-mbsnlen.
54493         (Support for maintaining and releasing projects): Add git-version-gen.
54494         (Lone files): Remove directories.
54495
54496 2007-10-08  Ben Pfaff  <blp@gnu.org>
54497
54498         * lib/xmalloca.h: Fix typo in comment.
54499
54500 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54501
54502         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
54503         when avoiding problems with integer overflow.  Use a portable test
54504         instead.
54505
54506 2007-10-08  Simon Josefsson  <simon@josefsson.org>
54507
54508         * modules/dummy (License): Change to LGPLv2+.
54509         * modules/float (License): Likewise
54510         * modules/realloc (License): Likewise
54511         * modules/stdlib (License): Likewise
54512
54513 2007-10-07  Bruno Haible  <bruno@clisp.org>
54514
54515         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
54516         * floor.c (TWO_MANT_DIG): Likewise.
54517         * ceil.c (TWO_MANT_DIG): Likewise.
54518         Reported by Ben Pfaff.
54519
54520 2007-10-07  Bruno Haible  <bruno@clisp.org>
54521
54522         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
54523         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
54524         * lib/frexp.c (FUNC): Likewise.
54525         * lib/printf-frexp.h (printf_frexp): Likewise.
54526         * lib/printf-frexpl.h (printf_frexpl): Likewise.
54527         * lib/printf-frexp.c (FUNC): Likewise.
54528         Suggested by Jim Meyering.
54529
54530 2007-10-07  Jim Meyering  <meyering@redhat.com>
54531
54532         Make xnanosleep's integer overflow test more robust.
54533         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
54534         so that gcc-4.3.0 doesn't optimize away this test for overflow.
54535
54536 2007-10-07  Bruno Haible  <bruno@clisp.org>
54537
54538         * NEWS: Mention the license change.
54539
54540         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
54541         abbreviations in the modules files.
54542
54543         Change copyright notice from GPLv2+ to GPLv3+.
54544         * README: Change copyright notice.
54545         * MODULES.html.sh: Likewise.
54546         * build-aux/bootstrap.conf: Likewise.
54547         * build-aux/config.libpath: Likewise.
54548         * build-aux/csharpcomp.sh.in: Likewise.
54549         * build-aux/csharpexec.sh.in: Likewise.
54550         * build-aux/install-reloc: Likewise.
54551         * build-aux/javacomp.sh.in: Likewise.
54552         * build-aux/javaexec.sh.in: Likewise.
54553         * build-aux/ldd.sh.in: Likewise.
54554         * build-aux/reloc-ldflags: Likewise.
54555         * build-aux/relocatable.sh.in: Likewise.
54556         * build-aux/x-to-1.in: Likewise.
54557         * check-module: Likewise.
54558         * config/srclistvars.sh: Likewise.
54559         * gnulib-tool: Likewise.
54560         * lib/acl-internal.h: Likewise.
54561         * lib/acl.c: Likewise.
54562         * lib/acl.h: Likewise.
54563         * lib/acl_entries.c: Likewise.
54564         * lib/areadlink-with-size.c: Likewise.
54565         * lib/areadlink.c: Likewise.
54566         * lib/areadlink.h: Likewise.
54567         * lib/argmatch.c: Likewise.
54568         * lib/argmatch.h: Likewise.
54569         * lib/argp-ba.c: Likewise.
54570         * lib/argp-eexst.c: Likewise.
54571         * lib/argp-fmtstream.c: Likewise.
54572         * lib/argp-fmtstream.h: Likewise.
54573         * lib/argp-fs-xinl.c: Likewise.
54574         * lib/argp-help.c: Likewise.
54575         * lib/argp-namefrob.h: Likewise.
54576         * lib/argp-parse.c: Likewise.
54577         * lib/argp-pin.c: Likewise.
54578         * lib/argp-pv.c: Likewise.
54579         * lib/argp-pvh.c: Likewise.
54580         * lib/argp-xinl.c: Likewise.
54581         * lib/argp.h: Likewise.
54582         * lib/at-func.c: Likewise.
54583         * lib/atanl.c: Likewise.
54584         * lib/backupfile.c: Likewise.
54585         * lib/backupfile.h: Likewise.
54586         * lib/basename.c: Likewise.
54587         * lib/binary-io.h: Likewise.
54588         * lib/byteswap.in.h: Likewise.
54589         * lib/c-stack.c: Likewise.
54590         * lib/c-stack.h: Likewise.
54591         * lib/c-strcasestr.c: Likewise.
54592         * lib/c-strcasestr.h: Likewise.
54593         * lib/c-strstr.c: Likewise.
54594         * lib/c-strstr.h: Likewise.
54595         * lib/c-strtod.c: Likewise.
54596         * lib/calloc.c: Likewise.
54597         * lib/canon-host.c: Likewise.
54598         * lib/canon-host.h: Likewise.
54599         * lib/canonicalize-lgpl.c: Likewise.
54600         * lib/canonicalize.c: Likewise.
54601         * lib/canonicalize.h: Likewise.
54602         * lib/ceil.c: Likewise.
54603         * lib/ceilf.c: Likewise.
54604         * lib/ceill.c: Likewise.
54605         * lib/chdir-long.c: Likewise.
54606         * lib/chdir-long.h: Likewise.
54607         * lib/chdir-safer.c: Likewise.
54608         * lib/chdir-safer.h: Likewise.
54609         * lib/chown.c: Likewise.
54610         * lib/classpath.c: Likewise.
54611         * lib/classpath.h: Likewise.
54612         * lib/clean-temp.c: Likewise.
54613         * lib/clean-temp.h: Likewise.
54614         * lib/cloexec.c: Likewise.
54615         * lib/close-stream.c: Likewise.
54616         * lib/closein.c: Likewise.
54617         * lib/closein.h: Likewise.
54618         * lib/closeout.c: Likewise.
54619         * lib/closeout.h: Likewise.
54620         * lib/concat-filename.c: Likewise.
54621         * lib/copy-file.c: Likewise.
54622         * lib/copy-file.h: Likewise.
54623         * lib/count-one-bits.h: Likewise.
54624         * lib/crc.c: Likewise.
54625         * lib/crc.h: Likewise.
54626         * lib/creat-safer.c: Likewise.
54627         * lib/csharpcomp.c: Likewise.
54628         * lib/csharpcomp.h: Likewise.
54629         * lib/csharpexec.c: Likewise.
54630         * lib/csharpexec.h: Likewise.
54631         * lib/cycle-check.c: Likewise.
54632         * lib/cycle-check.h: Likewise.
54633         * lib/diacrit.c: Likewise.
54634         * lib/diacrit.h: Likewise.
54635         * lib/diffseq.h: Likewise.
54636         * lib/dirchownmod.c: Likewise.
54637         * lib/dirent.in.h: Likewise.
54638         * lib/dirfd.c: Likewise.
54639         * lib/dirfd.h: Likewise.
54640         * lib/dirname.c: Likewise.
54641         * lib/dirname.h: Likewise.
54642         * lib/dummy.c: Likewise.
54643         * lib/dup-safer.c: Likewise.
54644         * lib/dup2.c: Likewise.
54645         * lib/eealloc.h: Likewise.
54646         * lib/error.c: Likewise.
54647         * lib/error.h: Likewise.
54648         * lib/euidaccess.c: Likewise.
54649         * lib/exclude.c: Likewise.
54650         * lib/exclude.h: Likewise.
54651         * lib/execute.c: Likewise.
54652         * lib/execute.h: Likewise.
54653         * lib/exitfail.c: Likewise.
54654         * lib/exitfail.h: Likewise.
54655         * lib/expl.c: Likewise.
54656         * lib/fatal-signal.c: Likewise.
54657         * lib/fatal-signal.h: Likewise.
54658         * lib/fbufmode.c: Likewise.
54659         * lib/fbufmode.h: Likewise.
54660         * lib/fchdir.c: Likewise.
54661         * lib/fchmodat.c: Likewise.
54662         * lib/fchownat.c: Likewise.
54663         * lib/fcntl--.h: Likewise.
54664         * lib/fcntl-safer.h: Likewise.
54665         * lib/fcntl.in.h: Likewise.
54666         * lib/fd-safer.c: Likewise.
54667         * lib/fflush.c: Likewise.
54668         * lib/file-has-acl.c: Likewise.
54669         * lib/file-set.c: Likewise.
54670         * lib/file-type.c: Likewise.
54671         * lib/file-type.h: Likewise.
54672         * lib/fileblocks.c: Likewise.
54673         * lib/filemode.c: Likewise.
54674         * lib/filemode.h: Likewise.
54675         * lib/filename.h: Likewise.
54676         * lib/filenamecat.c: Likewise.
54677         * lib/filenamecat.h: Likewise.
54678         * lib/findprog.c: Likewise.
54679         * lib/findprog.h: Likewise.
54680         * lib/float.in.h: Likewise.
54681         * lib/floor.c: Likewise.
54682         * lib/floorf.c: Likewise.
54683         * lib/floorl.c: Likewise.
54684         * lib/fopen-safer.c: Likewise.
54685         * lib/fopen.c: Likewise.
54686         * lib/fpending.c: Likewise.
54687         * lib/fpending.h: Likewise.
54688         * lib/fprintf.c: Likewise.
54689         * lib/fprintftime.h: Likewise.
54690         * lib/fpucw.h: Likewise.
54691         * lib/fpurge.c: Likewise.
54692         * lib/fpurge.h: Likewise.
54693         * lib/freadable.c: Likewise.
54694         * lib/freadable.h: Likewise.
54695         * lib/freadahead.c: Likewise.
54696         * lib/freadahead.h: Likewise.
54697         * lib/freading.c: Likewise.
54698         * lib/freading.h: Likewise.
54699         * lib/free.c: Likewise.
54700         * lib/freopen.c: Likewise.
54701         * lib/frexp.c: Likewise.
54702         * lib/frexpl.c: Likewise.
54703         * lib/fseek.c: Likewise.
54704         * lib/fseterr.c: Likewise.
54705         * lib/fseterr.h: Likewise.
54706         * lib/fstatat.c: Likewise.
54707         * lib/fstrcmp.c: Likewise.
54708         * lib/fstrcmp.h: Likewise.
54709         * lib/fsusage.c: Likewise.
54710         * lib/fsusage.h: Likewise.
54711         * lib/ftell.c: Likewise.
54712         * lib/ftello.c: Likewise.
54713         * lib/fts-cycle.c: Likewise.
54714         * lib/fts.c: Likewise.
54715         * lib/fts_.h: Likewise.
54716         * lib/full-read.c: Likewise.
54717         * lib/full-read.h: Likewise.
54718         * lib/full-write.c: Likewise.
54719         * lib/full-write.h: Likewise.
54720         * lib/fwritable.c: Likewise.
54721         * lib/fwritable.h: Likewise.
54722         * lib/fwriteerror.c: Likewise.
54723         * lib/fwriteerror.h: Likewise.
54724         * lib/fwriting.c: Likewise.
54725         * lib/fwriting.h: Likewise.
54726         * lib/gcd.c: Likewise.
54727         * lib/gcd.h: Likewise.
54728         * lib/getcwd.c: Likewise.
54729         * lib/getdate.h: Likewise.
54730         * lib/getdate.y: Likewise.
54731         * lib/getdomainname.c: Likewise.
54732         * lib/getdomainname.h: Likewise.
54733         * lib/getgroups.c: Likewise.
54734         * lib/gethostname.c: Likewise.
54735         * lib/gethrxtime.c: Likewise.
54736         * lib/gethrxtime.h: Likewise.
54737         * lib/getloadavg.c: Likewise.
54738         * lib/getndelim2.c: Likewise.
54739         * lib/getndelim2.h: Likewise.
54740         * lib/getnline.c: Likewise.
54741         * lib/getnline.h: Likewise.
54742         * lib/getopt.c: Likewise.
54743         * lib/getopt.in.h: Likewise.
54744         * lib/getopt1.c: Likewise.
54745         * lib/getopt_int.h: Likewise.
54746         * lib/getpagesize.h: Likewise.
54747         * lib/getsubopt.c: Likewise.
54748         * lib/gettime.c: Likewise.
54749         * lib/getugroups.c: Likewise.
54750         * lib/getugroups.h: Likewise.
54751         * lib/getusershell.c: Likewise.
54752         * lib/gl_anyavltree_list1.h: Likewise.
54753         * lib/gl_anyavltree_list2.h: Likewise.
54754         * lib/gl_anyhash_list1.h: Likewise.
54755         * lib/gl_anyhash_list2.h: Likewise.
54756         * lib/gl_anylinked_list1.h: Likewise.
54757         * lib/gl_anylinked_list2.h: Likewise.
54758         * lib/gl_anyrbtree_list1.h: Likewise.
54759         * lib/gl_anyrbtree_list2.h: Likewise.
54760         * lib/gl_anytree_list1.h: Likewise.
54761         * lib/gl_anytree_list2.h: Likewise.
54762         * lib/gl_anytree_oset.h: Likewise.
54763         * lib/gl_anytreehash_list1.h: Likewise.
54764         * lib/gl_anytreehash_list2.h: Likewise.
54765         * lib/gl_array_list.c: Likewise.
54766         * lib/gl_array_list.h: Likewise.
54767         * lib/gl_array_oset.c: Likewise.
54768         * lib/gl_array_oset.h: Likewise.
54769         * lib/gl_avltree_list.c: Likewise.
54770         * lib/gl_avltree_list.h: Likewise.
54771         * lib/gl_avltree_oset.c: Likewise.
54772         * lib/gl_avltree_oset.h: Likewise.
54773         * lib/gl_avltreehash_list.c: Likewise.
54774         * lib/gl_avltreehash_list.h: Likewise.
54775         * lib/gl_carray_list.c: Likewise.
54776         * lib/gl_carray_list.h: Likewise.
54777         * lib/gl_linked_list.c: Likewise.
54778         * lib/gl_linked_list.h: Likewise.
54779         * lib/gl_linkedhash_list.c: Likewise.
54780         * lib/gl_linkedhash_list.h: Likewise.
54781         * lib/gl_list.c: Likewise.
54782         * lib/gl_list.h: Likewise.
54783         * lib/gl_oset.c: Likewise.
54784         * lib/gl_oset.h: Likewise.
54785         * lib/gl_rbtree_list.c: Likewise.
54786         * lib/gl_rbtree_list.h: Likewise.
54787         * lib/gl_rbtree_oset.c: Likewise.
54788         * lib/gl_rbtree_oset.h: Likewise.
54789         * lib/gl_rbtreehash_list.c: Likewise.
54790         * lib/gl_rbtreehash_list.h: Likewise.
54791         * lib/gl_sublist.c: Likewise.
54792         * lib/gl_sublist.h: Likewise.
54793         * lib/group-member.c: Likewise.
54794         * lib/group-member.h: Likewise.
54795         * lib/hard-locale.c: Likewise.
54796         * lib/hard-locale.h: Likewise.
54797         * lib/hash-pjw.c: Likewise.
54798         * lib/hash-pjw.h: Likewise.
54799         * lib/hash-triple.c: Likewise.
54800         * lib/hash.c: Likewise.
54801         * lib/hash.h: Likewise.
54802         * lib/human.c: Likewise.
54803         * lib/human.h: Likewise.
54804         * lib/i-ring.c: Likewise.
54805         * lib/i-ring.h: Likewise.
54806         * lib/idcache.c: Likewise.
54807         * lib/imaxabs.c: Likewise.
54808         * lib/imaxdiv.c: Likewise.
54809         * lib/inet_pton.c: Likewise.
54810         * lib/inet_pton.h: Likewise.
54811         * lib/intprops.h: Likewise.
54812         * lib/inttostr.c: Likewise.
54813         * lib/inttostr.h: Likewise.
54814         * lib/inttypes.in.h: Likewise.
54815         * lib/isapipe.c: Likewise.
54816         * lib/isdir.c: Likewise.
54817         * lib/isnan.c: Likewise.
54818         * lib/isnan.h: Likewise.
54819         * lib/isnanf.c: Likewise.
54820         * lib/isnanf.h: Likewise.
54821         * lib/isnanl-nolibm.h: Likewise.
54822         * lib/isnanl.c: Likewise.
54823         * lib/isnanl.h: Likewise.
54824         * lib/javacomp.c: Likewise.
54825         * lib/javacomp.h: Likewise.
54826         * lib/javaexec.c: Likewise.
54827         * lib/javaexec.h: Likewise.
54828         * lib/javaversion.c: Likewise.
54829         * lib/javaversion.h: Likewise.
54830         * lib/javaversion.java: Likewise.
54831         * lib/lbrkprop.h: Likewise.
54832         * lib/lchmod.h: Likewise.
54833         * lib/lchown.c: Likewise.
54834         * lib/ldexpl.c: Likewise.
54835         * lib/linebreak.c: Likewise.
54836         * lib/linebreak.h: Likewise.
54837         * lib/linebuffer.c: Likewise.
54838         * lib/linebuffer.h: Likewise.
54839         * lib/locale.in.h: Likewise.
54840         * lib/logl.c: Likewise.
54841         * lib/long-options.c: Likewise.
54842         * lib/long-options.h: Likewise.
54843         * lib/lstat.c: Likewise.
54844         * lib/lstat.h: Likewise.
54845         * lib/math.in.h: Likewise.
54846         * lib/mbchar.c: Likewise.
54847         * lib/mbchar.h: Likewise.
54848         * lib/mbfile.h: Likewise.
54849         * lib/mbiter.h: Likewise.
54850         * lib/mbscasecmp.c: Likewise.
54851         * lib/mbscasestr.c: Likewise.
54852         * lib/mbschr.c: Likewise.
54853         * lib/mbscspn.c: Likewise.
54854         * lib/mbslen.c: Likewise.
54855         * lib/mbsncasecmp.c: Likewise.
54856         * lib/mbsnlen.c: Likewise.
54857         * lib/mbspbrk.c: Likewise.
54858         * lib/mbspcasecmp.c: Likewise.
54859         * lib/mbsrchr.c: Likewise.
54860         * lib/mbssep.c: Likewise.
54861         * lib/mbsspn.c: Likewise.
54862         * lib/mbsstr.c: Likewise.
54863         * lib/mbstok_r.c: Likewise.
54864         * lib/mbswidth.c: Likewise.
54865         * lib/mbswidth.h: Likewise.
54866         * lib/mbuiter.h: Likewise.
54867         * lib/memcasecmp.c: Likewise.
54868         * lib/memcasecmp.h: Likewise.
54869         * lib/memchr.c: Likewise.
54870         * lib/memcmp.c: Likewise.
54871         * lib/memcoll.c: Likewise.
54872         * lib/memcoll.h: Likewise.
54873         * lib/memcpy.c: Likewise.
54874         * lib/memrchr.c: Likewise.
54875         * lib/mkancesdirs.c: Likewise.
54876         * lib/mkdir-p.c: Likewise.
54877         * lib/mkdir-p.h: Likewise.
54878         * lib/mkdir.c: Likewise.
54879         * lib/mkdirat.c: Likewise.
54880         * lib/mkdtemp.c: Likewise.
54881         * lib/mkstemp-safer.c: Likewise.
54882         * lib/mkstemp.c: Likewise.
54883         * lib/modechange.c: Likewise.
54884         * lib/modechange.h: Likewise.
54885         * lib/mountlist.c: Likewise.
54886         * lib/mountlist.h: Likewise.
54887         * lib/mpsort.c: Likewise.
54888         * lib/nanosleep.c: Likewise.
54889         * lib/obstack.c: Likewise.
54890         * lib/obstack.h: Likewise.
54891         * lib/open-safer.c: Likewise.
54892         * lib/open.c: Likewise.
54893         * lib/openat-die.c: Likewise.
54894         * lib/openat-priv.h: Likewise.
54895         * lib/openat-proc.c: Likewise.
54896         * lib/openat.c: Likewise.
54897         * lib/openat.h: Likewise.
54898         * lib/pagealign_alloc.c: Likewise.
54899         * lib/pagealign_alloc.h: Likewise.
54900         * lib/physmem.c: Likewise.
54901         * lib/physmem.h: Likewise.
54902         * lib/pipe-safer.c: Likewise.
54903         * lib/pipe.c: Likewise.
54904         * lib/pipe.h: Likewise.
54905         * lib/posixtm.c: Likewise.
54906         * lib/posixtm.h: Likewise.
54907         * lib/posixver.c: Likewise.
54908         * lib/printf-frexp.c: Likewise.
54909         * lib/printf-frexp.h: Likewise.
54910         * lib/printf-frexpl.c: Likewise.
54911         * lib/printf-frexpl.h: Likewise.
54912         * lib/printf.c: Likewise.
54913         * lib/progname.c: Likewise.
54914         * lib/progname.h: Likewise.
54915         * lib/progreloc.c: Likewise.
54916         * lib/putenv.c: Likewise.
54917         * lib/quote.c: Likewise.
54918         * lib/quote.h: Likewise.
54919         * lib/quotearg.c: Likewise.
54920         * lib/quotearg.h: Likewise.
54921         * lib/raise.c: Likewise.
54922         * lib/readline.c: Likewise.
54923         * lib/readline.h: Likewise.
54924         * lib/readlink.c: Likewise.
54925         * lib/readtokens.c: Likewise.
54926         * lib/readtokens.h: Likewise.
54927         * lib/readtokens0.c: Likewise.
54928         * lib/readtokens0.h: Likewise.
54929         * lib/readutmp.c: Likewise.
54930         * lib/readutmp.h: Likewise.
54931         * lib/realloc.c: Likewise.
54932         * lib/relocwrapper.c: Likewise.
54933         * lib/rename-dest-slash.c: Likewise.
54934         * lib/rename.c: Likewise.
54935         * lib/rmdir.c: Likewise.
54936         * lib/rpmatch.c: Likewise.
54937         * lib/safe-read.c: Likewise.
54938         * lib/safe-read.h: Likewise.
54939         * lib/safe-write.c: Likewise.
54940         * lib/safe-write.h: Likewise.
54941         * lib/same-inode.h: Likewise.
54942         * lib/same.c: Likewise.
54943         * lib/same.h: Likewise.
54944         * lib/save-cwd.c: Likewise.
54945         * lib/save-cwd.h: Likewise.
54946         * lib/savedir.c: Likewise.
54947         * lib/savedir.h: Likewise.
54948         * lib/savewd.c: Likewise.
54949         * lib/savewd.h: Likewise.
54950         * lib/search.in.h: Likewise.
54951         * lib/setenv.c: Likewise.
54952         * lib/setenv.h: Likewise.
54953         * lib/settime.c: Likewise.
54954         * lib/sh-quote.c: Likewise.
54955         * lib/sh-quote.h: Likewise.
54956         * lib/sig2str.c: Likewise.
54957         * lib/sig2str.h: Likewise.
54958         * lib/signal.in.h: Likewise.
54959         * lib/signbitd.c: Likewise.
54960         * lib/signbitf.c: Likewise.
54961         * lib/signbitl.c: Likewise.
54962         * lib/sigprocmask.c: Likewise.
54963         * lib/sincosl.c: Likewise.
54964         * lib/sleep.c: Likewise.
54965         * lib/sprintf.c: Likewise.
54966         * lib/sqrtl.c: Likewise.
54967         * lib/stat-time.h: Likewise.
54968         * lib/stdio--.h: Likewise.
54969         * lib/stdio-safer.h: Likewise.
54970         * lib/stdlib--.h: Likewise.
54971         * lib/stdlib-safer.h: Likewise.
54972         * lib/stdlib.in.h: Likewise.
54973         * lib/stpcpy.c: Likewise.
54974         * lib/stpncpy.c: Likewise.
54975         * lib/strchrnul.c: Likewise.
54976         * lib/strcspn.c: Likewise.
54977         * lib/strerror.c: Likewise.
54978         * lib/strftime.c: Likewise.
54979         * lib/strftime.h: Likewise.
54980         * lib/striconveh.c: Likewise.
54981         * lib/striconveh.h: Likewise.
54982         * lib/striconveha.c: Likewise.
54983         * lib/striconveha.h: Likewise.
54984         * lib/stripslash.c: Likewise.
54985         * lib/strnlen1.c: Likewise.
54986         * lib/strnlen1.h: Likewise.
54987         * lib/strtod.c: Likewise.
54988         * lib/strtoimax.c: Likewise.
54989         * lib/strtok_r.c: Likewise.
54990         * lib/strtol.c: Likewise.
54991         * lib/strtoll.c: Likewise.
54992         * lib/strtoul.c: Likewise.
54993         * lib/strtoull.c: Likewise.
54994         * lib/sysexits.in.h: Likewise.
54995         * lib/tempname.c: Likewise.
54996         * lib/tempname.h: Likewise.
54997         * lib/timespec.h: Likewise.
54998         * lib/tls.c: Likewise.
54999         * lib/tls.h: Likewise.
55000         * lib/tmpdir.c: Likewise.
55001         * lib/tmpdir.h: Likewise.
55002         * lib/tmpfile-safer.c: Likewise.
55003         * lib/tmpfile.c: Likewise.
55004         * lib/trigl.c: Likewise.
55005         * lib/trigl.h: Likewise.
55006         * lib/trim.c: Likewise.
55007         * lib/trim.h: Likewise.
55008         * lib/trunc.c: Likewise.
55009         * lib/truncf.c: Likewise.
55010         * lib/truncl.c: Likewise.
55011         * lib/tsearch.c: Likewise.
55012         * lib/unicodeio.c: Likewise.
55013         * lib/unicodeio.h: Likewise.
55014         * lib/unistd--.h: Likewise.
55015         * lib/unistd-safer.h: Likewise.
55016         * lib/unistdio/ulc-fprintf.c: Likewise.
55017         * lib/unistdio/ulc-vfprintf.c: Likewise.
55018         * lib/unlinkdir.c: Likewise.
55019         * lib/unlinkdir.h: Likewise.
55020         * lib/unlocked-io.h: Likewise.
55021         * lib/unsetenv.c: Likewise.
55022         * lib/userspec.c: Likewise.
55023         * lib/utime.c: Likewise.
55024         * lib/utimecmp.c: Likewise.
55025         * lib/utimecmp.h: Likewise.
55026         * lib/utimens.c: Likewise.
55027         * lib/verify.h: Likewise.
55028         * lib/verror.c: Likewise.
55029         * lib/verror.h: Likewise.
55030         * lib/version-etc-fsf.c: Likewise.
55031         * lib/version-etc.c: Likewise.
55032         * lib/version-etc.h: Likewise.
55033         * lib/vfprintf.c: Likewise.
55034         * lib/vprintf.c: Likewise.
55035         * lib/vsprintf.c: Likewise.
55036         * lib/w32spawn.h: Likewise.
55037         * lib/wait-process.c: Likewise.
55038         * lib/wait-process.h: Likewise.
55039         * lib/wcwidth.c: Likewise.
55040         * lib/write-any-file.c: Likewise.
55041         * lib/xalloc-die.c: Likewise.
55042         * lib/xalloc.h: Likewise.
55043         * lib/xasprintf.c: Likewise.
55044         * lib/xgetcwd.c: Likewise.
55045         * lib/xgetcwd.h: Likewise.
55046         * lib/xgetdomainname.c: Likewise.
55047         * lib/xgetdomainname.h: Likewise.
55048         * lib/xgethostname.c: Likewise.
55049         * lib/xmalloc.c: Likewise.
55050         * lib/xmalloca.c: Likewise.
55051         * lib/xmalloca.h: Likewise.
55052         * lib/xmemcoll.c: Likewise.
55053         * lib/xnanosleep.c: Likewise.
55054         * lib/xreadlink.c: Likewise.
55055         * lib/xreadlink.h: Likewise.
55056         * lib/xsetenv.c: Likewise.
55057         * lib/xsetenv.h: Likewise.
55058         * lib/xstriconv.c: Likewise.
55059         * lib/xstriconv.h: Likewise.
55060         * lib/xstrndup.c: Likewise.
55061         * lib/xstrndup.h: Likewise.
55062         * lib/xstrtod.c: Likewise.
55063         * lib/xstrtod.h: Likewise.
55064         * lib/xstrtol-error.c: Likewise.
55065         * lib/xstrtol.c: Likewise.
55066         * lib/xstrtol.h: Likewise.
55067         * lib/xtime.h: Likewise.
55068         * lib/xvasprintf.c: Likewise.
55069         * lib/xvasprintf.h: Likewise.
55070         * lib/yesno.c: Likewise.
55071         * lib/yesno.h: Likewise.
55072         * posix-modules: Likewise.
55073         * tests/test-alloca-opt.c: Likewise.
55074         * tests/test-arcfour.c: Likewise.
55075         * tests/test-arctwo.c: Likewise.
55076         * tests/test-argmatch.c: Likewise.
55077         * tests/test-argp-2.sh: Likewise.
55078         * tests/test-argp.c: Likewise.
55079         * tests/test-arpa_inet.c: Likewise.
55080         * tests/test-array_list.c: Likewise.
55081         * tests/test-array_oset.c: Likewise.
55082         * tests/test-atexit.c: Likewise.
55083         * tests/test-avltree_list.c: Likewise.
55084         * tests/test-avltree_oset.c: Likewise.
55085         * tests/test-avltreehash_list.c: Likewise.
55086         * tests/test-base64.c: Likewise.
55087         * tests/test-binary-io.c: Likewise.
55088         * tests/test-byteswap.c: Likewise.
55089         * tests/test-c-ctype.c: Likewise.
55090         * tests/test-c-strcasecmp.c: Likewise.
55091         * tests/test-c-strcasestr.c: Likewise.
55092         * tests/test-c-strncasecmp.c: Likewise.
55093         * tests/test-c-strstr.c: Likewise.
55094         * tests/test-canonicalize-lgpl.c: Likewise.
55095         * tests/test-canonicalize.c: Likewise.
55096         * tests/test-carray_list.c: Likewise.
55097         * tests/test-ceilf.c: Likewise.
55098         * tests/test-ceill.c: Likewise.
55099         * tests/test-count-one-bits.c: Likewise.
55100         * tests/test-crc.c: Likewise.
55101         * tests/test-dirname.c: Likewise.
55102         * tests/test-fbufmode.c: Likewise.
55103         * tests/test-fcntl.c: Likewise.
55104         * tests/test-fflush.c: Likewise.
55105         * tests/test-floorf.c: Likewise.
55106         * tests/test-floorl.c: Likewise.
55107         * tests/test-fopen.c: Likewise.
55108         * tests/test-fprintf-posix.c: Likewise.
55109         * tests/test-fprintf-posix.h: Likewise.
55110         * tests/test-fpurge.c: Likewise.
55111         * tests/test-freadable.c: Likewise.
55112         * tests/test-freadahead.c: Likewise.
55113         * tests/test-freading.c: Likewise.
55114         * tests/test-freopen.c: Likewise.
55115         * tests/test-frexp.c: Likewise.
55116         * tests/test-frexpl.c: Likewise.
55117         * tests/test-fseek.c: Likewise.
55118         * tests/test-fseeko.c: Likewise.
55119         * tests/test-fseterr.c: Likewise.
55120         * tests/test-fstrcmp.c: Likewise.
55121         * tests/test-ftell.c: Likewise.
55122         * tests/test-ftello.c: Likewise.
55123         * tests/test-fwritable.c: Likewise.
55124         * tests/test-fwriting.c: Likewise.
55125         * tests/test-getaddrinfo.c: Likewise.
55126         * tests/test-getpass.c: Likewise.
55127         * tests/test-gettimeofday.c: Likewise.
55128         * tests/test-hmac-md5.c: Likewise.
55129         * tests/test-hmac-sha1.c: Likewise.
55130         * tests/test-iconv.c: Likewise.
55131         * tests/test-iconvme.c: Likewise.
55132         * tests/test-inttypes.c: Likewise.
55133         * tests/test-isnan.c: Likewise.
55134         * tests/test-isnanf.c: Likewise.
55135         * tests/test-isnanl-nolibm.c: Likewise.
55136         * tests/test-isnanl.c: Likewise.
55137         * tests/test-isnanl.h: Likewise.
55138         * tests/test-ldexpl.c: Likewise.
55139         * tests/test-linked_list.c: Likewise.
55140         * tests/test-linkedhash_list.c: Likewise.
55141         * tests/test-locale.c: Likewise.
55142         * tests/test-localename.c: Likewise.
55143         * tests/test-lock.c: Likewise.
55144         * tests/test-lseek.c: Likewise.
55145         * tests/test-malloca.c: Likewise.
55146         * tests/test-math.c: Likewise.
55147         * tests/test-mbscasecmp.c: Likewise.
55148         * tests/test-mbscasestr1.c: Likewise.
55149         * tests/test-mbscasestr2.c: Likewise.
55150         * tests/test-mbscasestr3.c: Likewise.
55151         * tests/test-mbscasestr4.c: Likewise.
55152         * tests/test-mbschr.c: Likewise.
55153         * tests/test-mbscspn.c: Likewise.
55154         * tests/test-mbsncasecmp.c: Likewise.
55155         * tests/test-mbspbrk.c: Likewise.
55156         * tests/test-mbspcasecmp.c: Likewise.
55157         * tests/test-mbsrchr.c: Likewise.
55158         * tests/test-mbsspn.c: Likewise.
55159         * tests/test-mbsstr1.c: Likewise.
55160         * tests/test-mbsstr2.c: Likewise.
55161         * tests/test-mbsstr3.c: Likewise.
55162         * tests/test-md5.c: Likewise.
55163         * tests/test-memmem.c: Likewise.
55164         * tests/test-netinet_in.c: Likewise.
55165         * tests/test-open.c: Likewise.
55166         * tests/test-printf-frexp.c: Likewise.
55167         * tests/test-printf-frexpl.c: Likewise.
55168         * tests/test-printf-posix.c: Likewise.
55169         * tests/test-printf-posix.h: Likewise.
55170         * tests/test-rbtree_list.c: Likewise.
55171         * tests/test-rbtree_oset.c: Likewise.
55172         * tests/test-rbtreehash_list.c: Likewise.
55173         * tests/test-read-file.c: Likewise.
55174         * tests/test-rijndael.c: Likewise.
55175         * tests/test-search.c: Likewise.
55176         * tests/test-signbit.c: Likewise.
55177         * tests/test-sleep.c: Likewise.
55178         * tests/test-snprintf-posix.c: Likewise.
55179         * tests/test-snprintf-posix.h: Likewise.
55180         * tests/test-snprintf.c: Likewise.
55181         * tests/test-sprintf-posix.c: Likewise.
55182         * tests/test-sprintf-posix.h: Likewise.
55183         * tests/test-stat-time.c: Likewise.
55184         * tests/test-stdbool.c: Likewise.
55185         * tests/test-stdint.c: Likewise.
55186         * tests/test-stdio.c: Likewise.
55187         * tests/test-stdlib.c: Likewise.
55188         * tests/test-stpncpy.c: Likewise.
55189         * tests/test-strcasestr.c: Likewise.
55190         * tests/test-striconv.c: Likewise.
55191         * tests/test-striconveh.c: Likewise.
55192         * tests/test-striconveha.c: Likewise.
55193         * tests/test-string.c: Likewise.
55194         * tests/test-sys_select.c: Likewise.
55195         * tests/test-sys_socket.c: Likewise.
55196         * tests/test-sys_stat.c: Likewise.
55197         * tests/test-sys_time.c: Likewise.
55198         * tests/test-sysexits.c: Likewise.
55199         * tests/test-time.c: Likewise.
55200         * tests/test-tls.c: Likewise.
55201         * tests/test-trunc.c: Likewise.
55202         * tests/test-truncf.c: Likewise.
55203         * tests/test-truncl.c: Likewise.
55204         * tests/test-unistd.c: Likewise.
55205         * tests/test-vasnprintf-posix.c: Likewise.
55206         * tests/test-vasnprintf-posix2.c: Likewise.
55207         * tests/test-vasnprintf.c: Likewise.
55208         * tests/test-vasprintf-posix.c: Likewise.
55209         * tests/test-vasprintf.c: Likewise.
55210         * tests/test-verify.c: Likewise.
55211         * tests/test-vfprintf-posix.c: Likewise.
55212         * tests/test-vprintf-posix.c: Likewise.
55213         * tests/test-vsnprintf-posix.c: Likewise.
55214         * tests/test-vsnprintf.c: Likewise.
55215         * tests/test-vsprintf-posix.c: Likewise.
55216         * tests/test-wchar.c: Likewise.
55217         * tests/test-wctype.c: Likewise.
55218         * tests/test-wcwidth.c: Likewise.
55219         * tests/test-xstrtol.c: Likewise.
55220         * tests/test-xvasprintf.c: Likewise.
55221         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55222         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55223         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55224         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55225         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55226         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55227         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55228         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55229         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55230         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55231         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55232         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55233         * tests/uniname/test-uninames.c: Likewise.
55234         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55235         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55236         * tests/unistdio/test-u16-printf1.h: Likewise.
55237         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55238         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55239         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55240         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55241         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55242         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55243         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55244         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55245         * tests/unistdio/test-u32-printf1.h: Likewise.
55246         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55247         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55248         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55249         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55250         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55251         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55252         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55253         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55254         * tests/unistdio/test-u8-printf1.h: Likewise.
55255         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55256         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55257         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55258         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55259         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55260         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55261         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55262         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55263         * tests/unistdio/test-ulc-printf1.h: Likewise.
55264         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55265         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55266         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55267         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55268         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55269         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55270         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55271         * tests/uniwidth/test-u16-width.c: Likewise.
55272         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55273         * tests/uniwidth/test-u32-width.c: Likewise.
55274         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55275         * tests/uniwidth/test-u8-width.c: Likewise.
55276         * tests/uniwidth/test-uc_width.c: Likewise.
55277         * config/srclist-update: Likewise.
55278         (fixlicense): Update to GPLv3+.
55279
55280         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55281         * tests/test-tsearch.c: Change copyright notice.
55282
55283         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55284         * lib/c-strcaseeq.h: Change copyright notice.
55285         * lib/streq.h: Likewise.
55286         * lib/uniconv.h: Likewise.
55287         * lib/uniconv/u-conv-from-enc.h: Likewise.
55288         * lib/uniconv/u-conv-to-enc.h: Likewise.
55289         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55290         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55291         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55292         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55293         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55294         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55295         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55296         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55297         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55298         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55299         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55300         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55301         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55302         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55303         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55304         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55305         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55306         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55307         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55308         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55309         * lib/uniname.h: Likewise.
55310         * lib/uniname/uniname.c: Likewise.
55311         * lib/unistdio.h: Likewise.
55312         * lib/unistdio/u-asnprintf.h: Likewise.
55313         * lib/unistdio/u-asprintf.h: Likewise.
55314         * lib/unistdio/u-printf-args.c: Likewise.
55315         * lib/unistdio/u-printf-args.h: Likewise.
55316         * lib/unistdio/u-printf-parse.h: Likewise.
55317         * lib/unistdio/u-snprintf.h: Likewise.
55318         * lib/unistdio/u-sprintf.h: Likewise.
55319         * lib/unistdio/u-vasprintf.h: Likewise.
55320         * lib/unistdio/u-vsnprintf.h: Likewise.
55321         * lib/unistdio/u-vsprintf.h: Likewise.
55322         * lib/unistdio/u16-asnprintf.c: Likewise.
55323         * lib/unistdio/u16-asprintf.c: Likewise.
55324         * lib/unistdio/u16-printf-parse.c: Likewise.
55325         * lib/unistdio/u16-snprintf.c: Likewise.
55326         * lib/unistdio/u16-sprintf.c: Likewise.
55327         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55328         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55329         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55330         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55331         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55332         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55333         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55334         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55335         * lib/unistdio/u16-vasnprintf.c: Likewise.
55336         * lib/unistdio/u16-vasprintf.c: Likewise.
55337         * lib/unistdio/u16-vsnprintf.c: Likewise.
55338         * lib/unistdio/u16-vsprintf.c: Likewise.
55339         * lib/unistdio/u32-asnprintf.c: Likewise.
55340         * lib/unistdio/u32-asprintf.c: Likewise.
55341         * lib/unistdio/u32-printf-parse.c: Likewise.
55342         * lib/unistdio/u32-snprintf.c: Likewise.
55343         * lib/unistdio/u32-sprintf.c: Likewise.
55344         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55345         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55346         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55347         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55348         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55349         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55350         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55351         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55352         * lib/unistdio/u32-vasnprintf.c: Likewise.
55353         * lib/unistdio/u32-vasprintf.c: Likewise.
55354         * lib/unistdio/u32-vsnprintf.c: Likewise.
55355         * lib/unistdio/u32-vsprintf.c: Likewise.
55356         * lib/unistdio/u8-asnprintf.c: Likewise.
55357         * lib/unistdio/u8-asprintf.c: Likewise.
55358         * lib/unistdio/u8-printf-parse.c: Likewise.
55359         * lib/unistdio/u8-snprintf.c: Likewise.
55360         * lib/unistdio/u8-sprintf.c: Likewise.
55361         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55362         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55363         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55364         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55365         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55366         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55367         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55368         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55369         * lib/unistdio/u8-vasnprintf.c: Likewise.
55370         * lib/unistdio/u8-vasprintf.c: Likewise.
55371         * lib/unistdio/u8-vsnprintf.c: Likewise.
55372         * lib/unistdio/u8-vsprintf.c: Likewise.
55373         * lib/unistdio/ulc-asnprintf.c: Likewise.
55374         * lib/unistdio/ulc-asprintf.c: Likewise.
55375         * lib/unistdio/ulc-printf-parse.c: Likewise.
55376         * lib/unistdio/ulc-snprintf.c: Likewise.
55377         * lib/unistdio/ulc-sprintf.c: Likewise.
55378         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55379         * lib/unistdio/ulc-vasprintf.c: Likewise.
55380         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55381         * lib/unistdio/ulc-vsprintf.c: Likewise.
55382         * lib/unistr.h: Likewise.
55383         * lib/unistr/u-cpy-alloc.h: Likewise.
55384         * lib/unistr/u-cpy.h: Likewise.
55385         * lib/unistr/u-endswith.h: Likewise.
55386         * lib/unistr/u-move.h: Likewise.
55387         * lib/unistr/u-set.h: Likewise.
55388         * lib/unistr/u-startswith.h: Likewise.
55389         * lib/unistr/u-stpcpy.h: Likewise.
55390         * lib/unistr/u-stpncpy.h: Likewise.
55391         * lib/unistr/u-strcat.h: Likewise.
55392         * lib/unistr/u-strcpy.h: Likewise.
55393         * lib/unistr/u-strcspn.h: Likewise.
55394         * lib/unistr/u-strdup.h: Likewise.
55395         * lib/unistr/u-strlen.h: Likewise.
55396         * lib/unistr/u-strncat.h: Likewise.
55397         * lib/unistr/u-strncpy.h: Likewise.
55398         * lib/unistr/u-strnlen.h: Likewise.
55399         * lib/unistr/u-strpbrk.h: Likewise.
55400         * lib/unistr/u-strspn.h: Likewise.
55401         * lib/unistr/u-strstr.h: Likewise.
55402         * lib/unistr/u-strtok.h: Likewise.
55403         * lib/unistr/u16-check.c: Likewise.
55404         * lib/unistr/u16-chr.c: Likewise.
55405         * lib/unistr/u16-cmp.c: Likewise.
55406         * lib/unistr/u16-cpy-alloc.c: Likewise.
55407         * lib/unistr/u16-cpy.c: Likewise.
55408         * lib/unistr/u16-endswith.c: Likewise.
55409         * lib/unistr/u16-mblen.c: Likewise.
55410         * lib/unistr/u16-mbsnlen.c: Likewise.
55411         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55412         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55413         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55414         * lib/unistr/u16-mbtouc.c: Likewise.
55415         * lib/unistr/u16-mbtoucr.c: Likewise.
55416         * lib/unistr/u16-move.c: Likewise.
55417         * lib/unistr/u16-next.c: Likewise.
55418         * lib/unistr/u16-prev.c: Likewise.
55419         * lib/unistr/u16-set.c: Likewise.
55420         * lib/unistr/u16-startswith.c: Likewise.
55421         * lib/unistr/u16-stpcpy.c: Likewise.
55422         * lib/unistr/u16-stpncpy.c: Likewise.
55423         * lib/unistr/u16-strcat.c: Likewise.
55424         * lib/unistr/u16-strchr.c: Likewise.
55425         * lib/unistr/u16-strcmp.c: Likewise.
55426         * lib/unistr/u16-strcpy.c: Likewise.
55427         * lib/unistr/u16-strcspn.c: Likewise.
55428         * lib/unistr/u16-strdup.c: Likewise.
55429         * lib/unistr/u16-strlen.c: Likewise.
55430         * lib/unistr/u16-strmblen.c: Likewise.
55431         * lib/unistr/u16-strmbtouc.c: Likewise.
55432         * lib/unistr/u16-strncat.c: Likewise.
55433         * lib/unistr/u16-strncmp.c: Likewise.
55434         * lib/unistr/u16-strncpy.c: Likewise.
55435         * lib/unistr/u16-strnlen.c: Likewise.
55436         * lib/unistr/u16-strpbrk.c: Likewise.
55437         * lib/unistr/u16-strrchr.c: Likewise.
55438         * lib/unistr/u16-strspn.c: Likewise.
55439         * lib/unistr/u16-strstr.c: Likewise.
55440         * lib/unistr/u16-strtok.c: Likewise.
55441         * lib/unistr/u16-to-u32.c: Likewise.
55442         * lib/unistr/u16-to-u8.c: Likewise.
55443         * lib/unistr/u16-uctomb-aux.c: Likewise.
55444         * lib/unistr/u16-uctomb.c: Likewise.
55445         * lib/unistr/u32-check.c: Likewise.
55446         * lib/unistr/u32-chr.c: Likewise.
55447         * lib/unistr/u32-cmp.c: Likewise.
55448         * lib/unistr/u32-cpy-alloc.c: Likewise.
55449         * lib/unistr/u32-cpy.c: Likewise.
55450         * lib/unistr/u32-endswith.c: Likewise.
55451         * lib/unistr/u32-mblen.c: Likewise.
55452         * lib/unistr/u32-mbsnlen.c: Likewise.
55453         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55454         * lib/unistr/u32-mbtouc.c: Likewise.
55455         * lib/unistr/u32-mbtoucr.c: Likewise.
55456         * lib/unistr/u32-move.c: Likewise.
55457         * lib/unistr/u32-next.c: Likewise.
55458         * lib/unistr/u32-prev.c: Likewise.
55459         * lib/unistr/u32-set.c: Likewise.
55460         * lib/unistr/u32-startswith.c: Likewise.
55461         * lib/unistr/u32-stpcpy.c: Likewise.
55462         * lib/unistr/u32-stpncpy.c: Likewise.
55463         * lib/unistr/u32-strcat.c: Likewise.
55464         * lib/unistr/u32-strchr.c: Likewise.
55465         * lib/unistr/u32-strcmp.c: Likewise.
55466         * lib/unistr/u32-strcpy.c: Likewise.
55467         * lib/unistr/u32-strcspn.c: Likewise.
55468         * lib/unistr/u32-strdup.c: Likewise.
55469         * lib/unistr/u32-strlen.c: Likewise.
55470         * lib/unistr/u32-strmblen.c: Likewise.
55471         * lib/unistr/u32-strmbtouc.c: Likewise.
55472         * lib/unistr/u32-strncat.c: Likewise.
55473         * lib/unistr/u32-strncmp.c: Likewise.
55474         * lib/unistr/u32-strncpy.c: Likewise.
55475         * lib/unistr/u32-strnlen.c: Likewise.
55476         * lib/unistr/u32-strpbrk.c: Likewise.
55477         * lib/unistr/u32-strrchr.c: Likewise.
55478         * lib/unistr/u32-strspn.c: Likewise.
55479         * lib/unistr/u32-strstr.c: Likewise.
55480         * lib/unistr/u32-strtok.c: Likewise.
55481         * lib/unistr/u32-to-u16.c: Likewise.
55482         * lib/unistr/u32-to-u8.c: Likewise.
55483         * lib/unistr/u32-uctomb.c: Likewise.
55484         * lib/unistr/u8-check.c: Likewise.
55485         * lib/unistr/u8-chr.c: Likewise.
55486         * lib/unistr/u8-cmp.c: Likewise.
55487         * lib/unistr/u8-cpy-alloc.c: Likewise.
55488         * lib/unistr/u8-cpy.c: Likewise.
55489         * lib/unistr/u8-endswith.c: Likewise.
55490         * lib/unistr/u8-mblen.c: Likewise.
55491         * lib/unistr/u8-mbsnlen.c: Likewise.
55492         * lib/unistr/u8-mbtouc-aux.c: Likewise.
55493         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
55494         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
55495         * lib/unistr/u8-mbtouc.c: Likewise.
55496         * lib/unistr/u8-mbtoucr.c: Likewise.
55497         * lib/unistr/u8-move.c: Likewise.
55498         * lib/unistr/u8-next.c: Likewise.
55499         * lib/unistr/u8-prev.c: Likewise.
55500         * lib/unistr/u8-set.c: Likewise.
55501         * lib/unistr/u8-startswith.c: Likewise.
55502         * lib/unistr/u8-stpcpy.c: Likewise.
55503         * lib/unistr/u8-stpncpy.c: Likewise.
55504         * lib/unistr/u8-strcat.c: Likewise.
55505         * lib/unistr/u8-strchr.c: Likewise.
55506         * lib/unistr/u8-strcmp.c: Likewise.
55507         * lib/unistr/u8-strcpy.c: Likewise.
55508         * lib/unistr/u8-strcspn.c: Likewise.
55509         * lib/unistr/u8-strdup.c: Likewise.
55510         * lib/unistr/u8-strlen.c: Likewise.
55511         * lib/unistr/u8-strmblen.c: Likewise.
55512         * lib/unistr/u8-strmbtouc.c: Likewise.
55513         * lib/unistr/u8-strncat.c: Likewise.
55514         * lib/unistr/u8-strncmp.c: Likewise.
55515         * lib/unistr/u8-strncpy.c: Likewise.
55516         * lib/unistr/u8-strnlen.c: Likewise.
55517         * lib/unistr/u8-strpbrk.c: Likewise.
55518         * lib/unistr/u8-strrchr.c: Likewise.
55519         * lib/unistr/u8-strspn.c: Likewise.
55520         * lib/unistr/u8-strstr.c: Likewise.
55521         * lib/unistr/u8-strtok.c: Likewise.
55522         * lib/unistr/u8-to-u16.c: Likewise.
55523         * lib/unistr/u8-to-u32.c: Likewise.
55524         * lib/unistr/u8-uctomb-aux.c: Likewise.
55525         * lib/unistr/u8-uctomb.c: Likewise.
55526         * lib/unitypes.h: Likewise.
55527         * lib/uniwidth.h: Likewise.
55528         * lib/uniwidth/cjk.h: Likewise.
55529         * lib/uniwidth/u16-strwidth.c: Likewise.
55530         * lib/uniwidth/u16-width.c: Likewise.
55531         * lib/uniwidth/u32-strwidth.c: Likewise.
55532         * lib/uniwidth/u32-width.c: Likewise.
55533         * lib/uniwidth/u8-strwidth.c: Likewise.
55534         * lib/uniwidth/u8-width.c: Likewise.
55535         * lib/uniwidth/width.c: Likewise.
55536
55537 2007-10-07  Bruno Haible  <bruno@clisp.org>
55538
55539         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
55540         The file is still under LGPL (see modules/inttypes).
55541
55542 2007-10-06  Bruno Haible  <bruno@clisp.org>
55543
55544         * modules/trunc (Dependencies): Add 'extensions'.
55545         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
55546         Reported by Ben Pfaff <blp@gnu.org>.
55547
55548 2007-10-06  Bruno Haible  <bruno@clisp.org>
55549
55550         * modules/freopen-tests: New file.
55551         * tests/test-freopen.c: New file.
55552
55553         * modules/fopen-tests: New file.
55554         * tests/test-fopen.c: New file.
55555
55556         * modules/fopen: New file.
55557         * lib/fopen.c: New file.
55558         * m4/fopen.m4: New file.
55559         * modules/freopen: New file.
55560         * lib/freopen.c: New file.
55561         * m4/freopen.m4: New file.
55562         * lib/stdio.in.h (fopen, freopen): New declarations.
55563         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
55564         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55565         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
55566         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55567         * doc/functions/fopen.texi: Mention the 'fopen' module.
55568         * doc/functions/freopen.texi: Mention the 'freopen' module.
55569
55570 2007-10-06  Bruno Haible  <bruno@clisp.org>
55571
55572         * modules/open-tests: New file.
55573         * tests/test-open.c: New file.
55574
55575         * modules/open: New file.
55576         * lib/open.c: New file.
55577         * m4/open.m4: New file.
55578         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
55579         lib/open.c does.
55580         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
55581         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
55582         macros.
55583         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
55584         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
55585         REPLACE_OPEN.
55586         * doc/functions/open.texi: Mention the 'open' module.
55587
55588 2007-10-04  Bruno Haible  <bruno@clisp.org>
55589
55590         * modules/ceill-tests: New file.
55591         * tests/test-ceill.c: New file.
55592
55593         * modules/ceill: New file.
55594         * lib/ceill.c: Replace entire file.
55595         * m4/ceill.m4: New file.
55596         * lib/math.in.h (ceill): Replace declaration.
55597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
55598         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
55599         * doc/functions/ceill.texi: Mention the 'ceill' module.
55600         * modules/mathl (Files): Remove lib/ceill.c.
55601         (Depends-on): Add ceill.
55602
55603 2007-10-04  Bruno Haible  <bruno@clisp.org>
55604
55605         * modules/ceilf-tests: New file.
55606         * tests/test-ceilf.c: New file.
55607
55608         * modules/ceilf: New file.
55609         * lib/ceil.c: New file.
55610         * lib/ceilf.c: New file.
55611         * m4/ceilf.m4: New file.
55612         * lib/math.in.h (ceilf): New declaration.
55613         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
55614         HAVE_DECL_CEILF.
55615         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
55616         HAVE_DECL_CEILF.
55617         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
55618
55619 2007-10-04  Bruno Haible  <bruno@clisp.org>
55620
55621         * modules/floorl-tests: New file.
55622         * tests/test-floorl.c: New file.
55623
55624         * modules/floorl: New file.
55625         * lib/floorl.c: Replace entire file.
55626         * m4/floorl.m4: New file.
55627         * lib/math.in.h (floorl): Replace declaration.
55628         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
55629         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
55630         * doc/functions/floorl.texi: Mention the 'floorl' module.
55631         * modules/mathl (Files): Remove lib/floorl.c.
55632         (Depends-on): Add floorl.
55633
55634 2007-10-04  Bruno Haible  <bruno@clisp.org>
55635
55636         * modules/floorf-tests: New file.
55637         * tests/test-floorf.c: New file.
55638
55639         * modules/floorf: New file.
55640         * lib/floor.c: New file.
55641         * lib/floorf.c: New file.
55642         * m4/floorf.m4: New file.
55643         * lib/math.in.h (floorf): New declaration.
55644         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
55645         HAVE_DECL_FLOORF.
55646         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
55647         HAVE_DECL_FLOORF.
55648         * doc/functions/floorf.texi: Mention the 'floorf' module.
55649
55650 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
55651             Bruno Haible  <bruno@clisp.org>
55652
55653         Advertise for the Git server instead of the CVS server.
55654         * doc/gnulib-intro.texi (Steady Development): Mention the Git
55655         repository instead of the CVS one.
55656         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
55657         about all VCS systems generically.
55658         * doc/gnulib.texi (Introduction): Capitalize `Git'.
55659
55660 2007-10-04  Bruno Haible  <bruno@clisp.org>
55661
55662         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
55663         means.
55664         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
55665
55666 2007-10-04  Bruno Haible  <bruno@clisp.org>
55667
55668         * modules/truncl-tests: New file.
55669         * tests/test-truncl.c: New file.
55670
55671         * modules/truncl: New file.
55672         * lib/truncl.c: New file.
55673         * m4/truncl.m4: New file.
55674         * lib/math.in.h (truncl): New declaration.
55675         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
55676         HAVE_DECL_TRUNCL.
55677         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
55678         HAVE_DECL_TRUNCL.
55679         * doc/functions/truncl.texi: Mention the 'truncl' module.
55680
55681 2007-10-04  Bruno Haible  <bruno@clisp.org>
55682
55683         * modules/truncf-tests: New file.
55684         * tests/test-truncf.c: New file.
55685
55686         * modules/truncf: New file.
55687         * lib/trunc.c: Make paramerizable through USE_* macros.
55688         * lib/truncf.c: New file.
55689         * m4/truncf.m4: New file.
55690         * lib/math.in.h (truncf): New declaration.
55691         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
55692         HAVE_DECL_TRUNCF.
55693         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
55694         HAVE_DECL_TRUNCF.
55695         * doc/functions/truncf.texi: Mention the 'truncf' module.
55696
55697 2007-10-03  Bruno Haible  <bruno@clisp.org>
55698
55699         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55700         augmentation also for tests modules.
55701         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
55702         * modules/atexit-tests (Makefile.am): Likewise.
55703         * modules/binary-io-tests (Makefile.am): Likewise.
55704         * modules/c-strcase-tests (Makefile.am): Likewise.
55705         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
55706         * modules/canonicalize-tests (Makefile.am): Likewise.
55707         * modules/closein-tests (Makefile.am): Likewise.
55708         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55709         * modules/freadahead-tests (Makefile.am): Likewise.
55710         * modules/fseek-tests (Makefile.am): Likewise.
55711         * modules/fseeko-tests (Makefile.am): Likewise.
55712         * modules/ftell-tests (Makefile.am): Likewise.
55713         * modules/ftello-tests (Makefile.am): Likewise.
55714         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
55715         * modules/isnanl-tests (Makefile.am): Likewise.
55716         * modules/lseek-tests (Makefile.am): Likewise.
55717         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55718         * modules/mbscasestr-tests (Makefile.am): Likewise.
55719         * modules/mbschr-tests (Makefile.am): Likewise.
55720         * modules/mbscspn-tests (Makefile.am): Likewise.
55721         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55722         * modules/mbspbrk-tests (Makefile.am): Likewise.
55723         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55724         * modules/mbsrchr-tests (Makefile.am): Likewise.
55725         * modules/mbsspn-tests (Makefile.am): Likewise.
55726         * modules/mbsstr-tests (Makefile.am): Likewise.
55727         * modules/printf-posix-tests (Makefile.am): Likewise.
55728         * modules/snprintf-posix-tests (Makefile.am): Likewise.
55729         * modules/sprintf-posix-tests (Makefile.am): Likewise.
55730         * modules/tsearch-tests (Makefile.am): Likewise.
55731         * modules/uniname/uniname-tests (Makefile.am): Likewise.
55732         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55733         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55734         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55735         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55736         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55737         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
55738         * modules/vprintf-posix-tests (Makefile.am): Likewise.
55739         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
55740         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
55741         * modules/xstrtoimax-tests (Makefile.am): Likewise.
55742         * modules/xstrtol-tests (Makefile.am): Likewise.
55743         * modules/xstrtoumax-tests (Makefile.am): Likewise.
55744         * modules/yesno-tests (Makefile.am): Likewise.
55745
55746 2007-10-03  Bruno Haible  <bruno@clisp.org>
55747
55748         * modules/trunc-tests: New file.
55749         * tests/test-trunc.c: New file.
55750
55751         * modules/trunc: New file.
55752         * lib/trunc.c: New file.
55753         * m4/trunc.m4: New file.
55754         * lib/math.in.h (trunc): New declaration.
55755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
55756         HAVE_DECL_TRUNC.
55757         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
55758         HAVE_DECL_TRUNC.
55759         * doc/functions/trunc.texi: Mention the 'trunc' module.
55760
55761 2007-10-03  Bruno Haible  <bruno@clisp.org>
55762
55763         * tests/test-fpending.c: New file, mostly copied
55764         from coreutils/lib/t-fpending.c.
55765         * modules/fpending-tests: New file.
55766
55767 2007-10-03  Bruno Haible  <bruno@clisp.org>
55768
55769         Port the stdio extensions to QNX (untested).
55770         * lib/fseterr.c (fseterr): Add support for QNX.
55771         * lib/fbufmode.c (fbufmode): Likewise.
55772         * lib/freadable.c (freadable): Likewise.
55773         * lib/fwritable.c (fwritable): Likewise.
55774         * lib/freading.c (freading): Likewise.
55775         * lib/fwriting.c (fwriting): Likewise.
55776         * lib/freadahead.c (freadahed): Likewise.
55777         * lib/fpurge.c (fpurge): Likewise.
55778         * lib/fseeko.c (rpl_fseeko): Likewise.
55779
55780 2007-10-03  Bruno Haible  <bruno@clisp.org>
55781             Jim Meyering  <jim@meyering.net>
55782             Eric Blake  <ebb9@byu.net>
55783
55784         * doc/relocatable.texi: Use @command instead of @program.
55785
55786 2007-10-02  Jim Meyering  <jim@meyering.net>
55787
55788         Perform one more "_.h" -> ".in.h" substitution.
55789         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
55790         instead of unistd_.h here, too.
55791
55792 2007-10-01  Bruno Haible  <bruno@clisp.org>
55793
55794         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
55795         Needed for the alloca-opt module.
55796
55797 2007-09-30  Bruno Haible  <bruno@clisp.org>
55798
55799         * lib/alloca.in.h: Renamed from lib/alloca_.h.
55800         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
55801         alloca_.h.
55802         * lib/argz.in.h: Renamed from lib/argz_.h.
55803         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
55804         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
55805         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
55806         byteswap_.h.
55807         * lib/dirent.in.h: Renamed from lib/dirent_.h.
55808         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
55809         dirent_.h.
55810         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
55811         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
55812         fcntl_.h.
55813         * lib/float.in.h: Renamed from lib/float_.h.
55814         * modules/float (Files, Makefile.am): Use float.in.h instead of
55815         float_.h.
55816         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
55817         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
55818         fnmatch_.h.
55819         * lib/getopt.in.h: Renamed from lib/getopt_.h.
55820         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
55821         getopt_.h.
55822         * lib/glob.in.h: Renamed from lib/glob_.h.
55823         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
55824         * lib/iconv.in.h: Renamed from lib/iconv_.h.
55825         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
55826         iconv_.h.
55827         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
55828         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
55829         inttypes_.h.
55830         * lib/locale.in.h: Renamed from lib/locale_.h.
55831         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
55832         locale_.h.
55833         * lib/math.in.h: Renamed from lib/math_.h.
55834         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
55835         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
55836         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
55837         of netinet_in_.h. Add dependency.
55838         * lib/poll.in.h: Renamed from lib/poll_.h.
55839         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
55840         * lib/search.in.h: Renamed from lib/search_.h.
55841         * modules/search (Files, Makefile.am): Use search.in.h instead of
55842         search_.h.
55843         * lib/signal.in.h: Renamed from lib/signal_.h.
55844         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
55845         _signal.h.
55846         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
55847         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
55848         stdbool_.h.
55849         * lib/stdint.in.h: Renamed from lib/stdint_.h.
55850         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
55851         stdint_.h.
55852         * lib/stdio.in.h: Renamed from lib/stdio_.h.
55853         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
55854         stdio_.h.
55855         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
55856         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
55857         stdlib_.h.
55858         * lib/string.in.h: Renamed from lib/string_.h.
55859         * modules/string (Files, Makefile.am): Use string.in.h instead of
55860         string_.h.
55861         * doc/gnulib-tool.texi (Initial import): Update.
55862         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
55863         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
55864         of sys_select_.h. Add dependency.
55865         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
55866         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
55867         of sys_socket_.h.
55868         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
55869         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
55870         sys_stat_.h.
55871         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
55872         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
55873         sys_time_.h.
55874         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
55875         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
55876         sysexits_.h.
55877         * lib/time.in.h: Renamed from lib/time_.h.
55878         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
55879         * lib/unistd.in.h: Renamed from lib/unistd_.h.
55880         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
55881         unistd_.h.
55882         * lib/wchar.in.h: Renamed from lib/wchar_.h.
55883         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
55884         wchar_.h.
55885         * lib/wctype.in.h: Renamed from lib/wctype_.h.
55886         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
55887         wctype_.h.
55888         * build-aux/bootstrap (slurp): Update.
55889         * lib/.cppi-disable: Update.
55890
55891 2007-09-30  Bruno Haible  <bruno@clisp.org>
55892
55893         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
55894         Needed on BeOS.
55895
55896 2007-09-30  Bruno Haible  <bruno@clisp.org>
55897
55898         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
55899
55900 2007-09-29  Bruno Haible  <bruno@clisp.org>
55901
55902         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
55903
55904 2007-09-29  Bruno Haible  <bruno@clisp.org>
55905
55906         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
55907         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
55908         * build-aux/install-reloc: Compile also areadlink.c.
55909         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
55910
55911 2007-09-29  Bruno Haible  <bruno@clisp.org>
55912
55913         * gnulib-tool (func_emit_initmacro_done): Indentation.
55914
55915 2007-09-29  Bruno Haible  <bruno@clisp.org>
55916
55917         * README: Add CVS checkout update instructions.
55918         Info from Bob Proulx <bob@proulx.com>.
55919
55920 2007-09-28  Eric Blake  <ebb9@byu.net>
55921
55922         Provide move-if-change.
55923         * build-aux/move-if-change: New file, based on best practice
55924         rather than any canonical upstream location.
55925
55926 2007-09-28  Jim Meyering  <jim@meyering.net>
55927
55928         Fix canonicalize loop-detection corner case.
55929         Do not attempt to stat the symlink values stored via seen_triple.
55930         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
55931         on linux-2.6.18, (but not 2.6.22).
55932         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
55933         triple_compare.  The former compares dev,ino,filename, while the latter
55934         would actually stat dirname(filename) when dev and ino were equal.
55935         * lib/hash-triple.c: Install <string.h>.
55936         (STREQ): Define.
55937         (triple_compare_ino_str): New function.
55938         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
55939
55940 2007-09-28  Eric Blake  <ebb9@byu.net>
55941
55942         Enforce that AC_REPLACE_FUNCS files exist.
55943         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
55944         override check for typos.
55945
55946         Fix test-closein on Solaris 10.
55947         * tests/test-closein.c (main): Don't assume stdin can be inherited
55948         closed on all systems.
55949         * tests/test-closein.sh: Likewise.
55950         Reported by Piotr Tarnowski.
55951
55952 2007-09-28  Jim Meyering  <jim@meyering.net>
55953
55954         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
55955
55956 2007-09-27  Jim Meyering  <jim@meyering.net>
55957
55958         canonicalize: Avoid a false-positive cycle failure.
55959         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
55960         Sort.  Remove cycle-check.
55961         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
55962         not cycle-check.h.
55963         (seen_triple): New function.
55964         (canonicalize_filename_mode): Use it instead of cycle-check.
55965         * tests/test-canonicalize.c: Add a test for this bug.
55966         * tests/test-canonicalize.sh: Set up and run the test.
55967
55968         New module, file-set, from coreutils.
55969         * modules/file-set: Define it.
55970         * lib/file-set.c, lib/file-set.h: Implement.
55971
55972         New module, hash-triple, from coreutils.
55973         * modules/hash-triple: Define it.
55974         * lib/hash-triple.c, lib/hash-triple.h: Implement.
55975
55976 2007-09-25  Eric Blake  <ebb9@byu.net>
55977
55978         Fix strerror on Interix.
55979         * lib/string_.h (strerror): Declare replacement.
55980         * doc/functions/strerror.texi (strerror): Document the Interix
55981         shortcoming.
55982         * modules/string (Makefile.am): Support new hooks.
55983         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
55984         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
55985         gl_FUNC_STRERROR_SEPARATE.
55986         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
55987         * lib/strerror.c (rpl_strerror): Provide replacement.
55988         * modules/strerror (Depends-on): Add string.
55989         (configure.ac): Detect use of module.
55990         * tests/test-strerror.c: New file.
55991         * modules/strerror-tests: New test module.
55992         * modules/argp (Depends-on): Add strerror.
55993         * modules/error (Depends-on): Likewise.
55994         Reported by Martin Koeppe.
55995
55996 2007-09-24  Bruno Haible  <bruno@clisp.org>
55997
55998         * README: Update git instructions.
55999
56000 2007-09-24  Eric Blake  <ebb9@byu.net>
56001
56002         Revert fpending breakage from 2007-09-08.
56003         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56004         __fpending.c.
56005
56006 2007-09-24  Jim Meyering  <jim@meyering.net>
56007
56008         filenamecat.c: Add a test.
56009         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56010         showing how the function works when DIR is the empty string.
56011
56012 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56013
56014         * tests/test-canonicalize.sh: Turn on executable bit.
56015
56016 2007-09-19  Eric Blake  <ebb9@byu.net>
56017
56018         * README: Update CVS instructions.
56019
56020 2007-09-18  Bruno Haible  <bruno@clisp.org>
56021
56022         * modules/areadlink: New file.
56023         * lib/areadlink.h (areadlink): New declaration.
56024         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56025
56026 2007-09-17  Jim Meyering  <jim@meyering.net>
56027
56028         * lib/savewd.c (ESTALE) [!defined]: Define.
56029         Reported to be required on Interix by Martin Koeppe.
56030
56031 2007-09-17  Bruno Haible  <bruno@clisp.org>
56032
56033         * gnulib-tool (func_version): Use $version.
56034
56035 2007-09-16  Bruno Haible  <bruno@clisp.org>
56036
56037         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56038         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56039         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56040         Reported by Greg Schafer <gschafer@zip.com.au>.
56041
56042 2007-09-15  Bruno Haible  <bruno@clisp.org>
56043
56044         * gnulib-tool (sed): Try a little harder to make bash understand the
56045         alias.
56046         Reported by Bruce Korb <bruce.korb@gmail.com>.
56047
56048 2007-09-13  Eric Blake  <ebb9@byu.net>
56049
56050         * ChangeLog: Remove conflict markers.
56051
56052 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56053
56054         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56055         Reported by Bruno Haible <bruno@clisp.org>.
56056
56057 2007-09-12  Bruno Haible  <bruno@clisp.org>
56058
56059         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56060         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56061         is not defined.
56062
56063 2007-09-12  Eric Blake  <ebb9@byu.net>
56064
56065         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56066         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56067         Autoconf definition.
56068         * modules/euidaccess (Depends-on): Add extensions, for
56069         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56070         * modules/fnmatch (Depends-on): Likewise.
56071         * modules/getaddrinfo (Depends-on): Likewise.
56072         * modules/getdelim (Depends-on): Likewise.
56073         * modules/getline (Depends-on): Likewise.
56074         * modules/getsubopt (Depends-on): Likewise.
56075         * modules/gettext (Depends-on): Likewise.
56076         * modules/group-member (Depends-on): Likewise.
56077         * modules/mbchar (Depends-on): Likewise.
56078         * modules/memmem (Depends-on): Likewise.
56079         * modules/mempcpy (Depends-on): Likewise.
56080         * modules/memrchr (Depends-on): Likewise.
56081         * modules/pagealign_alloc (Depends-on): Likewise.
56082         * modules/readutmp (Depends-on): Likewise.
56083         * modules/stpcpy (Depends-on): Likewise.
56084         * modules/stpncpy (Depends-on): Likewise.
56085         * modules/strchrnul (Depends-on): Likewise.
56086         * modules/strndup (Depends-on): Likewise.
56087         * modules/strsep (Depends-on): Likewise.
56088         * modules/strverscmp (Depends-on): Likewise.
56089         * modules/vasprintf (Depends-on): Likewise.
56090         * modules/wcwidth (Depends-on): Likewise.
56091         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56092         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56093         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56094         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56095         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56096         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56097         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56098         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56099         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56100         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56101         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56102         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56103         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56104         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56105         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56106         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56107         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56108         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56109         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56110         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56111         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56112         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56113         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56114         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56115         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56116         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56117         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56118         so that lock.m4 can be used in gettext without extensions module.
56119
56120 2007-09-11  Bruno Haible  <bruno@clisp.org>
56121
56122         * m4/isc-posix.m4: Remove file.
56123         Suggested by Eric Blake.
56124
56125 2007-09-11  Eric Blake  <ebb9@byu.net>
56126
56127         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56128
56129 2007-09-10  Bruno Haible  <bruno@clisp.org>
56130
56131         * posix-modules: Fix typo in error message.
56132         Reported by Matt <mkraai@beckman.com>.
56133
56134 2007-09-09  Bruno Haible  <bruno@clisp.org>
56135
56136         * doc/functions/getdelim.texi: Update list of platforms lacking the
56137         function.
56138         * doc/functions/getline.texi: Likewise.
56139
56140 2007-09-09  Jim Meyering  <jim@meyering.net>
56141
56142         * lib/hash.c (hash_initialize): Detect calloc failure.
56143         Reported by Bruno Haible.
56144
56145 2007-09-09  Bruno Haible  <bruno@clisp.org>
56146
56147         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56148         malloc or realloc fails.
56149
56150 2007-09-09  Bruno Haible  <bruno@clisp.org>
56151
56152         * modules/getcwd (Depends-on): Add malloc-posix.
56153         * modules/glob (Depends-on): Likewise.
56154         * modules/putenv (Depends-on): Likewise.
56155         * modules/strdup (Depends-on): Likewise.
56156         * modules/getdelim (Depends-on): Add realloc-posix.
56157         * modules/read-file (Depends-on): Likewise.
56158
56159 2007-09-09  Bruno Haible  <bruno@clisp.org>
56160
56161         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56162         (gl_FUNC_MALLOC_POSIX): Require it.
56163         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56164         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56165         * modules/realloc (Files): Add m4/malloc.m4.
56166         * modules/calloc (Files): Likewise.
56167
56168 2007-09-09  Bruno Haible  <bruno@clisp.org>
56169
56170         * modules/malloc-posix: New file.
56171         * modules/malloc (Depends-on): Add malloc-posix.
56172         * lib/malloc.c: Include errno.h.
56173         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56174         and a POSIX-compatible malloc into a single function. Set ENOMEM
56175         when returning NULL.
56176         * m4/malloc.m4: New file.
56177         * doc/functions/malloc.texi: Mention the malloc-posix module.
56178         * lib/stdlib_.h (malloc): New declaration.
56179         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56180         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56181         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56182         and HAVE_MALLOC_POSIX.
56183
56184 2007-09-09  Bruno Haible  <bruno@clisp.org>
56185
56186         * modules/realloc-posix: New file.
56187         * modules/realloc (Depends-on): Add realloc-posix.
56188         * lib/realloc.c: Include errno.h.
56189         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56190         and a POSIX-compatible realloc into a single function. Set ENOMEM
56191         when returning NULL.
56192         * m4/realloc.m4: New file.
56193         * doc/functions/realloc.texi: Mention the realloc-posix module.
56194         * lib/stdlib_.h (realloc): New declaration.
56195         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56196         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56197         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56198         and HAVE_REALLOC_POSIX.
56199
56200 2007-09-09  Bruno Haible  <bruno@clisp.org>
56201
56202         * modules/calloc-posix: New file.
56203         * modules/calloc (Depends-on): Add calloc-posix.
56204         * lib/calloc.c: Include errno.h.
56205         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56206         and a POSIX-compatible calloc into a single function. Set ENOMEM
56207         when returning NULL.
56208         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56209         * doc/functions/calloc.texi: Mention the calloc-posix module.
56210         * lib/stdlib_.h (calloc): New declaration.
56211         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56212         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56213         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56214         and HAVE_CALLOC_POSIX.
56215
56216 2007-09-09  Bruno Haible  <bruno@clisp.org>
56217
56218         Allow for modules to show an arbitrary notice.
56219         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56220         * gnulib-tool: New option --extract-notice.
56221         (func_usage): Document it.
56222         (sed_extract_prog): Update.
56223         (func_get_notice): New function.
56224         (func_modules_notice): New function.
56225         (func_import, func_create_testdir): Invoke it.
56226         Suggested by Jim Meyering.
56227
56228 2007-09-09  Bruno Haible  <bruno@clisp.org>
56229
56230         * gnulib-tool: New options --verbose, --quiet.
56231         (func_usage): Document them.
56232         (verbose): New variable.
56233         (func_execute_command): New function.
56234         (func_import): Don't show the module list and the file list if
56235         $verbose < 0.
56236         (func_create_testdir): Likewise. Use func_execute_command.
56237         (func_create_megatestdir): Use func_execute_command.
56238
56239 2007-09-08  Bruno Haible  <bruno@clisp.org>
56240
56241         * gnulib-tool (func_import): Prefer rsync over wget when available,
56242         for fetching the PO files.
56243
56244 2007-09-08  Bruno Haible  <bruno@clisp.org>
56245
56246         * posix-modules: New file. Portions copied from gnulib-tool.
56247         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56248
56249 2007-09-08  Jim Meyering  <jim@meyering.net>
56250
56251         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56252         * lib/fpending.h: Rename from __fpending.h.
56253         * lib/fpending.c: Rename from __fpending.c.
56254         Include "fpending.h", not "__fpending.h".
56255         * lib/__fpending.h, lib/__fpending.c: Remove files.
56256         * modules/fpending (Files): Reflect new file names.
56257         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56258
56259 2007-09-08  Bruno Haible  <bruno@clisp.org>
56260
56261         * m4/inttypes-h.m4: Remove stub file.
56262
56263 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56264
56265         * doc/headers/stdint.texi: Discuss #include_next issue.
56266
56267 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56268
56269         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56270
56271 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56272
56273         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56274         in variable name.
56275
56276 2007-09-03  Jim Meyering  <jim@meyering.net>
56277
56278         New module: git-version-gen.
56279         * modules/git-version-gen: New file.
56280
56281         Import changes from coreutils for bootstrap script.
56282
56283         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56284
56285         bootstrap: uses rsync to download the .po files
56286         * build-aux/bootstrap (po_download_command_format): New global.
56287         (download_po_files): Use rsync.
56288         (update_po_files): Don't remove .po files after download,
56289         so future rsync runs can take advantage of the copies.
56290
56291         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56292
56293         Solve the unnecessary-.po-file-regeneration problem once and for all.
56294         * build-aux/bootstrap (download_po_files): New function, renamed from
56295         get_translations.  Now, downloads, but doesn't update LINGUAS.
56296         (update_po_files): New function.
56297
56298         bootstrap: Ignore more.
56299         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56300         uniwidth to e.g., lib/.gitignore.
56301         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56302
56303         * build-aux/bootstrap: New setting: vc_ignore.
56304         (insert_sorted_if_absent): Create $file if absent.
56305         Adapt to new, possibly empty, list: $vc_ignore.
56306
56307         bootstrap: generate more ignorable names
56308         * build-aux/bootstrap (slurp): When generating ignorable names,
56309         also map .sin to .sed, .gperf to .c, and .y to .c.
56310
56311 2007-09-03  Jim Meyering  <jim@meyering.net>
56312
56313         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56314         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56315
56316 2007-09-02  Bruno Haible  <bruno@clisp.org>
56317
56318         Fix mis-recognition of 'mcs' on QNX 6.
56319         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56320         output contains the string "Mono".
56321         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56322         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56323
56324 2007-09-01  Bruno Haible  <bruno@clisp.org>
56325
56326         Fix collision between uniwidth/* and linebreak modules.
56327         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56328         u32_width): Remove declarations.
56329         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56330         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56331         streq3, streq2, streq1, streq0): Remove functions.
56332         (STREQ): Remove macro.
56333         (is_cjk_encoding): Remove function.
56334         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56335         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56336         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56337         * NEWS: Document the change.
56338
56339 2007-09-01  Bruno Haible  <bruno@clisp.org>
56340
56341         * lib/streq.h: Add double-inclusion guard.
56342
56343 2007-09-01  Karl Berry  <karl@gnu.org>
56344
56345         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56346
56347 2007-08-28  Jim Meyering  <jim@meyering.net>
56348
56349         Rename mreadlink_with_size to areadlink_with_size.
56350         * NEWS: Document the change.
56351         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56352         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56353         * lib/mreadlink.h: Rename this to...
56354         * lib/areadlink.h: ...this.
56355         * modules/mreadlink-with-size: Rename this to...
56356         * modules/areadlink-with-size: ...this.
56357         * lib/canonicalize.c: Reflect the renaming.
56358         * modules/canonicalize: Likewise.
56359
56360 2007-08-26  Bruno Haible  <bruno@clisp.org>
56361
56362         * gnulib-tool (func_import): When deciding which files to remove,
56363         consider also dangling symbolic links.
56364         Reported by Eric Blake.
56365
56366 2007-08-26  Bruno Haible  <bruno@clisp.org>
56367
56368         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56369
56370 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56371
56372         * lib/readline.c: Don't include getline.h, the prototype is now
56373         found in stdio.h.
56374
56375 2007-08-23  Jim Meyering  <jim@meyering.net>
56376
56377         Getdelim touchup.
56378         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56379         around the funlockfile call, since funlockfile never sets errno.
56380         Don't set errno upon failed realloc.
56381
56382 2007-08-22  Eric Blake  <ebb9@byu.net>
56383
56384         Getline touchups.
56385         * lib/getdelim.c (getdelim): Revert regression that required *n to
56386         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56387         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56388         getdelim, rather than whether implementation is missing.
56389         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56390         * lib/stdio_.h (getline): Also declare if replacement is
56391         required.
56392         * doc/functions/getdelim.texi: New file.
56393         * doc/functions/getline.texi: Likewise.
56394         * doc/gnulib.texi (Function Substitutes): Add new files.
56395         Reported by Bruno Haible.
56396
56397 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56398
56399         * users.txt: Add Guile.
56400
56401 2007-08-22  Eric Blake  <ebb9@byu.net>
56402
56403         * tests/test-getdelim.c (main): Use remove, not unlink.
56404         * tests/test-getline.c (main): Likewise.
56405
56406         Move getline and getdelim into stdio.h, per POSIX 200x.
56407         * modules/getline (Files): Remove getline.h.
56408         (Depends-on): Add stdio.
56409         (configure.ac): Add module indicator.
56410         * modules/getdelim (Files): Remove getdelim.h.
56411         (Depends-on): Add stdio.
56412         (configure.ac): Add module indicator.
56413         * modules/stdio (Makefile.am): Work with new indicators.
56414         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56415         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56416         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56417         * lib/getdelim.h: Delete.
56418         * lib/getline.h: Delete.
56419         * lib/stdio_.h (getdelim, getline): Declare.
56420         * modules/getdelim-tests: New module.
56421         * modules/getline-tests: Likewise.
56422         * tests/test-getdelim.c: New file.
56423         * tests/test-getline.c: Likewise.
56424         * NEWS: Document the change.
56425         * lib/getline.c: Update choice of header.
56426         * lib/csharpcomp.c: Likewise.
56427         * lib/getpass.c: Likewise.
56428         * lib/javacomp.c: Likewise.
56429         * lib/javaversion.c: Likewise.
56430         * lib/yesno.c: Likewise.
56431         * lib/getdelim.c: Likewise.
56432         (getdelim): Set errno on failure, and avoid memory leak.
56433
56434 2007-08-19  Bruno Haible  <bruno@clisp.org>
56435
56436         * modules/closein (Depends-on): Add freadahead.
56437         * lib/closein.c: Include freadahead.h.
56438         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56439         is zero.
56440
56441 2007-08-19  Bruno Haible  <bruno@clisp.org>
56442
56443         * modules/freadahead-tests: New file.
56444         * tests/test-freadahead.sh: New file.
56445         * tests/test-freadahead.c: New file.
56446
56447         * modules/freadahead: New file.
56448         * lib/freadahead.h: New file.
56449         * lib/freadahead.c: New file.
56450         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56451         fbufmode, fpurge, freadable, fwritable.
56452
56453 2007-08-19  Eric Blake  <ebb9@byu.net>
56454
56455         Test yesno in combination with closein.
56456         * lib/yesno.c (yesno): Document use of stdin.
56457         * modules/yesno-tests (Files): New module.
56458         * tests/test-yesno.c (main): New file.
56459         * tests/test-yesno.sh: Likewise.
56460
56461 2007-08-19  Bruno Haible  <bruno@clisp.org>
56462
56463         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56464         * lib/fseeko.c (rpl_fseeko): Likewise.
56465         * lib/fseterr.c (fseterr): Likewise.
56466
56467 2007-08-19  Bruno Haible  <bruno@clisp.org>
56468
56469         * tests/test-lseek.c (main): Disable a test for BeOS.
56470         * doc/functions/lseek.texi: Document the BeOS bug.
56471
56472 2007-08-19  Bruno Haible  <bruno@clisp.org>
56473             Eric Blake  <ebb9@byu.net>
56474
56475         * lib/lseek.c: Include <sys/stat.h>.
56476         (rpl_lseek): Add workaround code also for Unix platforms.
56477         Needed for BeOS.
56478         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
56479         * doc/functions/lseek.texi: Document BeOS definiency.
56480
56481 2007-08-18  Bruno Haible  <bruno@clisp.org>
56482
56483         * modules/fstrcmp-tests: New file.
56484         * tests/test-fstrcmp.c: New file.
56485
56486 2007-08-18  Bruno Haible  <bruno@clisp.org>
56487
56488         * modules/fstrcmp: New file, from GNU gettext with modifications.
56489         * lib/fstrcmp.h: New file, from GNU gettext.
56490         * lib/fstrcmp.c: New file, from GNU gettext.
56491         * MODULES.html.sh (String handling): Add fstrcmp.
56492
56493 2007-08-18  Bruno Haible  <bruno@clisp.org>
56494
56495         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
56496         'bool'.
56497         (diag, compareseq): Remove const from the ctxt argument.
56498         (USE_HEURISTIC): Undefine at the end.
56499
56500 2007-08-18  Jim Meyering  <jim@meyering.net>
56501
56502         New file: lib/idcache.h
56503         * NEWS: Mention the addition.
56504         * modules/idcache (Files): Add lib/idcache.h
56505         * lib/idcache.c: Include "idcache.h".
56506         Don't include <sys/types.h>.
56507         Add a FIXME comment.
56508         Move file-scoped "static" declarations to the top.
56509         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
56510
56511 2007-08-17  Bruno Haible  <bruno@clisp.org>
56512         and Paul Eggert  <eggert@cs.ucla.edu>
56513
56514         * MODULES.html.sh: Add diffseq.
56515         * modules/diffseq: New file.
56516         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
56517         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
56518
56519 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56520
56521         Import changes from coreutils for bootstrap script.
56522
56523         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
56524
56525         * build-aux/bootstrap (slurp): Work even in environments where
56526         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
56527         current code does not slurp files whose names start with ".", and
56528         this looks like it might be a troublesome area.
56529
56530         2007-07-11  Jim Meyering  <jim@meyering.net>
56531
56532         If there's a GPL vN copyright comment, require that N == 3.
56533
56534         2007-07-08  Jim Meyering  <jim@meyering.net>
56535
56536         Run the coreutils-specific code only if tests/Makefile.am.in exists.
56537         * build-aux/bootstrap (mam_template): Move definition out of loop.
56538
56539         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
56540
56541         * build-aux/bootstrap (symlink_to_dir): Rename function from
56542         symlink_to_gnulib.  Add a directory parameter.  Update all
56543         callers.
56544         (cp_mark_as_generated): Also check for -- and link to -- files in
56545         gl/.
56546
56547         2007-07-08  Jim Meyering  <jim@meyering.net>
56548
56549         Adapt to deeper hierarchy in gnulib.
56550         * build-aux/bootstrap (symlink_to_dir): If the destination
56551         directory doesn't exist, create it. This is required at least for
56552         "lib/uniwidth/cjk.h".
56553
56554         2007-05-15  Jim Meyering  <jim@meyering.net>
56555
56556         * build-aux/bootstrap: Now that generated Makefile.am files
56557         are no longer under version control, they must be created at
56558         bootstrap time.
56559
56560 2007-08-14  Ben Pfaff  <blp@gnu.org>
56561
56562         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
56563
56564 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56565
56566         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
56567         given the changes below.
56568         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
56569         even on hosts that have padding bits beyond the supported 64.
56570
56571 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56572
56573         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
56574         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
56575         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
56576         depends on it.
56577         (xstrtol_error): Remove.
56578         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
56579         but with a different signature.
56580         (ATTRIBUTE_NORETURN, __attribute__): New macros.
56581         * lib/xstrtol-error.c: Include exitfail.h.
56582         (xstrtol_fatal): New function, with a different signature from the
56583         old xstrtol_error, so that the caller need not worry about passing
56584         in an exit status, or about storage management of the option argument.
56585         (xstrtol_error): Now a static function.  Redo signature to
56586         implement xstrtol_fatal.  Output the correct number of hyphens in
56587         front of the option so that the caller need not worry about
56588         storage management.
56589         (N_): New macro.
56590         (_): Remove; not used now.
56591         * modules/xstrtol: Depend on getopt.
56592         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
56593         of old STRTOL_FATAL_ERROR macro.
56594         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
56595         of test program.
56596         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
56597         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
56598
56599 2007-08-08  Eric Blake  <ebb9@byu.net>
56600
56601         * lib/xstrtol-error.c: Add missing include.
56602
56603         Move xstrtol messages into gnulib domain, when --pobase is used.
56604         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
56605         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
56606         * modules/xstrtol (Files): Distribute new file.
56607         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
56608         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
56609         * tests/test-xstrtol.c: ...into new file.
56610         * tests/test-xstrtoul.c: Also test xstrtoul.
56611         * tests/test-xstrtoimax.c: Also test xstrtoimax.
56612         * tests/test-xstrtoumax.c: Also test xstrtoumax.
56613         * tests/test-xstrtol.sh: Drive the tests.
56614         * tests/test-xstrtoimax.sh: Likewise.
56615         * tests/test-xstrtoumax.sh: Likewise.
56616         * modules/xstrtol-tests: New module.
56617         * modules/xstrtoimax-tests: Likewise.
56618         * modules/xstrtoumax-tests: Likewise.
56619
56620 2007-08-08  Jim Meyering  <jim@meyering.net>
56621
56622         New function: mfile_name_concat.
56623         * lib/filenamecat.c (mfile_name_concat): New function, just like
56624         file_name_concat, but return NULL upon failure rather than exiting
56625         with a diagnostic.
56626         * lib/filenamecat.h: Declare it.
56627
56628 2007-08-07  Bruno Haible  <bruno@clisp.org>
56629
56630         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
56631         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
56632         warning from gcc.
56633         Reported by Eric Blake.
56634
56635 2007-08-07  Simon Josefsson  <simon@josefsson.org>
56636
56637         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
56638         * modules/crypto/arcfour (License): Likewise.
56639         * modules/crypto/des-tests (License): Likewise.
56640         * modules/crypto/gc-arctwo-tests (License): Likewise.
56641         * modules/crypto/gc-des-tests (License): Likewise.
56642         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
56643         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
56644         * modules/crypto/gc-md2-tests (License): Likewise.
56645         * modules/crypto/gc-md4-tests (License): Likewise.
56646         * modules/crypto/gc-md5-tests (License): Likewise.
56647         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
56648         * modules/crypto/gc-rijndael-tests (License): Likewise.
56649         * modules/crypto/gc-sha1-tests (License): Likewise.
56650         * modules/crypto/gc-tests (License): Likewise.
56651         * modules/crypto/hmac-md5 (License): Likewise.
56652         * modules/crypto/hmac-sha1 (License): Likewise.
56653         * modules/crypto/md2-tests (License): Likewise.
56654         * modules/crypto/md4-tests (License): Likewise.
56655         * modules/crypto/md5 (License): Likewise.
56656         * modules/crypto/rijndael (License): Likewise.
56657         * modules/crypto/sha1 (License): Likewise.
56658         * modules/memxor (License): Likewise.
56659
56660 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56661         and Bruno Haible  <bruno@clisp.org>
56662
56663         * NEWS: Describe interface changes to human, xstrtol.
56664         * lib/human.h: Include <xstrtol.h>.
56665         (human_options): Return enum strtol_error, not int.  Remove
56666         bool arg; take int * instead.
56667         * lib/human.c: Don't include "gettext.h".
56668         (_): Remove; no longer used.
56669         Don't include <xstrtol.h>, since human.h does it.
56670         (human_options): Adjust to abovementioned interface changes.
56671         Do not report error to stderr; that's now the caller's
56672         responsibility.
56673         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
56674         interface change.
56675         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
56676         Str, Argument_type_string.  All uses changed.  Put " argument"
56677         in diagnostics to make them clearer.  Change wording of suffix
56678         message for clarity.
56679         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
56680         Argument_type_string.
56681         (STRTOL_FATAL_WARN): Remove; no longer used.
56682         * modules/human (Depends-on): Remove gettext-h.
56683
56684 2007-08-06  Simon Josefsson  <simon@josefsson.org>
56685
56686         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
56687
56688 2007-07-31  Bruno Haible  <bruno@clisp.org>
56689
56690         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
56691         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
56692         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
56693
56694 2007-07-31  Bruno Haible  <bruno@clisp.org>
56695
56696         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
56697         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
56698
56699 2007-07-30  Bruno Haible  <bruno@clisp.org>
56700
56701         * modules/base64 (License): Use the synonymous term "LGPLv2+".
56702         * modules/c-ctype (License): Likewise.
56703         * modules/c-strcase (License): Likewise.
56704         * modules/check-version (License): Likewise.
56705         * modules/iconv (License): Likewise.
56706         * modules/iconv_open (License): Likewise.
56707         * modules/read-file (License): Likewise.
56708         * modules/striconv (License): Likewise.
56709         * modules/strverscmp (License): Likewise.
56710         * modules/vasprintf (License): Likewise.
56711         * modules/crypto/des (License): Likewise.
56712         * modules/crypto/gc (License): Likewise.
56713         * modules/crypto/gc-arcfour (License): Likewise.
56714         * modules/crypto/gc-arctwo (License): Likewise.
56715         * modules/crypto/gc-des (License): Likewise.
56716         * modules/crypto/gc-hmac-md5 (License): Likewise.
56717         * modules/crypto/gc-hmac-sha1 (License): Likewise.
56718         * modules/crypto/gc-md2 (License): Likewise.
56719         * modules/crypto/gc-md4 (License): Likewise.
56720         * modules/crypto/gc-md5 (License): Likewise.
56721         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
56722         * modules/crypto/gc-random (License): Likewise.
56723         * modules/crypto/gc-rijndael (License): Likewise.
56724         * modules/crypto/gc-sha1 (License): Likewise.
56725         * modules/crypto/md2 (License): Likewise.
56726         * modules/crypto/md4 (License): Likewise.
56727
56728 2007-07-30  Jim Meyering  <jim@meyering.net>
56729
56730         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
56731         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
56732         it has valid stat data.  This bug would cause du not to count the
56733         sizes of inaccessible directories.
56734         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
56735         in <http://bugzilla.redhat.com/250077>.
56736
56737 2007-07-25  Peter O'Gorman  <peter@pogma.com>
56738             Bruno Haible  <bruno@clisp.org>
56739
56740         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
56741         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
56742         #include_next, gives a diagnostic about it, but reports no error in
56743         the exit code.
56744         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
56745
56746 2007-07-24  Ben Pfaff  <blp@gnu.org>
56747
56748         Improve name: "count-one-bits" is better than "popcount".
56749         * MODULES.html.sh: Update name.
56750         * lib/popcount.h: Renamed lib/count-one-bits.h.
56751         (popcount): Renamed count_one_bits.
56752         (popcountl): Renamed count_one_bits_l.
56753         (popcountll): Renamed count_one_bits_ll.
56754         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
56755         * modules/popcount: Renamed module/count-one-bits.
56756         * modules/popcount-tests: Renamed module/count-one-bits-tests.
56757         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
56758
56759 2007-07-23  Ben Pfaff  <blp@gnu.org>
56760
56761         * lib/popcount.h (popcount32): Reduce size of constants, to allow
56762         better code generation, and add U to large constants to avoid
56763         warnings, in non-GCC case.
56764         Suggested by Bruno Haible.
56765
56766 2007-07-23  Ben Pfaff  <blp@gnu.org>
56767
56768         * lib/popcount.h: Use verify_true instead of if...abort.
56769         * modules/popcount: Depend on verify module.
56770         Suggested by Jim Meyering.
56771
56772 2007-07-23  Bruno Haible  <bruno@clisp.org>
56773
56774         * gnulib-tool (func_import): Create a .cvsignore file also when the
56775         directory is not yet in CVS but the toplevel directory is. When
56776         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
56777         Reported by Karl Berry.
56778
56779 2007-07-22  Ben Pfaff  <blp@gnu.org>
56780
56781         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
56782         case.
56783         Suggested by Eric Blake.
56784
56785 2007-07-22  Ben Pfaff  <blp@gnu.org>
56786
56787         New module: popcount.
56788         * MODULES.html.sh: Add popcount.
56789         * modules/popcount: New file.
56790         * modules/popcount-tests: New file.
56791         * tests/test-popcount.c: New file.
56792         * lib/popcount.h: New file.
56793         * m4/popcount.m4: New file.
56794
56795 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
56796
56797         * build-aux/announce-gen: Update to GPLv3.
56798
56799         * build-aux/config.guess: Update from config.
56800
56801 2007-07-21  Bruno Haible  <bruno@clisp.org>
56802
56803         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
56804         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
56805
56806 2007-07-20  Jim Meyering  <jim@meyering.net>
56807
56808         * check-module: Diagnose a self-dependency.
56809
56810 2007-07-19  Bruno Haible  <bruno@clisp.org>
56811
56812         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
56813         empty.
56814         Reported by Eric Blake.
56815
56816 2007-07-18  Bruno Haible  <bruno@clisp.org>
56817
56818         * gnulib-tool: New options --po-base, --po-domain.
56819         (func_usage): Document them.
56820         (pobase, po_domain): New variables.
56821         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
56822         DEFAULT_TEXT_DOMAIN.
56823         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
56824         (func_import): Consider pobase and po_domain. Create a po/ directory.
56825         (func_create_testdir): Set pobase and po_domain to empty.
56826         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
56827         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
56828
56829 2007-07-18  Bruno Haible  <bruno@clisp.org>
56830
56831         * gnulib-tool (func_get_automake_snippet): Synthesize also an
56832         EXTRA_DIST augmentation for files in build-aux/.
56833
56834 2007-07-16  Bruno Haible  <bruno@clisp.org>
56835
56836         * modules/lseek (License): Use the synonymous term "LGPLv2+".
56837         * modules/getdelim (License): Likewise.
56838
56839 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56840
56841         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
56842         * modules/d-type (License): Likewise.
56843         * modules/extensions (License): Likewise.
56844         * modules/fnmatch (License): Likewise.
56845         * modules/fseeko (License): Likewise.
56846         * modules/getaddrinfo (License): Likewise.
56847         * modules/getline (License): Likewise.
56848         * modules/getlogin_r (License): Likewise.
56849         * modules/getpass (License): Likewise.
56850         * modules/gettimeofday (License): Likewise.
56851         * modules/glob (License): Likewise.
56852         * modules/inet_ntop (License): Likewise.
56853         * modules/malloc (License): Likewise.
56854         * modules/malloca (License): Likewise.
56855         * modules/memmem (License): Likewise.
56856         * modules/mempcpy (License): Likewise.
56857         * modules/memset (License): Likewise.
56858         * modules/minmax (License): Likewise.
56859         * modules/mktime (License): Likewise.
56860         * modules/netinet_in (License): Likewise.
56861         * modules/pathmax (License): Likewise.
56862         * modules/poll (License): Likewise.
56863         * modules/regex (License): Likewise.
56864         * modules/snprintf (License): Likewise.
56865         * modules/stdbool (License): Likewise.
56866         * modules/stdint (License): Likewise.
56867         * modules/stdio (License): Likewise.
56868         * modules/strcase (License): Likewise.
56869         * modules/strcasestr (License): Likewise.
56870         * modules/strdup (License): Likewise.
56871         * modules/string (License): Likewise.
56872         * modules/strndup (License): Likewise.
56873         * modules/strnlen (License): Likewise.
56874         * modules/strpbrk (License): Likewise.
56875         * modules/strptime (License): Likewise.
56876         * modules/strsep (License): Likewise.
56877         * modules/sys_select (License): Likewise.
56878         * modules/sys_socket (License): Likewise.
56879         * modules/sys_stat (License): Likewise.
56880         * modules/sys_time (License): Likewise.
56881         * modules/time (License): Likewise.
56882         * modules/time_r (License): Likewise.
56883         * modules/timegm (License): Likewise.
56884         * modules/unistd (License): Likewise.
56885         * modules/vsnprintf (License): Likewise.
56886         * modules/wctype (License): Likewise.
56887
56888 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56889
56890         * modules/argz (License): LGPLv2+.
56891
56892 2007-07-15  Karl Berry  <karl@gnu.org>
56893
56894         * doc/gnulib.texi: revise node structure per new fdl.texi.
56895
56896 2007-07-14  Bruno Haible  <bruno@clisp.org>
56897
56898         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
56899         the output file.
56900         * lib/uniname/uninames.h: Regenerated.
56901
56902 2007-07-14  Karl Berry  <karl@gnu.org>
56903
56904         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
56905         omitting sectioning and index commands.
56906
56907 2007-07-13  Bruno Haible  <bruno@clisp.org>
56908
56909         New gnulib-tool option --more-symlinks.
56910         * gnulib-tool (func_usage): Document --more-symlinks.
56911         (do_copyrights): New variable.
56912         Recognize option --more-symlinks.
56913         (func_import): Don't add a copyright notice transform to
56914         sed_transform_lib_file if do_copyrights is empty.
56915
56916 2007-07-13  Bruno Haible  <bruno@clisp.org>
56917
56918         * lib/vasnprintf.c (decimal_point_char): Define also if
56919         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
56920         && !NEED_PRINTF_DIRECTIVE_A.
56921         Reported by Clemens Koller <clemens.koller@anagramm.de> via
56922         Gary V. Vaughan <gary@gnu.org>.
56923
56924 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
56925
56926         * lib/inttypes_.h: Undo previous change, since it was fixed
56927         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
56928
56929 2007-07-13  Bruno Haible  <bruno@clisp.org>
56930
56931         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
56932         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
56933
56934 2007-07-13  Jim Meyering  <jim@meyering.net>
56935
56936         df: Don't fail for Tru64's "file-on-file mount".
56937         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
56938         so we fall through and use statfs instead.  Details here:
56939         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
56940         Reported by Albert Chin.
56941
56942 2007-07-13  Bruno Haible  <bruno@clisp.org>
56943
56944         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
56945         * modules/configmake (License): Likewise.
56946         * modules/gettext (License): Likewise.
56947         * modules/gettext-h (License): Likewise.
56948         * modules/include_next (License): Likewise.
56949         * modules/link-warning (License): Likewise.
56950         * modules/localcharset (License): Likewise.
56951         * modules/localename (License): Likewise.
56952         * modules/lock (License): Likewise.
56953         * modules/relocatable-lib-lgpl (License): Likewise.
56954         * modules/size_max (License): Likewise.
56955         * modules/vasnprintf (License): Likewise.
56956         * modules/wchar (License): Likewise.
56957         * modules/xsize (License): Likewise.
56958
56959 2007-07-13  Bruno Haible  <bruno@clisp.org>
56960
56961         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
56962         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
56963
56964 2007-07-12  Bruno Haible  <bruno@clisp.org>
56965
56966         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
56967         in the modules files.
56968
56969 2007-07-11  Karl Berry  <karl@gnu.org>
56970
56971         * MODULES.html.sh (func_module): use
56972          sed -e '\|^'"${includefile}"'$|d'
56973          instead of /.../d, to avoid errors on $includefile's containing /.
56974
56975 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56976
56977         * gnulib-tool (func_import): Avoid duplication of --avoid
56978         statements
56979         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
56980         names to `_' in variable names.
56981
56982 2007-07-10  Eric Blake  <ebb9@byu.net>
56983
56984         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
56985         * NEWS: Document this change.
56986
56987 2007-07-08  Bruno Haible  <bruno@clisp.org>
56988
56989         Update to Unicode 5.0.
56990         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
56991         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
56992         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
56993         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
56994         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
56995         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
56996         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
56997         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
56998         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
56999         U+10A3F, U+1D242..U+1D244.
57000         (nonspacing_table_ind): Update.
57001         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57002         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57003
57004 2007-07-08  Bruno Haible  <bruno@clisp.org>
57005
57006         Update to Unicode 5.0.
57007         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57008         code transform. Extend the name index field of unicode_name_to_code and
57009         unicode_code_to_name from 16 to 24 bits.
57010         * lib/uniname/uniname.c (unicode_character_name,
57011         unicode_name_character): Add the range 0x12xxx to the code transform.
57012         * lib/uniname/uninames.h: Regenerated.
57013         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57014
57015 2007-07-07  Bruno Haible  <bruno@clisp.org>
57016
57017         * modules/wcwidth-tests: New file.
57018         * tests/test-wcwidth.c: New file.
57019
57020         Work around MacOS X wcwidth() bug.
57021         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57022         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57023         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57024         original wcwidth in non-UTF-8 locales.
57025         * modules/wcwidth (Depends-on): Add localcharset, streq,
57026         uniwidth/width.
57027         * doc/functions/wcwidth.texi: Update.
57028
57029 2007-07-07  Bruno Haible  <bruno@clisp.org>
57030
57031         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57032         (wcwidth): New declaration.
57033         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57034         macros.
57035         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57036         here. Prepare for creating <wchar.h> unconditionally.
57037         * modules/wchar (Depends-on): Add link-warning.
57038         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57039         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57040         * lib/wcwidth.h: Remove file.
57041         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57042         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57043         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57044         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57045         (Include): Replace wcwidth.h with <wchar.h>.
57046         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57047         * lib/mbchar.h: Don't include wcwidth.h.
57048         * lib/mbswidth.c: Likewise.
57049         * NEWS: Mention the change.
57050
57051 2007-07-07  Bruno Haible  <bruno@clisp.org>
57052
57053         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57054         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57055         definition with an external declaration.
57056         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57057         defined as a function. Remove AC_C_INLINE requirement.
57058         * modules/wcwidth (Files): Add lib/wcwidth.c.
57059         (Makefile.am): Remove redundant statement.
57060
57061 2007-07-07  Bruno Haible  <bruno@clisp.org>
57062
57063         * MODULES.html.sh (Unicode string functions): Add the new modules.
57064
57065         * tests/uniwidth/test-u32-strwidth.c: New file.
57066         * modules/uniwidth/u32-strwidth-tests: New file.
57067
57068         * lib/uniwidth/u32-strwidth.c: New file.
57069         * modules/uniwidth/u32-strwidth: New file.
57070
57071         * tests/uniwidth/test-u16-strwidth.c: New file.
57072         * modules/uniwidth/u16-strwidth-tests: New file.
57073
57074         * lib/uniwidth/u16-strwidth.c: New file.
57075         * modules/uniwidth/u16-strwidth: New file.
57076
57077         * tests/uniwidth/test-u8-strwidth.c: New file.
57078         * modules/uniwidth/u8-strwidth-tests: New file.
57079
57080         * lib/uniwidth/u8-strwidth.c: New file.
57081         * modules/uniwidth/u8-strwidth: New file.
57082
57083         * tests/uniwidth/test-u32-width.c: New file.
57084         * modules/uniwidth/u32-width-tests: New file.
57085
57086         * lib/uniwidth/u32-width.c: New file.
57087         * modules/uniwidth/u32-width: New file.
57088
57089         * tests/uniwidth/test-u16-width.c: New file.
57090         * modules/uniwidth/u16-width-tests: New file.
57091
57092         * lib/uniwidth/u16-width.c: New file.
57093         * modules/uniwidth/u16-width: New file.
57094
57095         * tests/uniwidth/test-u8-width.c: New file.
57096         * modules/uniwidth/u8-width-tests: New file.
57097
57098         * lib/uniwidth/u8-width.c: New file.
57099         * modules/uniwidth/u8-width: New file.
57100
57101         * tests/uniwidth/test-uc_width.c: New file.
57102         * modules/uniwidth/width-tests: New file.
57103
57104         * lib/uniwidth/width.c: New file, from GNU libiconv.
57105         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57106         * modules/uniwidth/width: New file.
57107
57108         * lib/uniwidth.h: New file, from GNU libiconv.
57109         * modules/uniwidth/base: New file.
57110
57111 2007-07-07  Bruno Haible  <bruno@clisp.org>
57112
57113         * lib/uniname.h: New file, from GNU gettext.
57114         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57115         * lib/uniname/uninames.h: New file, from GNU gettext.
57116         * lib/uniname/uniname.c: New file, from GNU gettext.
57117         * tests/uniname/test-uninames.sh: New file.
57118         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57119         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57120         * modules/uniname/base: New file.
57121         * modules/uniname/uniname: New file.
57122         * modules/uniname/uniname-tests: New file.
57123         * MODULES.html.sh (Unicode string functions): Add the new modules.
57124
57125 2007-07-06  Bruno Haible  <bruno@clisp.org>
57126
57127         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57128
57129 2007-07-06  Bruno Haible  <bruno@clisp.org>
57130
57131         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57132         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57133         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57134         include <sys/time.h>.
57135         Reported by Eric Blake.
57136
57137 2007-07-06  Eric Blake  <ebb9@byu.net>
57138
57139         Fix testing canonicalize on cygwin.
57140         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57141         Revert patch from 2007-06-19.
57142         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57143         canonicalize module is also in use.
57144         * tests/test-canonicalize.c: New file.
57145         * tests/test-canonicalize.sh: Likewise.
57146         * modules/canonicalize-tests: Likewise.
57147
57148 2007-07-06  Jim Meyering  <jim@meyering.net>
57149
57150         * lib/getugroups.c (getugroups): Detect getgrent failure.
57151         Adjust comment to reflect reality: this function may return -1.
57152
57153 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57154
57155         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57156         the new TP address.
57157         (usage): Fix typo
57158         (gnulib_mk): New variable.
57159
57160 2007-07-05  Jim Meyering  <jim@meyering.net>
57161
57162         Don't let endgrent clobber errno, no matter how improbable.
57163         * lib/getugroups.c (getugroups): Save and restore errno around
57164         endgrent call.
57165
57166         Close the group DB even when failing with 2^31 or more members.
57167         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57168
57169 2007-07-04  Jim Meyering  <jim@meyering.net>
57170
57171         * lib/getugroups.h: New file.
57172         * lib/getugroups.c: Include "getugroups.h".
57173         Remove uses of "register" keyword.
57174         Move local variable, "cp", down into scope where used.
57175         Give "username" parameter the "const" attribute.
57176         * modules/getugroups (Files): Add lib/getugroups.h
57177
57178 2007-07-04  Karl Berry  <karl@gnu.org>
57179
57180         * MODULES.html.sh (func_all_modules): Complete rename of
57181         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57182
57183 2007-07-02  Bruno Haible  <bruno@clisp.org>
57184
57185         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57186         mode, when inttypes.h comes from gnulib.
57187         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57188
57189 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57190
57191         * NEWS: Mention lgpl module name change.
57192
57193         * modules/lgpl-2.1: Renamed from lgpl.
57194
57195         * NEWS: Mention gpl module name change.
57196
57197         * modules/gpl-3.0: New file, based on gpl-2.0.
57198
57199         * modules/gpl-2.0: Renamed from gpl.
57200
57201         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57202         doc/gpl-2.0.texi.
57203
57204 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57205
57206         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57207         #define __STDC_LIMIT_MACROS temporarily while including
57208         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57209         Problem reported by Joel E. Denny in
57210         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57211
57212 2007-07-01  Bruno Haible  <bruno@clisp.org>
57213
57214         * lib/unistdio.h: New file.
57215         * lib/unistdio/u-asnprintf.h: New file.
57216         * lib/unistdio/u-asprintf.h: New file.
57217         * lib/unistdio/u-printf-args.c: New file.
57218         * lib/unistdio/u-printf-args.h: New file.
57219         * lib/unistdio/u-printf-parse.h: New file.
57220         * lib/unistdio/u-snprintf.h: New file.
57221         * lib/unistdio/u-sprintf.h: New file.
57222         * lib/unistdio/u-vasprintf.h: New file.
57223         * lib/unistdio/u-vsnprintf.h: New file.
57224         * lib/unistdio/u-vsprintf.h: New file.
57225         * lib/unistdio/ulc-asnprintf.c: New file.
57226         * lib/unistdio/ulc-asprintf.c: New file.
57227         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57228         * lib/unistdio/ulc-printf-parse.c: New file.
57229         * lib/unistdio/ulc-snprintf.c: New file.
57230         * lib/unistdio/ulc-sprintf.c: New file.
57231         * lib/unistdio/ulc-vasnprintf.c: New file.
57232         * lib/unistdio/ulc-vasprintf.c: New file.
57233         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57234         * lib/unistdio/ulc-vsnprintf.c: New file.
57235         * lib/unistdio/ulc-vsprintf.c: New file.
57236         * lib/unistdio/u8-asnprintf.c: New file.
57237         * lib/unistdio/u8-asprintf.c: New file.
57238         * lib/unistdio/u8-printf-parse.c: New file.
57239         * lib/unistdio/u8-snprintf.c: New file.
57240         * lib/unistdio/u8-sprintf.c: New file.
57241         * lib/unistdio/u8-vasnprintf.c: New file.
57242         * lib/unistdio/u8-vasprintf.c: New file.
57243         * lib/unistdio/u8-vsnprintf.c: New file.
57244         * lib/unistdio/u8-vsprintf.c: New file.
57245         * lib/unistdio/u8-u8-asnprintf.c: New file.
57246         * lib/unistdio/u8-u8-asprintf.c: New file.
57247         * lib/unistdio/u8-u8-snprintf.c: New file.
57248         * lib/unistdio/u8-u8-sprintf.c: New file.
57249         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57250         * lib/unistdio/u8-u8-vasprintf.c: New file.
57251         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57252         * lib/unistdio/u8-u8-vsprintf.c: New file.
57253         * lib/unistdio/u16-asnprintf.c: New file.
57254         * lib/unistdio/u16-asprintf.c: New file.
57255         * lib/unistdio/u16-printf-parse.c: New file.
57256         * lib/unistdio/u16-snprintf.c: New file.
57257         * lib/unistdio/u16-sprintf.c: New file.
57258         * lib/unistdio/u16-vasnprintf.c: New file.
57259         * lib/unistdio/u16-vasprintf.c: New file.
57260         * lib/unistdio/u16-vsnprintf.c: New file.
57261         * lib/unistdio/u16-vsprintf.c: New file.
57262         * lib/unistdio/u16-u16-asnprintf.c: New file.
57263         * lib/unistdio/u16-u16-asprintf.c: New file.
57264         * lib/unistdio/u16-u16-snprintf.c: New file.
57265         * lib/unistdio/u16-u16-sprintf.c: New file.
57266         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57267         * lib/unistdio/u16-u16-vasprintf.c: New file.
57268         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57269         * lib/unistdio/u16-u16-vsprintf.c: New file.
57270         * lib/unistdio/u32-asnprintf.c: New file.
57271         * lib/unistdio/u32-asprintf.c: New file.
57272         * lib/unistdio/u32-printf-parse.c: New file.
57273         * lib/unistdio/u32-snprintf.c: New file.
57274         * lib/unistdio/u32-sprintf.c: New file.
57275         * lib/unistdio/u32-vasnprintf.c: New file.
57276         * lib/unistdio/u32-vasprintf.c: New file.
57277         * lib/unistdio/u32-vsnprintf.c: New file.
57278         * lib/unistdio/u32-vsprintf.c: New file.
57279         * lib/unistdio/u32-u32-asnprintf.c: New file.
57280         * lib/unistdio/u32-u32-asprintf.c: New file.
57281         * lib/unistdio/u32-u32-snprintf.c: New file.
57282         * lib/unistdio/u32-u32-sprintf.c: New file.
57283         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57284         * lib/unistdio/u32-u32-vasprintf.c: New file.
57285         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57286         * lib/unistdio/u32-u32-vsprintf.c: New file.
57287         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57288         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57289         * tests/unistdio/test-ulc-printf1.h: New file.
57290         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57291         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57292         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57293         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57294         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57295         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57296         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57297         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57298         * tests/unistdio/test-u8-asnprintf1.c: New file.
57299         * tests/unistdio/test-u8-asnprintf1.h: New file.
57300         * tests/unistdio/test-u8-printf1.h: New file.
57301         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57302         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57303         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57304         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57305         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57306         * tests/unistdio/test-u8-vasprintf1.c: New file.
57307         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57308         * tests/unistdio/test-u8-vsprintf1.c: New file.
57309         * tests/unistdio/test-u16-asnprintf1.c: New file.
57310         * tests/unistdio/test-u16-asnprintf1.h: New file.
57311         * tests/unistdio/test-u16-printf1.h: New file.
57312         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57313         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57314         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57315         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57316         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57317         * tests/unistdio/test-u16-vasprintf1.c: New file.
57318         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57319         * tests/unistdio/test-u16-vsprintf1.c: New file.
57320         * tests/unistdio/test-u32-asnprintf1.c: New file.
57321         * tests/unistdio/test-u32-asnprintf1.h: New file.
57322         * tests/unistdio/test-u32-printf1.h: New file.
57323         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57324         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57325         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57326         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57327         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57328         * tests/unistdio/test-u32-vasprintf1.c: New file.
57329         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57330         * tests/unistdio/test-u32-vsprintf1.c: New file.
57331         * modules/unistdio/base: New file.
57332         * modules/unistdio/u-printf-args: New file.
57333         * modules/unistdio/ulc-asnprintf: New file.
57334         * modules/unistdio/ulc-asprintf: New file.
57335         * modules/unistdio/ulc-fprintf: New file.
57336         * modules/unistdio/ulc-printf-parse: New file.
57337         * modules/unistdio/ulc-snprintf: New file.
57338         * modules/unistdio/ulc-sprintf: New file.
57339         * modules/unistdio/ulc-vasnprintf: New file.
57340         * modules/unistdio/ulc-vasprintf: New file.
57341         * modules/unistdio/ulc-vfprintf: New file.
57342         * modules/unistdio/ulc-vsnprintf: New file.
57343         * modules/unistdio/ulc-vsprintf: New file.
57344         * modules/unistdio/u8-asnprintf: New file.
57345         * modules/unistdio/u8-asprintf: New file.
57346         * modules/unistdio/u8-printf-parse: New file.
57347         * modules/unistdio/u8-snprintf: New file.
57348         * modules/unistdio/u8-sprintf: New file.
57349         * modules/unistdio/u8-vasnprintf: New file.
57350         * modules/unistdio/u8-vasprintf: New file.
57351         * modules/unistdio/u8-vsnprintf: New file.
57352         * modules/unistdio/u8-vsprintf: New file.
57353         * modules/unistdio/u8-u8-asnprintf: New file.
57354         * modules/unistdio/u8-u8-asprintf: New file.
57355         * modules/unistdio/u8-u8-snprintf: New file.
57356         * modules/unistdio/u8-u8-sprintf: New file.
57357         * modules/unistdio/u8-u8-vasnprintf: New file.
57358         * modules/unistdio/u8-u8-vasprintf: New file.
57359         * modules/unistdio/u8-u8-vsnprintf: New file.
57360         * modules/unistdio/u8-u8-vsprintf: New file.
57361         * modules/unistdio/u16-asnprintf: New file.
57362         * modules/unistdio/u16-asprintf: New file.
57363         * modules/unistdio/u16-printf-parse: New file.
57364         * modules/unistdio/u16-snprintf: New file.
57365         * modules/unistdio/u16-sprintf: New file.
57366         * modules/unistdio/u16-vasnprintf: New file.
57367         * modules/unistdio/u16-vasprintf: New file.
57368         * modules/unistdio/u16-vsnprintf: New file.
57369         * modules/unistdio/u16-vsprintf: New file.
57370         * modules/unistdio/u16-u16-asnprintf: New file.
57371         * modules/unistdio/u16-u16-asprintf: New file.
57372         * modules/unistdio/u16-u16-snprintf: New file.
57373         * modules/unistdio/u16-u16-sprintf: New file.
57374         * modules/unistdio/u16-u16-vasnprintf: New file.
57375         * modules/unistdio/u16-u16-vasprintf: New file.
57376         * modules/unistdio/u16-u16-vsnprintf: New file.
57377         * modules/unistdio/u16-u16-vsprintf: New file.
57378         * modules/unistdio/u32-asnprintf: New file.
57379         * modules/unistdio/u32-asprintf: New file.
57380         * modules/unistdio/u32-printf-parse: New file.
57381         * modules/unistdio/u32-snprintf: New file.
57382         * modules/unistdio/u32-sprintf: New file.
57383         * modules/unistdio/u32-vasnprintf: New file.
57384         * modules/unistdio/u32-vasprintf: New file.
57385         * modules/unistdio/u32-vsnprintf: New file.
57386         * modules/unistdio/u32-vsprintf: New file.
57387         * modules/unistdio/u32-u32-asnprintf: New file.
57388         * modules/unistdio/u32-u32-asprintf: New file.
57389         * modules/unistdio/u32-u32-snprintf: New file.
57390         * modules/unistdio/u32-u32-sprintf: New file.
57391         * modules/unistdio/u32-u32-vasnprintf: New file.
57392         * modules/unistdio/u32-u32-vasprintf: New file.
57393         * modules/unistdio/u32-u32-vsnprintf: New file.
57394         * modules/unistdio/u32-u32-vsprintf: New file.
57395         * modules/unistdio/ulc-asnprintf-tests: New file.
57396         * modules/unistdio/ulc-vasnprintf-tests: New file.
57397         * modules/unistdio/ulc-vasprintf-tests: New file.
57398         * modules/unistdio/ulc-vsnprintf-tests: New file.
57399         * modules/unistdio/ulc-vsprintf-tests: New file.
57400         * modules/unistdio/u8-asnprintf-tests: New file.
57401         * modules/unistdio/u8-vasnprintf-tests: New file.
57402         * modules/unistdio/u8-vasprintf-tests: New file.
57403         * modules/unistdio/u8-vsnprintf-tests: New file.
57404         * modules/unistdio/u8-vsprintf-tests: New file.
57405         * modules/unistdio/u16-asnprintf-tests: New file.
57406         * modules/unistdio/u16-vasnprintf-tests: New file.
57407         * modules/unistdio/u16-vasprintf-tests: New file.
57408         * modules/unistdio/u16-vsnprintf-tests: New file.
57409         * modules/unistdio/u16-vsprintf-tests: New file.
57410         * modules/unistdio/u32-asnprintf-tests: New file.
57411         * modules/unistdio/u32-vasnprintf-tests: New file.
57412         * modules/unistdio/u32-vasprintf-tests: New file.
57413         * modules/unistdio/u32-vsnprintf-tests: New file.
57414         * modules/unistdio/u32-vsprintf-tests: New file.
57415         * MODULES.html.sh (Unicode string functions): Add the new modules.
57416
57417 2007-07-01  Bruno Haible  <bruno@clisp.org>
57418
57419         * lib/sprintf.c (sprintf): Limit the available length estimation,
57420         to avoid address wraparound.
57421         * lib/vsprintf.c (vsprintf): Likewise.
57422         * modules/sprintf-posix (Dependencies): Add stdint.
57423         * modules/vsprintf-posix (Dependencies): Likewise.
57424
57425 2007-07-01  Bruno Haible  <bruno@clisp.org>
57426
57427         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57428         Windows PATH as well. Conservative double-quoting. Comments.
57429
57430 2007-07-01  Bruno Haible  <bruno@clisp.org>
57431             Eric Blake  <ebb9@byu.net>
57432             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57433
57434         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57435         empty components in $PATH, denoting '.'.
57436
57437 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57438
57439         * gnulib-tool: Fix indentation.
57440         (func_create_megatestdir): Likewise.
57441         Report by Bruno Haible.
57442
57443 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57444
57445         Sync from Automake.
57446         * build-aux/gnupload: Fix shell portability issues with for loops.
57447         Report by Karl Berry.
57448
57449 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57450
57451         * build-aux/maint.mk (POURL): Use translationproject.org.
57452
57453 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57454             Bruno Haible  <bruno@clisp.org>
57455
57456         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57457         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57458         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57459         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57460         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57461
57462 2007-06-27  Bruno Haible  <bruno@clisp.org>
57463
57464         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57465         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57466
57467 2007-06-26  Karl Berry  <karl@gnu.org>
57468
57469         * MODULES.html.sh: remove xreadlink-with-size.
57470
57471 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57472
57473         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
57474         method that I hope also handles the double-include problem noted
57475         by Bruno Haible in
57476         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
57477
57478 2007-06-23  Bruno Haible  <bruno@clisp.org>
57479
57480         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57481         Don't let the 'mostlyclean' target fail if the last subdirectory could
57482         not be removed.
57483         Reported by Karl Berry.
57484
57485 2007-06-23  Bruno Haible  <bruno@clisp.org>
57486
57487         * gnulib-tool (echo): Add a speedier workaround for ksh.
57488         * tests/test-echo.sh: Likewise.
57489
57490 2007-06-23  Bruno Haible  <bruno@clisp.org>
57491
57492         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
57493         * tests/test-echo.sh: Likewise.
57494
57495 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57496
57497         * gnulib-tool (IFS): Initialize early, so we don't set it to
57498         empty later.
57499         (self_abspathname): Rewrite algorithm to set it, reindent.
57500         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
57501         (func_create_megatestdir): Merge some sed scripts.
57502
57503 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57504
57505         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
57506         exposed by Sun Studio 11 cc on Solaris 8.
57507
57508 2007-06-22  Bruno Haible  <bruno@clisp.org>
57509
57510         * gnulib-tool (echo): Ensure the echo primitive does not interpret
57511         backslashes.
57512         * tests/test-echo.sh: New file.
57513
57514 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57515
57516         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
57517         simplify `sed_replace_build_aux' scripts, they are portable but
57518         echoing them with `echo' is not.
57519         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
57520
57521 2007-06-21  Karl Berry  <karl@gnu.org>
57522
57523         * config/srclist.txt: guess we can't handle the licenses via
57524         srclist at the moment.
57525
57526 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57527
57528         * MODULES.html.sh: Add include_next.
57529         * modules/include_next: New file.
57530
57531 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57532
57533         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
57534         INCLUDE_NEXT.
57535         (gl_CHECK_NEXT_HEADERS): New macro.
57536         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
57537         the obsolescent gl_ABSOLUTE_HEADER.
57538         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
57539         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
57540         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
57541         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57542         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
57543         * m4/math_h.m4 (gl_MATH_H): Likewise.
57544         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57545         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57546         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
57547         * m4/stdint.m4 (gl_STDINT_H): Likewise.
57548         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
57549         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
57550         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
57551         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57552         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57553         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
57554         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57555         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
57556         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
57557         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57558         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
57559         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57560         * m4/inttypes.m4 (gl_INTTYPES_H): Define
57561         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
57562         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
57563         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
57564         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
57565         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
57566         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
57567         * lib/float_.h: Likewise.
57568         * lib/inttypes_.h: Likewise.
57569         * lib/math_.h: Likewise.
57570         * lib/search_.h: Likewise.
57571         * lib/signal_.h: Likewise.
57572         * lib/stdint_.h: Likewise.
57573         * lib/stdio_.h: Likewise.
57574         * lib/stdlib_.h: Likewise.
57575         * lib/string_.h: Likewise.
57576         * lib/sys_stat_.h: Likewise.
57577         * lib/sys_time_.h: Likewise.
57578         * lib/time_.h: Likewise.
57579         * lib/unistd_.h: Likewise.
57580         * lib/wchar_.h: Likewise.
57581         * lib/wctype_.h: Likewise.
57582         * lib/dirent_.h: Likewise.
57583         * lib/iconv_.h: Likewise.
57584         * lib/locale_.h: Likewise.
57585         * lib/netinet_in_.h: Likewise.
57586         * lib/sys_select_.h: Likewise.
57587         * lib/sys_socket_.h: Likewise.
57588         * lib/sysexits_.h: Likewise.
57589         * modules/fcntl (Depends-on): Depend on include_next, not
57590         absolute_header.
57591         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
57592         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
57593         * modules/fchdir: Likewise.
57594         * modules/float: Likewise.
57595         * modules/iconv_open: Likewise.
57596         * modules/inttypes: Likewise.
57597         * modules/locale: Likewise.
57598         * modules/math: Likewise.
57599         * modules/netinet_in: Likewise.
57600         * modules/search: Likewise.
57601         * modules/signal: Likewise.
57602         * modules/stdint: Likewise.
57603         * modules/stdio: Likewise.
57604         * modules/stdlib: Likewise.
57605         * modules/string: Likewise.
57606         * modules/sys_select: Likewise.
57607         * modules/sys_socket: Likewise.
57608         * modules/sys_stat: Likewise.
57609         * modules/sys_time: Likewise.
57610         * modules/sysexits: Likewise.
57611         * modules/time: Likewise.
57612         * modules/unistd: Likewise.
57613         * modules/wchar: Likewise.
57614         * modules/wctype: Likewise.
57615         * modules/sys_stat: Change maintainer to "all".
57616         * modules/unistd: Likewise.
57617
57618 2007-06-20  Karl Berry  <karl@gnu.org>
57619
57620         * config/srclist.txt: track www changes in license files.
57621
57622 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
57623
57624         * build-aux/bootstrap: Remove stray dot.
57625         Make sure build_aux settings are honored when linking
57626         gnulib_extra_files.
57627
57628 2007-06-19  Eric Blake  <ebb9@byu.net>
57629
57630         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57631         Allow compilation on cygwin.
57632
57633 2007-06-19  Jim Meyering  <jim@meyering.net>
57634
57635         xreadlink-with-size: Remove module.  No longer used.
57636         Ex-callers now use xreadlink or mreadlink-with-size.
57637         * modules/xreadlink-with-size: Remove module.
57638         * lib/xreadlink-with-size.c: Remove file.
57639         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
57640         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
57641         just before the function definition *is* accurate.
57642
57643         Eliminate one way canonicalize_filename_mode could exit.
57644         * lib/canonicalize.c (canonicalize_filename_mode):
57645         Use mreadlink_with_size, not xreadlink_with_size.
57646
57647 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
57648
57649         Detect porting problems to FreeBSD/arm, which has time_t wider than
57650         long int.  Original problem reported for GNU diff by Xin Li in
57651         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
57652         * modules/getdate (Depends-on): Add intprops, verify.
57653         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
57654         is an integer type no wider than long int.
57655
57656 2007-06-18  Jim Meyering  <jim@meyering.net>
57657
57658         New module: mreadlink-with-size.
57659         * MODULES.html.sh: Add mreadlink-with-size.
57660         * modules/mreadlink-with-size: New module
57661         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
57662         not xreadlink-with-size.
57663         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
57664
57665 2007-06-16  Bruno Haible  <bruno@clisp.org>
57666
57667         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
57668         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
57669         Reported by Gary V. Vaughan <gary@gnu.org>.
57670
57671 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
57672
57673         Revamp lchown so that it lives in unistd.h where it belongs.
57674         * lib/lchown.h: Remove.
57675         * lib/dirchownmod.c: Don't include lib/lchown.h.
57676         * lib/fchownat.c: Likewise.
57677         * lib/openat.c: Likewise.
57678         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
57679         does not follow symlinks.
57680         (EOPNOTSUPP): Define if not defined.
57681         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
57682         is defined to 0.
57683         (lchown): New decl.
57684         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
57685         Do not check for lchown decl.
57686         Set REPLACE_LCHOWN.
57687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
57688         REPLACE_LCHOWN.
57689         * modules/chown: Make it clear it follows symlinks.
57690         * modules/lchown: Make it clear it doesn't follow symlinks.
57691         (Files): Remove lib/lchown.h
57692         (Depends-on): Add unistd.
57693         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
57694         (Include): Include <unistd.h>, not "lchown.h".
57695         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
57696         REPLACE_LCHOWN.
57697
57698 2007-06-15  Jim Meyering  <jim@meyering.net>
57699
57700         Change license (GPL to LGPL) of fsusage and dependents.
57701         * modules/fsusage (License): Change to LGPL.
57702         * modules/full-read (License): Likewise.
57703         * modules/full-write (License): Likewise.
57704         * modules/safe-read (License): Likewise.
57705         * modules/safe-write (License): Likewise.
57706
57707 2007-06-14  Ben Pfaff  <blp@gnu.org>
57708
57709         Missing part of allocsa -> malloca transition.
57710         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
57711         gl_MALLOCA.
57712
57713 2007-06-12  Bruno Haible  <bruno@clisp.org>
57714
57715         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
57716         to ia64, x86_64, i386.
57717         Reported by Eric Blake.
57718
57719 2007-06-12  Bruno Haible  <bruno@clisp.org>
57720
57721         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
57722         cross-compiling to x86_64.
57723
57724 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
57725
57726         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
57727         glitch reported by Ralf Wildenhues in
57728         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
57729
57730         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
57731         Vin Shelton.
57732
57733 2007-06-11  Bruno Haible  <bruno@clisp.org>
57734
57735         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
57736         replacement string.
57737         Reported by Eric Blake.
57738
57739 2007-06-10  Bruno Haible  <bruno@clisp.org>
57740
57741         Prepare vasnprintf code for use with Unicode strings.
57742         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
57743         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
57744         TYPE_U32_STRING.
57745         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
57746         a_u32_string variants.
57747         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
57748         * lib/printf-args.c: Don't include config.h and the specification
57749         header if PRINTF_FETCHARGS is already defined.
57750         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
57751         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
57752         TYPE_U16_STRING, TYPE_U32_STRING.
57753         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
57754         u16_directive, u16_directives, u32_directive, u32_directives): New
57755         types.
57756         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
57757         New declarations.
57758         * lib/printf-parse.c: Don't include config.h and the specification
57759         header if PRINTF_PARSE is already defined. Eliminate the set of
57760         parameters for WIDE_CHAR_VERSION; the user of this file must provide
57761         them now. Include c-ctype.h.
57762         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
57763         directive and CHAR_T_ONLY_ASCII.
57764         * lib/vasnprintf.c: Don't include config.h and the specification header
57765         if VASNPRINTF is already defined.
57766         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
57767         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
57768         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
57769         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
57770         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
57771         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
57772         code accordingly.
57773         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
57774         pad_ourselves also in this case, with the 'c' and 's' directives, and
57775         with a different notion of "width".
57776         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
57777
57778 2007-06-10  Bruno Haible  <bruno@clisp.org>
57779
57780         * modules/unistr/u32-mbsnlen: New file.
57781         * lib/unistr/u32-mbsnlen.c: New file.
57782
57783         * modules/unistr/u16-mbsnlen: New file.
57784         * lib/unistr/u16-mbsnlen.c: New file.
57785
57786         * modules/unistr/u8-mbsnlen: New file.
57787         * lib/unistr/u8-mbsnlen.c: New file.
57788
57789         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
57790         declarations.
57791
57792 2007-06-10  Bruno Haible  <bruno@clisp.org>
57793
57794         * lib/string_.h (mbsnlen): New declaration.
57795         * lib/mbsnlen.c: New file.
57796         * m4/mbsnlen.m4: New file.
57797         * modules/mbsnlen: New file.
57798         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
57799         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
57800         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
57801
57802 2007-06-10  Bruno Haible  <bruno@clisp.org>
57803
57804         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
57805
57806 2007-06-10  Bruno Haible  <bruno@clisp.org>
57807
57808         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
57809         * lib/mbuiter.h: Likewise.
57810
57811 2007-06-10  Bruno Haible  <bruno@clisp.org>
57812
57813         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
57814         declaration.
57815
57816 2007-06-10  Karl Berry  <karl@gnu.org>
57817
57818         * config/srclist.txt: remove gettext entries, Bruno prefers
57819         to update individually.
57820
57821 2007-06-10  Bruno Haible  <bruno@clisp.org>
57822
57823         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
57824         'maxlen'. Ensure only length + width bytes are allocated, not
57825         length + 1 + width.
57826
57827 2007-06-09  Bruno Haible  <bruno@clisp.org>
57828
57829         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
57830         (CHAR_T): Remove macro.
57831         (VASNPRINTF): Update.
57832
57833 2007-06-09  Bruno Haible  <bruno@clisp.org>
57834
57835         * MODULES.html.sh (Unicode string functions): Add the new modules.
57836
57837         * modules/uniconv/u32-conv-to-enc: New file.
57838         * lib/uniconv/u32-conv-to-enc.c: New file.
57839         * modules/uniconv/u32-conv-to-enc-tests: New file.
57840         * tests/uniconv/test-u32-conv-to-enc.c: New file.
57841
57842         * modules/uniconv/u16-conv-to-enc: New file.
57843         * lib/uniconv/u16-conv-to-enc.c: New file.
57844         * lib/uniconv/u-conv-to-enc.h: New file.
57845         * modules/uniconv/u16-conv-to-enc-tests: New file.
57846         * tests/uniconv/test-u16-conv-to-enc.c: New file.
57847
57848         * modules/uniconv/u8-conv-to-enc: New file.
57849         * lib/uniconv/u8-conv-to-enc.c: New file.
57850         * modules/uniconv/u8-conv-to-enc-tests: New file.
57851         * tests/uniconv/test-u8-conv-to-enc.c: New file.
57852
57853         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
57854         u32_conv_to_encoding): New declarations.
57855
57856 2007-06-09  Bruno Haible  <bruno@clisp.org>
57857
57858         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
57859
57860 2007-06-09  Bruno Haible  <bruno@clisp.org>
57861
57862         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
57863         * modules/malloca: Renamed from modules/allocsa, updated.
57864         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
57865         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
57866         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
57867         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
57868         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
57869         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
57870         * modules/xmalloca: Renamed from modules/xallocsa, updated.
57871         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
57872         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
57873         * modules/c-strcasestr (Depends-on): Update.
57874         * lib/c-strcasestr.c: Update.
57875         * modules/c-strstr (Depends-on): Update.
57876         * lib/c-strstr.c: Update.
57877         * modules/canonicalize-lgpl (Depends-on): Update.
57878         * lib/canonicalize-lgpl.c: Update.
57879         * modules/clean-temp (Depends-on): Update.
57880         * lib/clean-temp.c: Update.
57881         * modules/csharpcomp (Depends-on): Update.
57882         * lib/csharpcomp.c: Update.
57883         * modules/csharpexec (Depends-on): Update.
57884         * lib/csharpexec.c: Update.
57885         * modules/javacomp (Depends-on): Update.
57886         * lib/javacomp.c: Update.
57887         * modules/javaexec (Depends-on): Update.
57888         * lib/javaexec.c: Update.
57889         * modules/mbscasestr (Depends-on): Update.
57890         * lib/mbscasestr.c: Update.
57891         * modules/mbsstr (Depends-on): Update.
57892         * lib/mbsstr.c: Update.
57893         * modules/setenv (Depends-on): Update.
57894         * lib/setenv.c: Update.
57895         * modules/strcasestr (Depends-on): Update.
57896         * lib/strcasestr.c: Update.
57897         * modules/striconveha (Depends-on): Update.
57898         * lib/striconveha.c: Update.
57899         * modules/relocatable-prog-wrapper (Files): Update.
57900         * lib/relocwrapper.c: Update.
57901         * build-aux/install-reloc: Update.
57902         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
57903
57904 2007-06-08  Bruno Haible  <bruno@clisp.org>
57905
57906         Port to uClibc.
57907         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
57908         * lib/fpurge.c (fpurge): Likewise.
57909         * lib/freading.c (freading): Likewise.
57910         * lib/fseeko.c (rpl_fseeko): Likewise.
57911         * lib/fseterr.c (fseterr): Likewise.
57912         * lib/fwriting.c (fwriting): Likewise.
57913         * tests/test-fflush.c (main): Avoid a failure on uClibc.
57914
57915 2007-06-08  Bruno Haible  <bruno@clisp.org>
57916
57917         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
57918         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
57919         * modules/gettext (Files): Add m4/intlmacosx.m4.
57920
57921 2007-06-07  Bruno Haible  <bruno@clisp.org>
57922
57923         * modules/localename-tests: New file.
57924         * tests/test-localename.c: New file.
57925
57926         New module 'localename'.
57927         * lib/localename.h: New file.
57928         * lib/localename.c: New file, from GNU gettext.
57929         * m4/localename.m4: New file.
57930         * modules/localename: New file.
57931
57932 2007-06-07  Bruno Haible  <bruno@clisp.org>
57933
57934         Work around the lack of <wchar.h> on some builds of uClibc.
57935         * doc/headers/wchar.texi: Update.
57936         * lib/wchar_.h: Include <wchar.h> only if it exists.
57937         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
57938         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
57939         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
57940         doesn't exist.
57941         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
57942         * modules/mbfile (Depends-on): Add wchar.
57943         * modules/mbiter (Depends-on): Likewise.
57944         * modules/mbuiter (Depends-on): Likewise.
57945         Reported by Simon Josefsson.
57946
57947 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
57948
57949         Work around problem reported by Steven M. Schweda in
57950         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
57951         Tru64 5.1B with the Compaq compiler environment installed declares
57952         an 'isblank' function but does not define it in the C library.
57953         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
57954         * lib/regex_internal.h (isblank): Likewise.
57955         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
57956         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57957
57958 2007-06-05  Bruno Haible  <bruno@clisp.org>
57959
57960         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
57961         ia64.
57962         * modules/printf-safe: New file.
57963         * modules/fprintf-posix (Depends-on): Add printf-safe.
57964         * modules/printf-posix (Depends-on): Likewise.
57965         * modules/snprintf-posix (Depends-on): Likewise.
57966         * modules/sprintf-posix (Depends-on): Likewise.
57967         * modules/vasnprintf-posix (Depends-on): Likewise.
57968         * modules/vasprintf-posix (Depends-on): Likewise.
57969         * modules/vfprintf-posix (Depends-on): Likewise.
57970         * modules/vprintf-posix (Depends-on): Likewise.
57971         * modules/vsnprintf-posix (Depends-on): Likewise.
57972         * modules/vsprintf-posix (Depends-on): Likewise.
57973         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
57974         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
57975         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
57976         "no" on i386, x86_64, ia64.
57977         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
57978         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
57979         on i386, x86_64, ia64.
57980         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
57981         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
57982         on i386, x86_64, ia64.
57983         * tests/test-vasnprintf-posix.c: Include float.h.
57984         (LDBL80_WORDS): New macro.
57985         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
57986         on i386, x86_64, ia64.
57987         * tests/test-vasprintf-posix.c: Include float.h.
57988         (LDBL80_WORDS): New macro.
57989         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
57990         on i386, x86_64, ia64.
57991         * tests/test-snprintf-posix.c: Include float.h.
57992         * tests/test-sprintf-posix.c: Likewise.
57993         * tests/test-vsnprintf-posix.c: Likewise.
57994         * tests/test-vsprintf-posix.c: Likewise.
57995
57996 2007-06-05  Bruno Haible  <bruno@clisp.org>
57997
57998         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
57999         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58000         non-IEEE numbers on i386, x86_64, ia64.
58001         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58002         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58003         * tests/test-isnanl.h: Include float.h.
58004         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58005
58006 2007-06-05  Bruno Haible  <bruno@clisp.org>
58007
58008         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58009         also the %a / %A. Handle the %a / %A code before this extra handling.
58010
58011 2007-06-05  Bruno Haible  <bruno@clisp.org>
58012
58013         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58014         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58015
58016 2007-06-05  Bruno Haible  <bruno@clisp.org>
58017
58018         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58019         typo in variable name.
58020
58021 2007-06-05  Eric Blake  <ebb9@byu.net>
58022
58023         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58024         Reported by Simon Josefsson.
58025
58026 2007-06-04  Bruno Haible  <bruno@clisp.org>
58027
58028         Avoid test failures on some PowerPC platforms.
58029         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58030         Define differently for PowerPC.
58031         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58032         Reported by Gary V. Vaughan <gary@gnu.org>.
58033
58034 2007-06-02  Bruno Haible  <bruno@clisp.org>
58035
58036         Fix test-stdint failure on FreeBSD/ia64.
58037         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58038         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58039         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58040         * doc/headers/stdint.texi: Update.
58041
58042 2007-06-01  Bruno Haible  <bruno@clisp.org>
58043
58044         * tests/test-binary-io.c (main): Pass a third argument to open().
58045         Reported by Gary V. Vaughan <gary@gnu.org>.
58046
58047 2007-06-01  Bruno Haible  <bruno@clisp.org>
58048
58049         * doc/functions/frexpl.texi: Update for mingw.
58050
58051 2007-06-01  Bruno Haible  <bruno@clisp.org>
58052
58053         * tests/test-lseek.c (main): Disable test of errno for invalid third
58054         argument.
58055         * doc/functions/lseek.texi: Update.
58056         Reported by Gary V. Vaughan <gary@gnu.org>.
58057
58058 2007-05-28  Bruno Haible  <bruno@clisp.org>
58059
58060         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58061
58062 2007-05-31  Eric Blake  <ebb9@byu.net>
58063
58064         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58065         cross compiling.
58066
58067 2007-05-30  Eric Blake  <ebb9@byu.net>
58068         and Bruno Haible  <bruno@clisp.org>
58069
58070         Work around mingw test failures exposed by m4-1.4.9b.
58071         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58072         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58073         moment.
58074
58075 2007-05-30  Bruno Haible  <bruno@clisp.org>
58076
58077         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58078         assuming that they are closed. Needed on HP-UX 11.
58079
58080 2007-05-29  Bruno Haible  <bruno@clisp.org>
58081
58082         Fix a problem with #include_next.
58083         * lib/dirent_.h: Split the double-inclusion guard.
58084         * lib/fcntl_.h: Likewise.
58085         * lib/float_.h: Likewise.
58086         * lib/iconv_.h: Likewise.
58087         * lib/inttypes_.h: Likewise.
58088         * lib/locale_.h: Likewise.
58089         * lib/math_.h: Likewise.
58090         * lib/netinet_in_.h: Likewise.
58091         * lib/search_.h: Likewise.
58092         * lib/signal_.h: Likewise.
58093         * lib/stdint_.h: Likewise.
58094         * lib/stdio_.h: Likewise.
58095         * lib/stdlib_.h: Likewise.
58096         * lib/string_.h: Likewise.
58097         * lib/sys_select_.h: Likewise.
58098         * lib/sys_socket_.h: Likewise.
58099         * lib/sys_stat_.h: Likewise.
58100         * lib/sys_time_.h: Likewise.
58101         * lib/sysexits_.h: Likewise.
58102         * lib/time_.h: Likewise.
58103         * lib/unistd_.h: Likewise.
58104         * lib/wchar_.h: Likewise.
58105         * lib/wctype_.h: Likewise.
58106
58107 2007-05-29  Bruno Haible  <bruno@clisp.org>
58108
58109         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58110         for the moment.
58111
58112 2007-05-29  Bruno Haible  <bruno@clisp.org>
58113
58114         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58115         invocation.
58116         Reported by Eric Blake.
58117
58118 2007-05-29  Bruno Haible  <bruno@clisp.org>
58119
58120         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58121         compiling case.
58122
58123 2007-05-29  Eric Blake  <ebb9@byu.net>
58124             Bruno Haible  <bruno@clisp.org>
58125
58126         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58127         cross compiles.
58128
58129 2007-05-28  Eric Blake  <ebb9@byu.net>
58130
58131         * modules/closein-tests (test_closein_LDADD): Support test on
58132         cygwin with libtool.
58133
58134 2007-05-28  Bruno Haible  <bruno@clisp.org>
58135
58136         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58137         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58138         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58139         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58140         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58141         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58142         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58143         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58144         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58145
58146 2007-05-28  Eric Blake  <ebb9@byu.net>
58147
58148         Unconditionally include <config.h> in unit tests.
58149         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58150         * tests/test-allocsa.c, tests/test-arcfour.c,
58151         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58152         tests/test-array_list.c, tests/test-array_oset.c,
58153         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58154         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58155         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58156         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58157         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58158         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58159         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58160         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58161         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58162         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58163         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58164         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58165         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58166         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58167         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58168         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58169         test-md5.c, test-memmem.c, test-printf-posix.c,
58170         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58171         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58172         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58173         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58174         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58175         test-vasnprintf-posix2.c, test-vasnprintf.c,
58176         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58177         test-vfprintf-posix.c, test-vprintf-posix.c,
58178         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58179         test-xvasprintf.c: Likewise.
58180
58181 2007-05-28  Bruno Haible  <bruno@clisp.org>
58182
58183         * gnulib-tool (func_import): Remember the --with-tests command-line
58184         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58185         Reported by Eric Blake.
58186
58187 2007-05-28  Bruno Haible  <bruno@clisp.org>
58188
58189         * modules/ftell-tests: New file.
58190         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58191         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58192
58193         * lib/ftell.c: New file.
58194         * modules/ftell: New file.
58195         * m4/ftell.m4: New file.
58196         * doc/functions/ftell.texi: Update.
58197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58198         REPLACE_FTELL.
58199         * lib/stdio_.h (rpl_ftell): New declaration.
58200         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58201         REPLACE_FTELL.
58202
58203 2007-05-28  Eric Blake  <ebb9@byu.net>
58204
58205         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58206
58207 2007-05-28  Bruno Haible  <bruno@clisp.org>
58208
58209         * modules/fseek-tests: New file.
58210         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58211         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58212
58213         * lib/fseek.c: New file.
58214         * modules/fseek: New file.
58215         * m4/fseek.m4: New file.
58216         * doc/functions/fseek.texi: Update.
58217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58218         REPLACE_FSEEK.
58219         * lib/stdio_.h (rpl_fseek): New declaration.
58220         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58221         REPLACE_FSEEK.
58222
58223 2007-05-28  Bruno Haible  <bruno@clisp.org>
58224
58225         * lib/stdio_.h (fflush): More comments.
58226
58227 2007-05-28  Bruno Haible  <bruno@clisp.org>
58228
58229         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58230         runtime test.
58231
58232 2007-05-28  Eric Blake  <ebb9@byu.net>
58233
58234         Improve lseek module.
58235         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58236         * lib/unistd_.h (lseek): Scale back link warning message.
58237         * tests/test-lseek.c: Beef up test.
58238         * tests/test-lseek.sh: Exercise more facets of lseek.
58239         Reported by Bruno Haible.
58240
58241 2007-05-28  Bruno Haible  <bruno@clisp.org>
58242
58243         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58244         to define.
58245
58246 2007-05-27  Bruno Haible  <bruno@clisp.org>
58247
58248         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58249
58250 2007-05-27  Bruno Haible  <bruno@clisp.org>
58251
58252         * modules/openmp: New file.
58253         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58254         Noah Misch.
58255
58256 2007-05-26  Bruno Haible  <bruno@clisp.org>
58257
58258         * modules/chdir-long (Depends-on): Add fchdir.
58259         * modules/chdir-safer (Depends-on): Likewise.
58260         * modules/fts (Depends-on): Likewise.
58261         * modules/fts-lgpl (Depends-on): Likewise.
58262         * modules/openat (Depends-on): Likewise.
58263         * modules/savewd (Depends-on): Likewise.
58264
58265 2007-05-24  Eric Blake  <ebb9@byu.net>
58266
58267         Fix lseek on mingw.
58268         * modules/lseek: New module.
58269         * m4/lseek.m4: New file.
58270         * lib/lseek.c: New file.
58271         * modules/lseek-tests: New file.
58272         * tests/test-lseek.c: New file.
58273         * tests/test-lseek.sh: New file.
58274         * MODULES.html.sh: Document lseek module.
58275         * modules/fflush (Depends-on): Add lseek, fseeko.
58276         * modules/fseeko (Depends-on): Likewise.
58277         * modules/ftello (Depends-on): Likewise.
58278         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58279         broken.
58280         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58281         broken.
58282         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58283         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58284         * lib/ftello.c (rpl_ftello): Likewise.
58285         * tests/test-fseeko.c (main): Test this.
58286         * tests/test-fseeko.sh: Likewise.
58287         * tests/test-ftello.c (main): Likewise.
58288         * tests/test-ftello.sh: Likewise.
58289         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58290         implies replacing fseek.
58291         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58292         HAVE_FTELLO.
58293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58294         * modules/unistd (Makefile.am): Likewise.
58295         * lib/unistd_.h (lseek): Declare a replacement.
58296         * doc/functions/lseek.texi (lseek): Document this fix.
58297         * doc/functions/fseek.texi (fseek): Likewise.
58298         * doc/functions/ftell.texi (ftell): Likewise.
58299
58300 2007-05-24  Bruno Haible  <bruno@clisp.org>
58301
58302         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58303         in the printed representation of a NaN.
58304         * tests/test-vasprintf-posix.c (test_function): Likewise.
58305         * tests/test-snprintf-posix.h (test_function): Likewise.
58306         * tests/test-sprintf-posix.h (test_function): Likewise.
58307         Reported by Eric Blake.
58308
58309 2007-05-23  Eric Blake  <ebb9@byu.net>
58310
58311         Fix fseeko/ftello on cygwin 1.5.24.
58312         * doc/functions/fseeko.texi (fseeko): Document the fix.
58313         * doc/functions/ftello.texi (ftello): Document the fix.
58314         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58315         * doc/functions/stdout.text (stdout): New file.
58316         * doc/functions/stderr.text (stderr): New file.
58317         * doc/gnulib.texi (Function Substitutes): Use new files.
58318         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58319         prior to 1.7.0.
58320         * tests/test-ftello.c (main): Likewise for ftello.
58321         * tests/test-fseeko.sh: New file.
58322         * tests/test-ftello.sh: New file.
58323         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58324         with seekable stdin.
58325         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58326         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58327         (gl_REPLACE_FSEEKO): New macro.
58328         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58329         * modules/fseeko (Files): Distribute fseeko.c.
58330         * modules/ftello (Files): Distribute ftello.c.
58331         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58332         mode.
58333         * lib/ftello.c (rpl_ftello): New file.
58334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58335         fseeko, ftello.
58336         (gl_STDIN_LARGE_OFFSET): New macro.
58337         * modules/stdio (Makefile.am): Perform the replacement.
58338         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58339
58340 2007-05-23  Bruno Haible  <bruno@clisp.org>
58341
58342         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58343         GNULIB_POSIXCHECK is defined.
58344
58345 2007-05-21  Bruno Haible  <bruno@clisp.org>
58346
58347         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58348         Check also the output for NaN arguments. When cross-compiling, guess
58349         no on IRIX.
58350         * lib/vasnprintf.c: Update comments.
58351         * tests/test-vasnprintf-posix.c (strisnan): New function.
58352         (test_function): Use it.
58353         * tests/test-vasprintf-posix.c (strisnan): New function.
58354         (test_function): Use it.
58355         * tests/test-snprintf-posix.h (strisnan): New function.
58356         (test_function): Use it.
58357         * tests/test-sprintf-posix.h (strisnan): New function.
58358         (test_function): Use it.
58359         Reported by Eric Blake.
58360
58361 2007-05-20  Bruno Haible  <bruno@clisp.org>
58362
58363         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58364         numbers that fails on BeOS.
58365         * doc/functions/frexpl.texi: Update.
58366
58367 2007-05-20  Jim Meyering  <jim@meyering.net>
58368
58369         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58370         forced upon us by glibc-2.6.
58371
58372 2007-05-20  Bruno Haible  <bruno@clisp.org>
58373
58374         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58375         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58376         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58377         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58378         NEED_PRINTF_INFINITE.
58379         (is_infinitel): New function.
58380         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58381         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58382         gl_PREREQ_VASNPRINTF_INFINITE.
58383         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58384         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58385         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58386         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58387         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58388         gl_PREREQ_VASNPRINTF_INFINITE.
58389         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58390         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58391         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58392         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58393         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58394         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58395         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58396         * doc/functions/fprintf.texi: Update.
58397         * doc/functions/printf.texi: Update.
58398         * doc/functions/snprintf.texi: Update.
58399         * doc/functions/sprintf.texi: Update.
58400         * doc/functions/vfprintf.texi: Update.
58401         * doc/functions/vprintf.texi: Update.
58402         * doc/functions/vsnprintf.texi: Update.
58403         * doc/functions/vsprintf.texi: Update.
58404
58405 2007-05-20  Bruno Haible  <bruno@clisp.org>
58406
58407         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58408         was not found in libc.
58409         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58410
58411 2007-05-20  Bruno Haible  <bruno@clisp.org>
58412
58413         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58414         printed as "-nan" instead of "nan".
58415         * tests/test-vasprintf-posix.c (test_function): Likewise.
58416         * tests/test-snprintf-posix.h (test_function): Likewise.
58417         * tests/test-sprintf-posix.h (test_function): Likewise.
58418         Needed for HP-UX 11.
58419
58420 2007-05-20  Jim Meyering  <jim@meyering.net>
58421
58422         Fix buggy test for the fchownat-deref bug.
58423         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58424         symlink required for the run-test.  Without it, this test would
58425         always declare that fchownat doesn't work, and client code would
58426         unnecessarily use the replacement function with fixed libc.
58427         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58428         Reported by Greg Schafer.
58429
58430 2007-05-19  Bruno Haible  <bruno@clisp.org>
58431
58432         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58433         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58434         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58435         Needed for IRIX 6.5 and Solaris 2.5.1.
58436
58437 2007-05-19  Bruno Haible  <bruno@clisp.org>
58438
58439         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58440         (test_function): Skip tests involving -0.0 on platforms where
58441         -0.0 = 0.0.
58442         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58443         (test_function): Skip tests involving -0.0 on platforms where
58444         -0.0 = 0.0.
58445         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58446         (test_function): Skip tests involving -0.0 on platforms where
58447         -0.0 = 0.0.
58448         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58449         (test_function): Skip tests involving -0.0 on platforms where
58450         -0.0 = 0.0.
58451         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58452         tests.
58453         * tests/test-printf-posix.h (test_function): Likewise.
58454         * tests/test-printf-posix.output: Remove all -0.0 related results.
58455         Needed for IRIX 6.5.
58456
58457 2007-05-19  Bruno Haible  <bruno@clisp.org>
58458
58459         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58460         printed as "nan0x7fffffff" instead of "nan".
58461         * tests/test-vasprintf-posix.c (test_function): Likewise.
58462         * tests/test-snprintf-posix.h (test_function): Likewise.
58463         * tests/test-sprintf-posix.h (test_function): Likewise.
58464         * tests/test-fprintf-posix.h (NaN): Remove macro.
58465         (test_function): Remove all NaN related tests.
58466         * tests/test-printf-posix.h (NaN): Remove macro.
58467         (test_function): Remove all NaN related tests.
58468         * tests/test-printf-posix.output: Remove all NaN related results.
58469         Needed for IRIX 6.5.
58470
58471 2007-05-19  Bruno Haible  <bruno@clisp.org>
58472
58473         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
58474         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
58475
58476 2007-05-19  Bruno Haible  <bruno@clisp.org>
58477
58478         * lib/float_.h: New file.
58479         * m4/float_h.m4: New file.
58480         * modules/float: New file.
58481         * modules/isnanl (Dependencies): Add float.
58482         * modules/isnanl-nolibm (Dependencies): Likewise.
58483         * modules/mathl (Dependencies): Likewise.
58484         * modules/printf-frexpl (Dependencies): Likewise.
58485         * modules/signbit (Dependencies): Likewise.
58486         * modules/vasnprintf (Dependencies): Likewise.
58487         * doc/headers/float.texi: Update.
58488
58489 2007-05-19  Jim Meyering  <jim@meyering.net>
58490
58491         * lib/utimens.c (gl_futimens): Rename from futimens,
58492         now that glibc-2.6 declares futimens.
58493         * lib/utimens.h: Likewise.
58494
58495 2007-05-19  Bruno Haible  <bruno@clisp.org>
58496
58497         Avoid test failures on mingw.
58498         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
58499         * tests/test-printf-posix.sh: Likewise.
58500         * tests/test-vfprintf-posix.sh: Likewise.
58501         * tests/test-vprintf-posix.sh: Likewise.
58502
58503 2007-05-19  Bruno Haible  <bruno@clisp.org>
58504
58505         Fix *printf result for NaN, Inf, -0.0 on mingw.
58506         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
58507         * lib/vasnprintf.c: Include math.h and isnan.h.
58508         (is_infinite_or_zero): New function.
58509         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
58510         values in the %f, %F, %e, %E, %g, %G directives.
58511         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
58512         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58513         gl_PRINTF_INFINITE and test its result. Invoke
58514         gl_PREREQ_VASNPRINTF_INFINITE.
58515         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58516         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58517         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58518         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58519         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58520         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58521         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58522         * doc/functions/fprintf.texi: Update.
58523         * doc/functions/printf.texi: Update.
58524         * doc/functions/snprintf.texi: Update.
58525         * doc/functions/sprintf.texi: Update.
58526         * doc/functions/vfprintf.texi: Update.
58527         * doc/functions/vprintf.texi: Update.
58528         * doc/functions/vsnprintf.texi: Update.
58529         * doc/functions/vsprintf.texi: Update.
58530
58531 2007-05-19  Bruno Haible  <bruno@clisp.org>
58532
58533         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
58534         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
58535         Instead of multiplying with 10^k, set extra_zeroes to k.
58536         (scale10_round_long_double): Remove function.
58537
58538 2007-05-18  Bruno Haible  <bruno@clisp.org>
58539
58540         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
58541         introduced on 2007-05-06.
58542
58543 2007-05-18  Bruno Haible  <bruno@clisp.org>
58544
58545         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
58546         %g directives.
58547         * tests/test-vasprintf-posix.c (test_function): Likewise.
58548         * tests/test-snprintf-posix.h (test_function): Likewise.
58549         * tests/test-sprintf-posix.h (test_function): Likewise.
58550
58551 2007-05-18  Bruno Haible  <bruno@clisp.org>
58552
58553         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
58554         (strmatch): New function.
58555         (test_function): Test the %f directive on numbers of various exponents.
58556         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
58557         (strmatch): New function.
58558         (test_function): Test the %f directive on numbers of various exponents.
58559         * tests/test-snprintf-posix.h (strmatch): New function.
58560         (test_function): Test the %f directive on numbers of various exponents.
58561         * tests/test-sprintf-posix.h (strmatch): New function.
58562         (test_function): Test the %f directive on numbers of various exponents.
58563         * tests/test-snprintf-posix.c (SIZEOF): New macro.
58564         * tests/test-sprintf-posix.c (SIZEOF): New macro.
58565         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
58566         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
58567
58568 2007-05-18  Bruno Haible  <bruno@clisp.org>
58569
58570         Add support for 'long double' number output.
58571         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
58572         * lib/vasnprintf.c: Include math.h and float+.h.
58573         (mp_limb_t): New type.
58574         (GMP_LIMB_BITS): New macro.
58575         (mp_twolimb_t): New type.
58576         (GMP_TWOLIMB_BITS): New macro.
58577         (mpn_t): New type.
58578         (multiply, divide, convert_to_decimal, decode_long_double,
58579         scale10_round_long_double, scale10_round_decimal_long_double,
58580         floorlog10l): New functions.
58581         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
58582         for the %f, %F, %e, %E, %g, %G directives.
58583         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
58584         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58585         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
58586         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
58587         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58588         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58589         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58590         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58591         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58592         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58593         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58594         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
58595         * modules/snprintf-posix (Depends-on): Likewise.
58596         * modules/sprintf-posix (Depends-on): Likewise.
58597         * modules/vasnprintf-posix (Depends-on): Likewise.
58598         * modules/vasprintf-posix (Depends-on): Likewise.
58599         * modules/vfprintf-posix (Depends-on): Likewise.
58600         * modules/vsnprintf-posix (Depends-on): Likewise.
58601         * modules/vsprintf-posix (Depends-on): Likewise.
58602         * modules/vasnprintf (Files): Add lib/float+.h.
58603         * doc/functions/fprintf.texi: Update.
58604         * doc/functions/printf.texi: Update.
58605         * doc/functions/snprintf.texi: Update.
58606         * doc/functions/sprintf.texi: Update.
58607         * doc/functions/vfprintf.texi: Update.
58608         * doc/functions/vprintf.texi: Update.
58609         * doc/functions/vsnprintf.texi: Update.
58610         * doc/functions/vsprintf.texi: Update.
58611
58612 2007-05-18  Bruno Haible  <bruno@clisp.org>
58613
58614         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
58615
58616 2007-05-18  Bruno Haible  <bruno@clisp.org>
58617
58618         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
58619         for printing 64-bit integers. Needed for mingw.
58620
58621 2007-05-18  Bruno Haible  <bruno@clisp.org>
58622
58623         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
58624         gl_FUNC_FREXPL_WORKS.
58625         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
58626
58627 2007-05-18  Bruno Haible  <bruno@clisp.org>
58628
58629         * modules/frexpl-nolibm-tests: New file.
58630
58631         * modules/frexpl-nolibm: New file.
58632         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
58633
58634 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58635
58636         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
58637         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58638         GCC 4.2, which otherwise issues a lot of warnings.
58639         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
58640         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
58641         Likewise.
58642         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
58643         * modules/iconv_open (iconv.h): Likewise.
58644         * modules/locale (locale.h): Likewise.
58645         * modules/netinet_in (netinet/in.h): Likewise.
58646         * modules/sys_select (sys_select.h): Likewise.
58647         * modules/sys_socket (sys/socket.h): Likewise.
58648         * modules/sys_stat (sys/stat.h): Likewise.
58649         * modules/sysexits (sysexits.h): Likewise.
58650         * modules/unistd (unistd.h): Likewise.
58651
58652 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58653
58654         * modules/closein-tests (Makefile.am): Distribute
58655         `test-closein.sh'.
58656
58657 2007-05-17  Bruno Haible  <bruno@clisp.org>
58658
58659         * tests/test-printf-posix.output: Renamed from
58660         tests/test-fprintf-posix.out.
58661         * modules/fprintf-posix-tests: Update.
58662         * modules/printf-posix-tests: Update.
58663         * modules/vfprintf-posix-tests: Update.
58664         * modules/vprintf-posix-tests: Update.
58665         * tests/test-fprintf-posix.sh: Update.
58666         * tests/test-printf-posix.sh: Update.
58667         * tests/test-vfprintf-posix.sh: Update.
58668         * tests/test-vprintf-posix.sh: Update.
58669         Reported by Ralf Wildenhues.
58670
58671 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58672
58673         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
58674         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58675         GCC 4.2, which otherwise issues a lot of warnings.
58676         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
58677         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
58678         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
58679         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
58680         it should no longer be needed.
58681         * lib/string_.h: Likewise.
58682         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
58683         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
58684         * modules/inttypes (inttypes.h): Likewise.
58685         * modules/math (math.h): Likewise.
58686         * modules/search (search.h): Likewise.
58687         * modules/signal (signal.h): Likewise.
58688         * modules/stdint (stdint.h): Likewise.
58689         * modules/stdio (stdio.h): Likewise.
58690         * modules/stdlib (stdlib.h): Likewise.
58691         * modules/string (string.h): Likewise.
58692         * modules/sys_time (sys/time.h): Likewise.
58693         * modules/time (time.h): Likewise.
58694         * modules/wchar (wchar.h): Likewise.
58695         * modules/wctype (wtype.h): Likewise.
58696
58697 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58698
58699         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
58700
58701 2007-05-13  Bruno Haible  <bruno@clisp.org>
58702
58703         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
58704         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
58705         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
58706         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58707         (gl_PREREQ_STRTOK_R): Don't require it here.
58708
58709 2007-05-13  Bruno Haible  <bruno@clisp.org>
58710
58711         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
58712         when used in C++ mode.
58713
58714 2007-05-12  Bruno Haible  <bruno@clisp.org>
58715
58716         * lib/linebuffer.h: Tweak doc.
58717         * lib/linebuffer.c: Likewise.
58718
58719 2007-05-12  James Youngman  <jay@gnu.org>
58720
58721         * lib/linebuffer.c (readlinebuffer_delim): New function,
58722         like readlinebuffer, but use a caller-specified delimiter.
58723         (readlinebuffer): Just call readlinebuffer_delim with '\n'
58724         as the delimiter.
58725         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
58726
58727 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58728
58729         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
58730         * modules/openat (Files): Remove openat-die.c.
58731         (Depends-on): Add openat-die.
58732         * modules/openat-die: New module.
58733
58734 2007-05-06  Bruno Haible  <bruno@clisp.org>
58735
58736         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
58737         Update with info about Cygwin.
58738         * doc/functions/fprintf.texi: Update.
58739         * doc/functions/printf.texi: Update.
58740         * doc/functions/snprintf.texi: Update.
58741         * doc/functions/sprintf.texi: Update.
58742         * doc/functions/vfprintf.texi: Update.
58743         * doc/functions/vprintf.texi: Update.
58744         * doc/functions/vsnprintf.texi: Update.
58745         * doc/functions/vsprintf.texi: Update.
58746         Reported by Eric Blake.
58747
58748 2007-05-06  Bruno Haible  <bruno@clisp.org>
58749
58750         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
58751         padding ourselves for the floating-point directives.
58752         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
58753         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
58754         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58755         gl_PRINTF_FLAG_ZERO and test its result. Invoke
58756         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
58757         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58758         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
58759         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58760         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58761         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58762         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58763         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58764         * tests/test-snprintf-posix.h (test_function): Also check the width
58765         and some flags in the %f directive.
58766         * tests/test-sprintf-posix.h (test_function): Likewise.
58767         * tests/test-vasnprintf-posix.c (test_function): Likewise.
58768         * tests/test-vasprintf-posix.c (test_function): Likewise.
58769         * doc/functions/fprintf.texi: Update.
58770         * doc/functions/printf.texi: Update.
58771         * doc/functions/snprintf.texi: Update.
58772         * doc/functions/sprintf.texi: Update.
58773         * doc/functions/vfprintf.texi: Update.
58774         * doc/functions/vprintf.texi: Update.
58775         * doc/functions/vsnprintf.texi: Update.
58776         * doc/functions/vsprintf.texi: Update.
58777
58778 2007-05-06  Bruno Haible  <bruno@clisp.org>
58779
58780         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
58781         pass the ' flag character to sprintf or snprintf.
58782         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
58783         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
58784         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58785         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
58786         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
58787         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58788         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
58789         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58790         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58791         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58792         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58793         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58794         * tests/test-snprintf-posix.h (test_function): Also check the grouping
58795         flag.
58796         * tests/test-sprintf-posix.h (test_function): Likewise.
58797         * tests/test-vasnprintf-posix.c (test_function): Likewise.
58798         * tests/test-vasprintf-posix.c (test_function): Likewise.
58799         * doc/functions/fprintf.texi: Update.
58800         * doc/functions/printf.texi: Update.
58801         * doc/functions/snprintf.texi: Update.
58802         * doc/functions/sprintf.texi: Update.
58803         * doc/functions/vfprintf.texi: Update.
58804         * doc/functions/vprintf.texi: Update.
58805         * doc/functions/vsnprintf.texi: Update.
58806         * doc/functions/vsprintf.texi: Update.
58807
58808 2007-05-01  Bruno Haible  <bruno@clisp.org>
58809
58810         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
58811
58812 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
58813
58814         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
58815         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
58816
58817 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
58818
58819         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
58820         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
58821         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
58822
58823 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
58824
58825         * lib/argp-help.c (struct hol_entry): New member `ord'.
58826         (HOL_ENTRY_PTRCMP): Use ord for comparison
58827         (hol_sort): Initialize ord.
58828
58829 2007-05-01  Bruno Haible  <bruno@clisp.org>
58830
58831         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
58832         Reported by Eric Blake.
58833         * doc/gnulib.texi (Function Substitutes): Update.
58834
58835 2007-05-01  Bruno Haible  <bruno@clisp.org>
58836
58837         * doc/functions.texi: Remove file, now redundant through
58838         doc/functions/*.texi.
58839
58840 2007-05-01  Bruno Haible  <bruno@clisp.org>
58841
58842         * modules/argp (Depends-on): Add sleep.
58843
58844 2007-05-01  Bruno Haible  <bruno@clisp.org>
58845
58846         * modules/sleep-tests: New file.
58847         * tests/test-sleep.c: New file.
58848
58849         * modules/sleep: New file.
58850         * lib/sleep.c: New file.
58851         * m4/sleep.m4: New file.
58852         * lib/unistd_.h (sleep): New declaration.
58853         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
58854         HAVE_SLEEP.
58855         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
58856         * doc/functions/sleep.texi: Document the sleep module.
58857
58858 2007-05-01  Bruno Haible  <bruno@clisp.org>
58859
58860         * lib/sigprocmask.h: Remove file.
58861         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
58862         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
58863         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
58864         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
58865         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
58866         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
58867         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
58868         HAVE_SIGSET_T as a shell variable.
58869         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
58870         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
58871         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
58872         (Depends-on): Add signal. Remove verify.
58873         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
58874         (Include): Mention <signal.h> instead of sigprocmask.h.
58875         * NEWS: Mention the change.
58876         * lib/fatal-signal.c: Don't include sigprocmask.h.
58877
58878 2007-05-01  Bruno Haible  <bruno@clisp.org>
58879
58880         * modules/signal: New file.
58881         * lib/signal_.h: New file.
58882         * m4/signal_h.m4: New file.
58883
58884 2007-05-01  Bruno Haible  <bruno@clisp.org>
58885
58886         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
58887         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
58888         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
58889         HAVE_WCTYPE_CTMP_BUG into wctype.h.
58890
58891 2007-05-01  Bruno Haible  <bruno@clisp.org>
58892
58893         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
58894         configure time.
58895         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
58896         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
58897         * modules/sys_stat (Makefile.am): Substitute their values into
58898         sys/stat.h.
58899
58900 2007-05-01  Bruno Haible  <bruno@clisp.org>
58901
58902         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
58903         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
58904         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
58905
58906 2007-05-01  Bruno Haible  <bruno@clisp.org>
58907
58908         * doc/header/assert.texi: Undo last change: don't mention the gnulib
58909         'assert' module here.
58910
58911 2007-05-01  Bruno Haible  <bruno@clisp.org>
58912
58913         * doc/functions/*.texi: New files.
58914         * doc/functions/google-ranking.txt: New file.
58915         * doc/gnulib.texi (Function Substitutes): New chapter.
58916         (ctime, inet_ntoa): Remove sections.
58917         * doc/ctime.texi: Remove file.
58918         * doc/inet_ntoa.texi: Remove file.
58919         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
58920         dependencies.
58921         (%.info): New rule, specifying a --reference-limit.
58922
58923 2007-05-01  Bruno Haible  <bruno@clisp.org>
58924
58925         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
58926
58927 2007-05-01  Bruno Haible  <bruno@clisp.org>
58928
58929         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
58930         the portability of 'mkdir' to mingw systems.
58931
58932 2007-05-01  Bruno Haible  <bruno@clisp.org>
58933
58934         * doc/headers/google-ranking.txt: New file.
58935
58936 2007-04-30  Eric Blake  <ebb9@byu.net>
58937
58938         Prefer fseeko to fseek.
58939         * modules/getpass (Depends-on): Add fseeko.
58940         * lib/getpass.c (getpass): Use fseeko, not fseek.
58941
58942 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
58943
58944         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
58945         assumes the sorting is stable, while most qsort implementations
58946         are not.  Use argument addresses to ensure they never compare as
58947         equal.
58948
58949         * tests/test-argp-2.sh (usage-indent test): Fix output
58950         (func_compare): Restore diff options
58951         * tests/test-argp.c: Restore #include "progname.h"
58952
58953 2007-04-29  Bruno Haible  <bruno@clisp.org>
58954
58955         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
58956         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58957         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
58958         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58959         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
58960         (configure.ac): Define CHECK_SNPRINTF_POSIX.
58961         (TESTS, check_PROGRAMS): Add test-snprintf.
58962         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
58963         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
58964         (TESTS, check_PROGRAMS): Add test-vsnprintf.
58965         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
58966         assertions that fail on HP-UX, OSF/1, or IRIX.
58967         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
58968
58969 2007-04-29  Bruno Haible  <bruno@clisp.org>
58970
58971         * MODULES.html.sh (posix_functions): Remove 'contents'.
58972
58973 2007-04-29  Karl Berry  <karl@gnu.org>
58974
58975         * config/srclist.txt (gendocs_template_min): new entry.
58976
58977 2007-04-29  Bruno Haible  <bruno@clisp.org>
58978
58979         Work around fpurge bug on BSD systems.
58980         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
58981         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
58982         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
58983         fpurge to rpl_fpurge if the system already has this function.
58984         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
58985         the case where the system already has this function. Correct invariants
58986         on BSD systems.
58987         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
58988         BSD systems.
58989
58990 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
58991
58992         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
58993         proposed by Sven Verdoolaege.
58994
58995         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
58996         options.
58997         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
58998         (usage and help tests): Update
58999
59000 2007-04-29  Bruno Haible  <bruno@clisp.org>
59001
59002         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59003         Print more information in case of failure. Disable a test on BeOS.
59004
59005 2007-04-29  Bruno Haible  <bruno@clisp.org>
59006
59007         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59008         This helps debugging on systems on which no gdb is available.
59009
59010 2007-04-29  Bruno Haible  <bruno@clisp.org>
59011
59012         * lib/freading.h: Improve comments.
59013         * lib/fwriting.h: Likewise.
59014         * tests/test-freading.c (main): Don't check freading immediately after
59015         repositioning. Needed for glibc.
59016
59017 2007-04-29  Bruno Haible  <bruno@clisp.org>
59018
59019         * lib/freading.c (freading): Trivial simplification.
59020
59021 2007-04-28  Bruno Haible  <bruno@clisp.org>
59022
59023         * tests/test-fwriting.c (main): Also test the interaction between
59024         fflush and fwriting.
59025         * modules/fwriting-tests (Depends-on): Add fflush.
59026
59027         * tests/test-freading.c (main): Also test the interaction between
59028         fflush and freading.
59029         * modules/freading-tests (Depends-on): Add fflush.
59030
59031 2007-04-28  Bruno Haible  <bruno@clisp.org>
59032
59033         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59034         fseeko and ftello.
59035         Suggested by Eric Blake.
59036
59037 2007-04-28  Jim Meyering  <jim@meyering.net>
59038
59039         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59040         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59041         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59042
59043 2007-04-27  Eric Blake  <ebb9@byu.net>
59044
59045         * doc/headers/assert.texi (assert.h): Document assert module use.
59046
59047 2007-04-27  Bruno Haible  <bruno@clisp.org>
59048
59049         * doc/headers/*.texi: New files.
59050         * doc/gnulib.texi (Header File Substitutes): New chapter.
59051         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59052         dependencies.
59053         (standards.info ,standards.html, standards.dvi): Update dependencies.
59054         (mostlyclean, clean): New targets.
59055
59056 2007-04-27  Bruno Haible  <bruno@clisp.org>
59057
59058         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59059         * modules/sysexits (Files, Makefile.am): Update.
59060
59061         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59062         * modules/sys_socket (Files, Makefile.am): Update.
59063
59064         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59065         * modules/sys_stat (Files, Makefile.am): Update.
59066
59067 2007-04-27  Eric Blake  <ebb9@byu.net>
59068
59069         * lib/freading.h: Improve comments.
59070         * lib/fwriting.h: Likewise.
59071         * lib/fflush.c: Likewise.
59072
59073         Fix closein for mingw.
59074         * modules/closein-tests: Add tests for closein.
59075         * tests/test-closein.c: New file.
59076         * tests/test-closein.sh: Likewise.
59077         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59078         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59079
59080 2007-04-27  Bruno Haible  <bruno@clisp.org>
59081
59082         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59083         version is < 6.
59084         * lib/math_.h [__DECC]: Likewise.
59085         * lib/stdio_.h [__DECC]: Likewise.
59086         * lib/stdlib_.h [__DECC]: Likewise.
59087         * lib/string_.h [__DECC]: Likewise.
59088         * lib/time_.h [__DECC]: Likewise.
59089         * lib/wchar_.h [__DECC]: Likewise.
59090         * lib/wctype_.h [__DECC]: Likewise.
59091
59092 2007-04-27  Bruno Haible  <bruno@clisp.org>
59093
59094         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59095
59096 2007-04-27  Bruno Haible  <bruno@clisp.org>
59097
59098         * lib/fflush.c: Add comments.
59099         * modules/fpurge-tests (Depends-on): Add fflush.
59100         * modules/freadable-tests (Depends-on): Likewise.
59101         * modules/fwritable-tests (Depends-on): Likewise.
59102
59103 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59104
59105         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59106         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59107         Report by Bruno Haible <bruno@clisp.org>.
59108
59109 2007-04-26  Eric Blake  <ebb9@byu.net>
59110
59111         Fix fflush on mingw.
59112         * modules/fflush (Depends-on): Add freading.
59113         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59114         but unread data.
59115
59116 2007-04-26  Eric Blake  <ebb9@byu.net>
59117         and Bruno Haible  <bruno@clisp.org>
59118
59119         Implement freading and fwriting.
59120         * lib/freading.c: New file.
59121         * lib/freading.h: Likewise.
59122         * m4/freading.m4: Likewise.
59123         * modules/freading: Likewise.
59124         * modules/freading-tests: Likewise.
59125         * tests/test-freading.c: Likewise.
59126         * lib/fwriting.c: New file.
59127         * lib/fwriting.h: Likewise.
59128         * m4/fwriting.m4: Likewise.
59129         * modules/fwriting: Likewise.
59130         * modules/fwriting-tests: Likewise.
59131         * tests/test-fwriting.c: Likewise.
59132         * MODULES.html.sh (File stream based Input/Output): Mention them.
59133
59134 2007-04-26  Bruno Haible  <bruno@clisp.org>
59135
59136         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59137         'long' when we assume it.
59138         Suggested by Eric Blake.
59139
59140 2007-04-26  Bruno Haible  <bruno@clisp.org>
59141
59142         Ensure fseeko, ftello are declared on glibc systems.
59143         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59144         * modules/fseeko (configure.ac-early): Likewise.
59145         * modules/ftello (configure.ac-early): Likewise.
59146         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59147         AC_FUNC_FSEEKO for this.
59148         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59149         (gl_CHECK_FSEEKO): Remove macro.
59150
59151 2007-04-26  Bruno Haible  <bruno@clisp.org>
59152
59153         * tests/test-fflush.c (main): Also check the ftell result after
59154         fflush and fseek/fseeko.
59155         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59156         file descriptor position cache in the stream.
59157         * lib/fseeko.c (rpl_fseeko): Likewise.
59158
59159 2007-04-26  Bruno Haible  <bruno@clisp.org>
59160
59161         * modules/fflush-tests (Depends-on): Add fseeko.
59162
59163 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59164             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59165
59166         * lib/argz_.h: ensure error_t definition is obtained in same
59167         mechanism system argz.h would have.
59168         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59169         argz facilities are known bad.  Err on the side of caution if
59170         cross-compiling.
59171
59172 2007-04-25  Eric Blake  <ebb9@byu.net>
59173
59174         * lib/fpurge.c (includes): Use stdlib.h for free.
59175         * tests/test-fflush.c (main): Also test fflush-fseeko.
59176
59177 2007-04-25  Bruno Haible  <bruno@clisp.org>
59178
59179         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59180         * lib/fseeko.c: New file.
59181         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59182         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59183         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59184         gl_FUNC_FSEEKO.
59185         (gl_FUNC_FSEEKO): Invoke it.
59186         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59187         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59188         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59189
59190 2007-04-25  Bruno Haible  <bruno@clisp.org>
59191
59192         * modules/fflush (Depends-on): Add ftello.
59193
59194 2007-04-25  Bruno Haible  <bruno@clisp.org>
59195
59196         * modules/ftello-tests: New file.
59197         * tests/test-ftello.c: New file.
59198
59199         * modules/ftello: New file.
59200         * m4/ftello.m4: New file.
59201         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59202         HAVE_FTELLO.
59203         * lib/stdio_.h (ftello): New declaration.
59204         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59205         HAVE_FTELLO.
59206
59207 2007-04-25  Bruno Haible  <bruno@clisp.org>
59208
59209         * modules/fseeko-tests: New file.
59210         * tests/test-fseeko.c: New file.
59211
59212         * modules/fseeko: New file.
59213         * m4/fseeko.m4: New file.
59214         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59215         HAVE_FSEEKO.
59216         * lib/stdio_.h (fseeko): New declaration.
59217         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59218         HAVE_FSEEKO.
59219
59220 2007-04-25  Bruno Haible  <bruno@clisp.org>
59221
59222         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59223
59224 2007-04-25  Bruno Haible  <bruno@clisp.org>
59225
59226         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59227         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59228         * tests/test-unistd.c: Likewise.
59229         * tests/test-fcntl.c: Likewise.
59230
59231 2007-04-23  Eric Blake  <ebb9@byu.net>
59232
59233         * lib/fflush.c: Fix missing include.
59234         Reported by Bruno Haible.
59235
59236 2007-04-23  Bruno Haible  <bruno@clisp.org>
59237
59238         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59239         Reported by Eric Blake.
59240
59241 2007-04-23  Bruno Haible  <bruno@clisp.org>
59242
59243         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59244
59245 2007-04-23  Bruno Haible  <bruno@clisp.org>
59246
59247         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59248
59249 2007-04-23  Bruno Haible  <bruno@clisp.org>
59250
59251         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59252         Needed on HP-UX 11.
59253
59254 2007-04-16  Eric Blake  <ebb9@byu.net>
59255
59256         Make fflush rely on fpurge.
59257         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59258         open coding all variants.
59259         * modules/fflush (Depends-on): Add fpurge and unistd.
59260         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59261         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59262
59263         Fix --with-tests compilation on cygwin.
59264         * modules/argmatch-tests (Makefile.am): List gnulib library first
59265         in LDADD.
59266         * modules/argp-tests (Makefile.am): Likewise.
59267         * modules/array-list-tests (Makefile.am): Likewise.
59268         * modules/array-oset-tests (Makefile.am): Likewise.
59269         * modules/avltree-list-tests (Makefile.am): Likewise.
59270         * modules/avltree-oset-tests (Makefile.am): Likewise.
59271         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59272         * modules/carray-list-tests (Makefile.am): Likewise.
59273         * modules/dirname-tests (Makefile.am): Likewise.
59274         * modules/frexp-tests (Makefile.am): Likewise.
59275         * modules/isnanl-tests (Makefile.am): Likewise.
59276         * modules/linked-list-tests (Makefile.am): Likewise.
59277         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59278         * modules/lock-tests (Makefile.am): Likewise.
59279         * modules/rbtree-list-tests (Makefile.am): Likewise.
59280         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59281         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59282         * modules/tls-tests (Makefile.am): Likewise.
59283         * modules/tsearch-tests (Makefile.am): Likewise.
59284         * modules/xvasprintf-tests (Makefile.am): Likewise.
59285
59286         Fix fpurge for cygwin.
59287         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59288         value.
59289         * modules/fpurge-tests (Depends-on): Clean up trash.
59290
59291 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59292
59293         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59294
59295         * m4/autobuild.m4: Re-indent.
59296
59297 2007-04-13  Bruno Haible  <bruno@clisp.org>
59298
59299         * modules/fpurge-tests: New file.
59300         * tests/test-fpurge.c: New file.
59301
59302         * modules/fpurge: New file.
59303         * lib/fpurge.h: New file.
59304         * lib/fpurge.c: New file.
59305         * m4/fpurge.m4: New file.
59306
59307 2007-04-13  Bruno Haible  <bruno@clisp.org>
59308
59309         * modules/fbufmode-tests: New file.
59310         * tests/test-fbufmode.c: New file.
59311
59312         * modules/fbufmode: New file.
59313         * lib/fbufmode.h: New file.
59314         * lib/fbufmode.c: New file.
59315         * m4/fbufmode.m4: New file.
59316
59317 2007-04-13  Bruno Haible  <bruno@clisp.org>
59318
59319         * modules/fwritable-tests: New file.
59320         * tests/test-fwritable.c: New file.
59321
59322         * modules/fwritable: New file.
59323         * lib/fwritable.h: New file.
59324         * lib/fwritable.c: New file.
59325         * m4/fwritable.m4: New file.
59326
59327 2007-04-13  Bruno Haible  <bruno@clisp.org>
59328
59329         * modules/freadable-tests: New file.
59330         * tests/test-freadable.c: New file.
59331
59332         * modules/freadable: New file.
59333         * lib/freadable.h: New file.
59334         * lib/freadable.c: New file.
59335         * m4/freadable.m4: New file.
59336
59337 2007-04-13  Bruno Haible  <bruno@clisp.org>
59338
59339         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59340         MOSTLYCLEANFILES.
59341
59342 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59343
59344         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59345         gzip bootstrap.conf to avoid dragging in i18n machinery.
59346         (gnulib_tool_option): Use it.
59347
59348 2007-04-13  Bruno Haible  <bruno@clisp.org>
59349
59350         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59351         %F directives.
59352         * tests/test-vasprintf-posix.c (test_function): Likewise.
59353         * tests/test-snprintf-posix.h (test_function): Likewise.
59354         * tests/test-sprintf-posix.h (test_function): Likewise.
59355         * tests/test-fprintf-posix.h (test_function): Likewise.
59356         * tests/test-printf-posix.h (test_function): Likewise.
59357         * tests/test-fprintf-posix.out: Likewise.
59358
59359 2007-04-13  Bruno Haible  <bruno@clisp.org>
59360
59361         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59362         * modules/tls-tests (configure.ac): Likewise.
59363         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59364
59365 2007-04-13  Bruno Haible  <bruno@clisp.org>
59366
59367         * lib/tls.c (glthread_tls_get): Fix return type.
59368         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59369
59370 2007-04-12  Eric Blake  <ebb9@byu.net>
59371
59372         * modules/gettime (Depends-on): Remove gettime.
59373         Reported by Dmitry V. Levin.
59374
59375 2007-04-12  Bruno Haible  <bruno@clisp.org>
59376
59377         * modules/fflush (Include): Mention <stdio.h>.
59378         * modules/strtoimax (Include): Mention <inttypes.h>.
59379         * modules/strtoumax (Include): Likewise.
59380
59381 2007-04-12  Eric Blake  <ebb9@byu.net>
59382
59383         * .cvsignore: New file.
59384         * .gitignore: Likewise.
59385
59386 2007-04-12  Bruno Haible  <bruno@clisp.org>
59387
59388         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59389         not before, since $(LDADD) often contains libgnu.a.
59390         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59391         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59392         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59393         Needed on Cygwin.
59394
59395 2007-04-12  Eric Blake  <ebb9@byu.net>
59396
59397         Work around glibc's failure to flush stdin on fclose.
59398         * lib/closein.c (close_stdin): Flush stdin before closing.
59399
59400         Work around glibc's failure to reset seekable stdin on exit.
59401         * modules/closein: New module.
59402         * lib/closein.c: New file.
59403         * lib/closein.h: Likewise.
59404         * m4/closein.m4: Likewise.
59405         * MODULES.html.sh (File stream based Input/Output): Document it.
59406
59407 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59408
59409         * gnulib-tool: Rename generated 'autobuild' script to
59410         'do-autobuild' in --create-megatestdir output.
59411
59412         * doc/gnulib.texi (Build robot for gnulib): Fix.
59413
59414 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59415
59416         * modules/sysexits (Depends-on): Add absolute-header.
59417
59418 2007-04-12  Eric Blake  <ebb9@byu.net>
59419
59420         No need to preserve errno on success.
59421         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59422         Reported by Bruno Haible.
59423
59424 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59425
59426         * MODULES.html.sh (Support for maintaining and releasing
59427         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59428
59429 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59430
59431         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59432
59433 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59434
59435         * modules/autobuild: New module.
59436
59437         * m4/autobuild.m4: New file.
59438
59439 2007-04-11  Bruno Haible  <bruno@clisp.org>
59440
59441         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59442         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59443         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59444         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59445         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59446         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59447         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59448         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59449         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59450         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59451         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59452         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59453         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59454         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59455         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59456         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59457         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59458         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59459         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59460         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59461         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59462         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59463         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59464         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59465         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59466         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59467         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59468         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59469         Reported by Eric Blake.
59470
59471 2007-04-11  Bruno Haible  <bruno@clisp.org>
59472
59473         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
59474
59475 2007-04-10  Bruno Haible  <bruno@clisp.org>
59476
59477         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
59478         for NaN and Infinity. Needed on FreeBSD 6.1.
59479         * tests/test-vasnprintf-posix.c (test_function): Undo last change
59480         regarding results for "%010a" of Infinity and NaN.
59481         * tests/test-vasprintf-posix.c (test_function): Likewise.
59482         * tests/test-snprintf-posix.h (test_function): Likewise.
59483         * tests/test-sprintf-posix.h (test_function): Likewise.
59484         * tests/test-fprintf-posix.h (test_function): Likewise.
59485         * tests/test-printf-posix.h (test_function): Likewise.
59486         * tests/test-fprintf-posix.out: Likewise.
59487
59488 2007-04-10  Bruno Haible  <bruno@clisp.org>
59489
59490         * modules/locale-tests: New file.
59491         * tests/test-locale.c: New file.
59492
59493         * modules/locale: New file.
59494         * lib/locale_.h: New file.
59495         * m4/locale_h.m4: New file.
59496
59497 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
59498             Bruno Haible  <bruno@clisp.org>
59499
59500         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
59501         be determined, test for availability of the copysignf, copysign,
59502         copysignl functions.
59503         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
59504         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
59505         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
59506
59507 2007-04-09  Eric Blake  <ebb9@byu.net>
59508
59509         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
59510         * modules/stdio (Makefile.am): Support fflush.
59511         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59512         * modules/fflush: New file.
59513         * lib/fflush.c: Likewise.
59514         * m4/fflush.m4: Likewise.
59515         * modules/fflush-tests: New test.
59516         * tests/test-fflush.c: Likewise.
59517         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
59518
59519 2007-04-06  Bruno Haible  <bruno@clisp.org>
59520
59521         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
59522         (VASNPRINTF): Use signbit for faster determination whether to print a
59523         minus sign.
59524         * modules/vasnprintf (Files): Remove lib/float+.h.
59525         * modules/fprintf-posix (Depends-on): Add signbit.
59526         * modules/snprintf-posix (Depends-on): Likewise.
59527         * modules/sprintf-posix (Depends-on): Likewise.
59528         * modules/vasnprintf-posix (Depends-on): Likewise.
59529         * modules/vasprintf-posix (Depends-on): Likewise.
59530         * modules/vfprintf-posix (Depends-on): Likewise.
59531         * modules/vsnprintf-posix (Depends-on): Likewise.
59532         * modules/vsprintf-posix (Depends-on): Likewise.
59533
59534 2007-04-06  Bruno Haible  <bruno@clisp.org>
59535
59536         * tests/test-frexp.c (main): Test also the sign bit of zero results.
59537         * tests/test-frexpl.c (main): Likewise.
59538         * tests/test-ldexpl.c (main): Likewise.
59539         * modules/frexp-tests (Depends-on): Add signbit.
59540         * modules/frexpl-tests (Depdends-on): Likewise.
59541         * modules/ldexpl-tests (Depdends-on): Likewise.
59542
59543 2007-04-06  Bruno Haible  <bruno@clisp.org>
59544
59545         * modules/signbit-tests: New file.
59546         * tests/test-signbit.c: New file.
59547
59548         * modules/signbit: New file.
59549         * lib/signbitf.c: New file.
59550         * lib/signbitd.c: New file.
59551         * lib/signbitl.c: New file.
59552         * m4/signbit.m4: New file.
59553         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
59554         (signbit): New macro.
59555         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
59556         REPLACE_SIGNBIT.
59557         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
59558         REPLACE_FREXPL into math.h.
59559
59560 2007-04-06  Bruno Haible  <bruno@clisp.org>
59561
59562         * modules/isnanf-nolibm-tests: New file.
59563         * tests/test-isnanf.c: New file.
59564
59565         * modules/isnanf-nolibm: New file.
59566         * lib/isnanf.h: New file.
59567         * lib/isnanf.c: New file.
59568         * lib/isnan.c: Consider the USE_FLOAT macro.
59569         * m4/isnanf.m4: New file.
59570
59571 2007-04-06  Bruno Haible  <bruno@clisp.org>
59572
59573         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
59574         (Link): New section.
59575
59576         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
59577
59578 2007-04-06  Bruno Haible  <bruno@clisp.org>
59579
59580         Assume the 'long double' type.
59581         * m4/longdouble.m4: Remove file.
59582         * config/srclist.txt: Don't mention longdouble.m4.
59583         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
59584         * lib/float+.h: Likewise.
59585         * lib/frexp.c: Likewise.
59586         * lib/printf-args.h: Likewise.
59587         * lib/printf-args.c: Likewise.
59588         * lib/printf-frexp.c: Likewise.
59589         * lib/printf-parse.c: Likewise.
59590         * lib/vasnprintf.c: Likewise.
59591         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
59592         * m4/intl.m4: Likewise.
59593         * m4/isnanl.m4: Likewise.
59594         * m4/printf.m4: Likewise.
59595         * m4/printf-frexpl.m4: Likewise.
59596         * m4/vasnprintf.m4: Likewise.
59597         * modules/allocsa (Files): Remove m4/longdouble.m4.
59598         * modules/gettext (Files): Likewise.
59599         * modules/relocatable-prog-wrapper (Files): Likewise.
59600         * modules/vasnprintf (Files): Likewise.
59601         * modules/isnanl (Files): Likewise.
59602         (Include): Simplify.
59603         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
59604         (Include): Simplify.
59605         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
59606         (Include): Simplify.
59607         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
59608         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59609         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
59610         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59611         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59612         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59613         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
59614         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59615         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59616         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59617         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
59618         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59619         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
59620         * tests/test-isnanl.c: Likewise.
59621         * tests/test-snprintf-posix.h: Likewise.
59622         * tests/test-sprintf-posix.h: Likewise.
59623         * tests/test-vasnprintf-posix.c: Likewise.
59624         * tests/test-vasnprintf-posix2.c: Likewise.
59625         * tests/test-vasprintf-posix.c: Likewise.
59626
59627 2007-04-06  Bruno Haible  <bruno@clisp.org>
59628
59629         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
59630         * lib/math_.h [__DECC]: Include the overridden include file through
59631         #include_next, outside the double-inclusion guard.
59632         * lib/stdio_.h [__DECC]: Likewise.
59633         * lib/stdlib_.h [__DECC]: Likewise.
59634         * lib/string_.h [__DECC]: Likewise.
59635         * lib/time_.h [__DECC]: Likewise.
59636         * lib/wchar_.h [__DECC]: Likewise.
59637         * lib/wctype_.h [__DECC]: Likewise.
59638         * lib/inttypes_.h [__DECC]: Likewise.
59639         Reported by Albert Chin <china@thewrittenword.com> in
59640         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
59641
59642 2007-04-04  Eric Blake  <ebb9@byu.net>
59643
59644         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
59645         1.5.x.
59646
59647 2007-04-04  Bruno Haible  <bruno@clisp.org>
59648
59649         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
59650         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
59651
59652 2007-04-04  Bruno Haible  <bruno@clisp.org>
59653
59654         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
59655         results for "%010a" of Infinity and NaN.
59656         * tests/test-vasprintf-posix.c (test_function): Likewise.
59657         * tests/test-snprintf-posix.h (test_function): Likewise.
59658         * tests/test-sprintf-posix.h (test_function): Likewise.
59659         * tests/test-fprintf-posix.h (test_function): Remove these tests.
59660         * tests/test-printf-posix.h (test_function): Likewise.
59661         * tests/test-fprintf-posix.out: Update.
59662         Needed for FreeBSD 6.1.
59663
59664 2007-04-04  Bruno Haible  <bruno@clisp.org>
59665
59666         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
59667         directly used by the gnulib modules nor by gnulib-tool.
59668
59669 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
59670
59671         * DEPENDENCIES: Give overall description of version dependency
59672         desirability.  Use more-typical names for apps.
59673         Add shell, coreutils, diffutils, grep, tar, gzip.
59674
59675 2007-04-04  Simon Josefsson  <simon@josefsson.org>
59676
59677         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
59678
59679 2007-04-04  Karl Berry  <karl@gnu.org>
59680
59681         * MODULES.html.sh (func_module): missing '.
59682
59683 2007-04-03  Bruno Haible  <bruno@clisp.org>
59684
59685         * modules/argmatch-tests (Makefile.am): New variable
59686         test_argmatch_LDADD.
59687         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
59688         * modules/array-list-tests (Makefile.am): New variable
59689         test_array_list_LDADD.
59690         * modules/array-oset-tests (Makefile.am): New variable
59691         test_array_oset_LDADD.
59692         * modules/avltree-list-tests (Makefile.am): New variable
59693         test_avltree_list_LDADD.
59694         * modules/avltree-oset-tests (Makefile.am): New variable
59695         test_avltree_oset_LDADD.
59696         * modules/avltreehash-list-tests (Makefile.am): New variable
59697         test_avltreehash_list_LDADD.
59698         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
59699         test_canonicalize_lgpl_LDADD.
59700         * modules/carray-list-tests (Makefile.am): New variable
59701         test_carray_list_LDADD.
59702         * modules/dirname-tests (Makefile.am): New variable
59703         test_dirname_LDADD.
59704         * modules/linked-list-tests (Makefile.am): New variable
59705         test_linked_list_LDADD.
59706         * modules/linkedhash-list-tests (Makefile.am): New variable
59707         test_linkedhash_list_LDADD.
59708         * modules/rbtree-list-tests (Makefile.am): New variable
59709         test_rbtree_list_LDADD.
59710         * modules/rbtree-oset-tests (Makefile.am): New variable
59711         test_rbtree_oset_LDADD.
59712         * modules/rbtreehash-list-tests (Makefile.am): New variable
59713         test_rbtreehash_list_LDADD.
59714         * modules/xvasprintf-tests (Makefile.am): New variable
59715         test_xvasprintf_LDADD.
59716         Reported by Eric Blake.
59717
59718 2007-04-03  Eric Blake  <ebb9@byu.net>
59719
59720         * DEPENDENCIES: Weaken m4 requirements.
59721
59722 2007-04-03  Bruno Haible  <bruno@clisp.org>
59723
59724         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
59725         * modules/isnanl-tests (configure.ac): Likewise.
59726
59727 2007-04-03  Ben Pfaff  <blp@gnu.org>
59728
59729         * modules/iconv_open: Add $(srcdir)/ to source directory
59730         references in Makefile fragments that call gperf, to fix VPATH
59731         builds.
59732
59733 2007-04-03  Bruno Haible  <bruno@clisp.org>
59734
59735         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
59736         * lib/ldexpl.c: Undo last change.
59737
59738 2007-04-03  Bruno Haible  <bruno@clisp.org>
59739
59740         * modules/printf-frexpl (Depends-on): Undo last change.
59741         (Files): Add m4/ldexpl.m4.
59742
59743 2007-04-03  Bruno Haible  <bruno@clisp.org>
59744
59745         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
59746         * modules/isnanl (Link): New section.
59747
59748         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
59749         * modules/frexp (Link): New section.
59750
59751         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
59752         * modules/frexpl (Link): New section.
59753
59754         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
59755         * modules/ldexpl (Link): New section.
59756
59757 2007-04-03  Bruno Haible  <bruno@clisp.org>
59758
59759         * modules/TEMPLATE-EXTENDED: New file.
59760         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
59761
59762 2007-04-03  Bruno Haible  <bruno@clisp.org>
59763
59764         * DEPENDENCIES: New file.
59765         Suggested by Simon Josefsson.
59766
59767 2007-04-03  Bruno Haible  <bruno@clisp.org>
59768
59769         * doc/gnulib.texi: Escape @.
59770
59771 2007-04-03  James Youngman  <jay@gnu.org>
59772         and Paul Eggert  <eggert@cs.ucla.edu>
59773
59774         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
59775         birthtime on all systems that have birthtime, not just those which
59776         use st_birthtimensec rather than st_birthtim.  Putting zero in
59777         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
59778         that the birth time is not available for files on an NFS mount.
59779
59780 2007-04-03  Simon Josefsson  <simon@josefsson.org>
59781
59782         * modules/memxor: Move back from crypto/, suggested by Bruno.
59783         * modules/crypto/hmac-sha1: Fix memxor dependency.
59784
59785         * modules/crypto/gc: Moved from ../.
59786
59787 2007-04-02  Eric Blake  <ebb9@byu.net>
59788
59789         * lib/ldexpl.c (includes): Avoid libm.
59790
59791         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
59792
59793 2007-04-02  Bruno Haible  <bruno@clisp.org>
59794
59795         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
59796         on IRIX.
59797
59798 2007-04-02  Bruno Haible  <bruno@clisp.org>
59799
59800         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
59801         x86 or x86_64 platforms running MacOS X.
59802         Reported by Ryan Schmidt <@ryandesign.com>.
59803
59804 2007-04-02  Bruno Haible  <bruno@clisp.org>
59805
59806         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
59807         i386.
59808
59809 2007-04-01  Simon Josefsson  <simon@josefsson.org>
59810
59811         * modules/crypto/arcfour: Moved from ../.
59812         * modules/crypto/arcfour-tests: Moved from ../.
59813         * modules/crypto/arctwo: Moved from ../.
59814         * modules/crypto/arctwo-tests: Moved from ../.
59815         * modules/crypto/des: Moved from ../.
59816         * modules/crypto/des-tests: Moved from ../.
59817         * modules/crypto/gc-arcfour: Moved from ../.
59818         * modules/crypto/gc-arcfour-tests: Moved from ../.
59819         * modules/crypto/gc-arctwo: Moved from ../.
59820         * modules/crypto/gc-arctwo-tests: Moved from ../.
59821         * modules/crypto/gc-des: Moved from ../.
59822         * modules/crypto/gc-des-tests: Moved from ../.
59823         * modules/crypto/gc-hmac-md5: Moved from ../.
59824         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
59825         * modules/crypto/gc-hmac-sha1: Moved from ../.
59826         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
59827         * modules/crypto/gc-md2: Moved from ../.
59828         * modules/crypto/gc-md2-tests: Moved from ../.
59829         * modules/crypto/gc-md4: Moved from ../.
59830         * modules/crypto/gc-md4-tests: Moved from ../.
59831         * modules/crypto/gc-md5: Moved from ../.
59832         * modules/crypto/gc-md5-tests: Moved from ../.
59833         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
59834         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
59835         * modules/crypto/gc-random: Moved from ../.
59836         * modules/crypto/gc-rijndael: Moved from ../.
59837         * modules/crypto/gc-rijndael-tests: Moved from ../.
59838         * modules/crypto/gc-sha1: Moved from ../.
59839         * modules/crypto/gc-sha1-tests: Moved from ../.
59840         * modules/crypto/gc-tests: Moved from ../.
59841         * modules/crypto/hmac-md5: Moved from ../.
59842         * modules/crypto/hmac-md5-tests: Moved from ../.
59843         * modules/crypto/hmac-sha1: Moved from ../.
59844         * modules/crypto/hmac-sha1-tests: Moved from ../.
59845         * modules/crypto/md2: Moved from ../.
59846         * modules/crypto/md2-tests: Moved from ../.
59847         * modules/crypto/md4: Moved from ../.
59848         * modules/crypto/md4-tests: Moved from ../.
59849         * modules/crypto/md5: Moved from ../.
59850         * modules/crypto/md5-tests: Moved from ../.
59851         * modules/crypto/memxor: Moved from ../.
59852         * modules/crypto/rijndael: Moved from ../.
59853         * modules/crypto/rijndael-tests: Moved from ../.
59854         * modules/crypto/sha1: Moved from ../.
59855
59856 2007-03-30  James Youngman  <jay@gnu.org>
59857
59858         * tests/test-stat-time.c (prepare_test): use chmod() rather than
59859         rename() to change the ctime of a file (because ctime is unaffected
59860         by rename on jfs2 on AIX 5.1).
59861         (main): Start by doing cleanup, in case a previous run failed leaving
59862         test files behind.
59863
59864 2007-03-31  Bruno Haible  <bruno@clisp.org>
59865
59866         Support old proprietary implementations of iconv.
59867         * modules/iconv_open: New file.
59868         * lib/iconv_.h: New file.
59869         * m4/iconv_h.m4: New file.
59870         * lib/iconv_open.c: New file.
59871         * lib/iconv_open-aix.gperf: New file.
59872         * lib/iconv_open-hpux.gperf: New file.
59873         * lib/iconv_open-irix.gperf: New file.
59874         * lib/iconv_open-osf.gperf: New file.
59875         * m4/iconv_open.m4: New file.
59876         * modules/linebreak (Depends-on): Add iconv_open.
59877         * modules/striconv (Depends-on): Likewise.
59878         * modules/striconveh (Depends-on): Likewise.
59879         * modules/unicodeio (Depends-on): Likewise.
59880         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
59881         (iconv_t)(-1).
59882         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
59883         conversion if cd is (iconv_t)(-1).
59884         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
59885         is not possible.
59886
59887 2007-03-31  Bruno Haible  <bruno@clisp.org>
59888
59889         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
59890         work on Solaris either. Protect also second use of "autodetect_jp".
59891
59892 2007-03-31  Bruno Haible  <bruno@clisp.org>
59893
59894         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
59895         the function is not present.
59896
59897 2007-03-31  Bruno Haible  <bruno@clisp.org>
59898
59899         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
59900         the function is not present.
59901
59902 2007-03-31  Bruno Haible  <bruno@clisp.org>
59903
59904         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
59905         a bug in HP-UX iconv_open().
59906
59907 2007-03-31  Bruno Haible  <bruno@clisp.org>
59908
59909         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
59910         (Mathematics <math.h>): New section, add fpieee.
59911         (Input/output <stdio.h>): Add fseterr.
59912         (Mathematics <math.h>): New section, add printf-frexp.
59913         (Container data structures): Add sublist.
59914         (Core language properties): Add fpucw, inline.
59915         (Functions for greatest-width integer types <inttypes.h>): Add
59916         imaxabs, imaxdiv, inttypes.
59917         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
59918         isnanl-nolibm, ldexp.
59919         (Mathematics <math.h>): New section, add printf-frexpl.
59920         (Support for systems lacking POSIX:2001): Add fprintf-posix,
59921         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
59922         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
59923         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
59924         (Unicode string functions): Add unistr/u*-mbtoucr.
59925         (Java): Add javacomp-script, javaexec-script.
59926         (C#): Add csharpcomp-script, csharpexec-script.
59927         (Support for building libraries and executables): Add havelib,
59928         relocatable-*.
59929         (Support for maintaining and releasing projects): Renamed from
59930         'Support for maintaining and release projects'. Add announce-gen.
59931
59932 2007-03-31  Bruno Haible  <bruno@clisp.org>
59933
59934         * README: Talk primarily about git.
59935         (git and CVS): Renamed from CVS.
59936         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
59937         gnulib is available through git.
59938         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
59939
59940 2007-03-30  Bruno Haible  <bruno@clisp.org>
59941
59942         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
59943         * lib/poll_.h: Likewise.
59944         * lib/stat_.h: Likewise.
59945         * lib/sys_time_.h: Likewise.
59946         * lib/sysexit_.h: Likewise.
59947         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
59948         * lib/stdbool_.h: Likewise.
59949         * lib/byteswap_.h: Add double-inclusion guard.
59950
59951 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
59952
59953         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
59954
59955 2007-03-30  Karl Berry  <karl@gnu.org>
59956
59957         * config/srclist-update: double space after USA in the license
59958         substitution, since that's how it's usually (?) written.
59959
59960 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
59961
59962         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
59963         reported by Bruno Haible.
59964
59965 2007-03-29  Bruno Haible  <bruno@clisp.org>
59966
59967         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
59968         a bug in AIX iconv().
59969
59970 2007-03-29  Bruno Haible  <bruno@clisp.org>
59971
59972         * modules/ldexpl-tests: New file.
59973         * tests/test-ldexpl.c: New file.
59974
59975 2007-03-29  Bruno Haible  <bruno@clisp.org>
59976
59977         * lib/ldexpl.c: Include fpucw.h.
59978         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
59979         multiplication.
59980         * modules/ldexpl (Depends-on): Add fpucw.
59981
59982 2007-03-29  Bruno Haible  <bruno@clisp.org>
59983
59984         * modules/ldexpl: New file.
59985         * m4/ldexpl.m4: New file.
59986         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
59987         set.
59988         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
59989         REPLACE_LDEXPL.
59990         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
59991         REPLACE_LDEXPL.
59992         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
59993         gl_FUNC_LDEXPL_WORKS.
59994         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
59995         * modules/mathl (Files): Remove lib/ldexpl.c.
59996         (Depends-on): Add ldexpl.
59997
59998 2007-03-29  Bruno Haible  <bruno@clisp.org>
59999
60000         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60001
60002 2007-03-29  Bruno Haible  <bruno@clisp.org>
60003
60004         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60005         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60006         and possibly also HP-UX.
60007         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60008         work on AIX, IRIX, HP-UX, OSF/1.
60009         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60010         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60011         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60012         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60013         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60014         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60015
60016 2007-03-29  Bruno Haible  <bruno@clisp.org>
60017
60018         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60019
60020 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60021
60022         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60023         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60024
60025 2007-03-29  Eric Blake  <ebb9@byu.net>
60026
60027         * lib/acl-internal.h: Remove redundant include.
60028         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60029         Cygwin when a file is locked.
60030
60031 2007-03-29  Bruno Haible  <bruno@clisp.org>
60032
60033         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60034         file.
60035         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60036
60037 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60038
60039         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60040         try to remove a parent directory if the child couldn't be removed
60041         (except for the first rmdir, which could fail because the child
60042         doesn't exist).  Problem reported by Jeff Blaine in
60043         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60044
60045 2007-03-28  Bruno Haible  <bruno@clisp.org>
60046
60047         * lib/striconveh.c (utf8conv_carefully): New function.
60048         (mem_cd_iconveh_internal): Invoke it.
60049
60050 2007-03-28  Bruno Haible  <bruno@clisp.org>
60051
60052         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60053         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60054         input.
60055         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60056         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60057         unistr/u8-uctomb.
60058
60059 2007-03-28  Bruno Haible  <bruno@clisp.org>
60060
60061         * modules/unistr/u8-mbtoucr: New file.
60062         * lib/unistr/u8-mbtoucr.c: New file.
60063         * modules/unistr/u16-mbtoucr: New file.
60064         * lib/unistr/u16-mbtoucr.c: New file.
60065         * modules/unistr/u16-mbtoucr: New file.
60066         * lib/unistr/u16-mbtoucr.c: New file.
60067         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60068
60069 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60070             Bruno Haible  <bruno@clisp.org>
60071
60072         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60073         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60074         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60075
60076         * m4/stdio_h.m4: Add stubs for vasprintf too.
60077
60078         * modules/stdio: Support vasprintf in sed command.
60079
60080         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60081         vasprintf.h.  Add stdio module indicator.
60082
60083         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60084         vasprintf.h.
60085
60086         * lib/vasprintf.h: File removed.
60087
60088         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60089         * lib/vasprintf.c: Ditto.
60090         * lib/xvasprintf.c: Ditto.
60091         * tests/test-vasprintf-posix.c: Ditto.
60092         * tests/test-vasprintf.c: Ditto.
60093
60094 2007-03-27  Bruno Haible  <bruno@clisp.org>
60095
60096         Make vasnprintf multithread-safe.
60097         * lib/vasnprintf.c (decimal_point_char): New function.
60098         (VASNPRINTF): Use it.
60099         Suggested by Simon Josefsson.
60100
60101 2007-03-27  Eric Blake  <ebb9@byu.net>
60102
60103         Support sub-second birthtime on cygwin.
60104         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60105         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60106         (get_stat_birthtime): Also work with st_birthtim.
60107
60108 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60109
60110         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60111         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60112         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60113         (get_stat_birthtime_ns): Simplify compile-time tests.
60114         (get_stat_birthtime): Change the API to look like
60115         get_stat_mtime etc., except return a negative tv_nsec on error.
60116         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60117         Don't check for "spare" fields.
60118         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60119         or for struct stat.st_birthtime, as these tests aren't used.
60120         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60121
60122 2007-03-27  Bruno Haible  <bruno@clisp.org>
60123
60124         * lib/stat-time.h: Include <sys/stat.h>.
60125
60126 2007-03-27  James Youngman  <jay@gnu.org>
60127
60128         * lib/stat-time.h (get_stat_birthtime): New function for
60129           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60130         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60131           and its variants.
60132         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60133         * modules/stat-time-test: New file.
60134         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60135
60136 2007-03-26  Bruno Haible  <bruno@clisp.org>
60137
60138         Better support of signalling NaNs.
60139         * lib/atanl.c: Include isnanl.h.
60140         (atanl): Perform test for NaN at the beginning of the function and
60141         through a call to isnanl.
60142         * lib/cosl.c: Include isnanl.h.
60143         (cosl): Perform test for NaN at the beginning of the function and
60144         through a call to isnanl.
60145         * lib/ldexpl.c: Include isnanl.h.
60146         (ldexpl): Perform test for NaN through a call to isnanl.
60147         * lib/logl.c: Include isnanl.h.
60148         (logl): Perform test for NaN at the beginning of the function and
60149         through a call to isnanl.
60150         * lib/sinl.c: Include isnanl.h.
60151         (sinl): Perform test for NaN at the beginning of the function and
60152         through a call to isnanl.
60153         * lib/sqrtl.c: Include isnanl.h.
60154         (sqrtl): Perform test for NaN at the beginning of the function and
60155         through a call to isnanl.
60156         * lib/tanl.c: Include isnanl.h.
60157         (tanl): Perform test for NaN at the beginning of the function and
60158         through a call to isnanl.
60159         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60160         * modules/mathl (Depends-on): Add isnanl.
60161
60162 2007-03-26  Eric Blake  <ebb9@byu.net>
60163
60164         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60165         regression in logic sense of previous patch.
60166
60167 2007-03-26  Bruno Haible  <bruno@clisp.org>
60168
60169         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60170         unportable shell command "if ! ...".
60171         Reported by Ralf Wildenhues.
60172
60173 2007-03-25  Bruno Haible  <bruno@clisp.org>
60174
60175         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60176         <sysexits.h> file, and only add EX_CONFIG.
60177         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60178         absolute file name and whether it is sufficient. Substitute also
60179         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60180         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60181         ABSOLUTE_SYSEXITS_H into sysexits.h.
60182
60183 2007-03-25  Bruno Haible  <bruno@clisp.org>
60184
60185         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60186         hints is NULL.
60187
60188 2007-03-25  Bruno Haible  <bruno@clisp.org>
60189
60190         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60191         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60192
60193 2007-03-25  Bruno Haible  <bruno@clisp.org>
60194
60195         * lib/vasnprintf.c: Include langinfo.h.
60196         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60197         multithread-safe.
60198         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60199         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60200         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60201         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60202         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60203         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60204         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60205         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60206         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60207         Reported by Simon Josefsson.
60208
60209 2007-03-25  Bruno Haible  <bruno@clisp.org>
60210
60211         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60212         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60213         * modules/vasnprintf (Depends-on): Add stdint.
60214
60215 2007-03-25  Bruno Haible  <bruno@clisp.org>
60216
60217         * modules/fpieee: New file.
60218         * m4/fpieee.m4: New file.
60219         * modules/isnan-nolibm (Depends-on): Add fpieee.
60220         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60221         * modules/isnanl (Depends-on): Add fpieee.
60222
60223 2007-03-25  Bruno Haible  <bruno@clisp.org>
60224
60225         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60226
60227 2007-03-25  Bruno Haible  <bruno@clisp.org>
60228
60229         Avoid test failures on IRIX 6.5.
60230         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60231         (main): Use it.
60232         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60233         macros.
60234         (main): Use them.
60235
60236 2007-03-25  Bruno Haible  <bruno@clisp.org>
60237
60238         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60239         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60240         exists but doesn't work.
60241         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60242         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60244         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60245         math.h.
60246
60247 2007-03-25  Bruno Haible  <bruno@clisp.org>
60248
60249         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60250         returns inf. Needed on IRIX 6.5.
60251
60252 2007-03-25  Bruno Haible  <bruno@clisp.org>
60253
60254         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60255         (main): Use isnanl instead of x != x idiom.
60256         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60257
60258         * tests/test-frexp.c: Include isnan.h.
60259         (main): Use isnan instead of x != x idiom.
60260         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60261
60262 2007-03-25  Bruno Haible  <bruno@clisp.org>
60263
60264         * tests/test-frexp.c (NaN): New function/macro.
60265         (main): Use it instead of 0.0 / 0.0.
60266         * tests/test-isnan.c (NaN): New function/macro.
60267         (main): Use it instead of 0.0 / 0.0.
60268         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60269         (test_function): Use it instead of 0.0 / 0.0.
60270         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60271         (test_function): Use it instead of 0.0 / 0.0.
60272         * tests/test-snprintf-posix.h (NaN): New function/macro.
60273         (test_function): Use it instead of 0.0 / 0.0.
60274         * tests/test-sprintf-posix.h (NaN): New function/macro.
60275         (test_function): Use it instead of 0.0 / 0.0.
60276         * tests/test-fprintf-posix.h (NaN): New function/macro.
60277         (test_function): Use it instead of 0.0 / 0.0.
60278         * tests/test-printf-posix.h (NaN): New function/macro.
60279         (test_function): Use it instead of 0.0 / 0.0.
60280
60281         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60282
60283 2007-03-25  Bruno Haible  <bruno@clisp.org>
60284
60285         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60286
60287 2007-03-25  Bruno Haible  <bruno@clisp.org>
60288
60289         * lib/regexec.c (merge_state_with_log): Make static.
60290
60291 2007-03-25  Bruno Haible  <bruno@clisp.org>
60292
60293         * lib/trigl.c (kernel_rem_pio2): Make static.
60294
60295 2007-03-25  Bruno Haible  <bruno@clisp.org>
60296
60297         * lib/sincosl.c (sincosl_table): Make static.
60298
60299 2007-03-25  Bruno Haible  <bruno@clisp.org>
60300
60301         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60302         if the compiler does not support C99.
60303
60304 2007-03-25  Bruno Haible  <bruno@clisp.org>
60305
60306         * modules/time (Makefile.am): Ensure all rule action lines start with a
60307         tab.
60308
60309 2007-03-24  Bruno Haible  <bruno@clisp.org>
60310
60311         * modules/tsearch-tests: New file.
60312         * tests/test-tsearch.sh: New file.
60313         * tests/test-tsearch.c: New file, mostly copied from glibc.
60314
60315         * modules/search-tests: New file.
60316         * tests/test-search.c: New file.
60317
60318         * modules/search: New file.
60319         * lib/search_.h: New file, incorporating lib/tsearch.h.
60320         * m4/search_h.m4: New file.
60321         * lib/tsearch.h: Remove file.
60322         * lib/tsearch.c: Include search.h instead of tsearch.h.
60323         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60324         HAVE_TSEARCH.
60325         * modules/tsearch (Files): Remove lib/tsearch.h.
60326         (Depends-on): Add search.
60327         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60328         (Include): Change tsearch.h into search.h.
60329
60330 2007-03-24  Bruno Haible  <bruno@clisp.org>
60331
60332         * modules/fpucw: New file.
60333         * lib/fpucw.h: New file.
60334         * lib/frexp.c: Include fpucw.h.
60335         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60336         (FUNC): Use them.
60337         * lib/printf-frexp.c: Include fpucw.h.
60338         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60339         (FUNC): Use them.
60340         * lib/vasnprintf.c: Include fpucw.h.
60341         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60342         'long double' calculations.
60343         * tests/test-frexpl.c: Include fpucw.h.
60344         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60345         * tests/test-printf-frexpl.c: Include fpucw.h.
60346         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60347         * modules/frexpl (Depends-on): Add fpucw.
60348         * modules/printf-frexpl (Depends-on): Likewise.
60349         * modules/fprintf-posix (Depends-on): Likewise.
60350         * modules/snprintf-posix (Depends-on): Likewise.
60351         * modules/sprintf-posix (Depends-on): Likewise.
60352         * modules/vasnprintf-posix (Depends-on): Likewise.
60353         * modules/vasprintf-posix (Depends-on): Likewise.
60354         * modules/vfprintf-posix (Depends-on): Likewise.
60355         * modules/vsnprintf-posix (Depends-on): Likewise.
60356         * modules/vsprintf-posix (Depends-on): Likewise.
60357         * modules/frexpl-tests (Depends-on): Likewise.
60358         * modules/printf-frexpl-tests (Depends-on): Likewise.
60359
60360 2007-03-24  Bruno Haible  <bruno@clisp.org>
60361
60362         * lib/float+.h: New file.
60363         * lib/isnan.c: Include float+.h.
60364         (SIZE): New macro.
60365         (FUNC): Compare only SIZE bytes of the value.
60366         * lib/vasnprintf.c: Include float+.h.
60367         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60368         SIZEOF_LDBL or SIZEOF_DBL bytes.
60369         * modules/isnan-nolibm (Files): Add lib/float+.h.
60370         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60371         * modules/isnanl (Files): Add lib/float+.h.
60372         * modules/vasnprintf (Files): Add lib/float+.h.
60373
60374 2007-03-24  Bruno Haible  <bruno@clisp.org>
60375
60376         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60377         include isnanl-nolibm.h.
60378
60379 2007-03-24  Bruno Haible  <bruno@clisp.org>
60380
60381         * tests/test-read-file.c (main): Don't produce spurious output for
60382         expected situations. Make the test fail if it encountered unexpected
60383         results.
60384
60385 2007-03-24  Bruno Haible  <bruno@clisp.org>
60386
60387         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60388         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60389
60390 2007-03-24  Bruno Haible  <bruno@clisp.org>
60391
60392         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60393
60394 2007-03-24  Bruno Haible  <bruno@clisp.org>
60395
60396         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60397         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60398
60399         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60400         * modules/utf8-ucs4: Turn into a symbolic link to module
60401         unistr/u8-mbtouc.
60402
60403         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60404         utf8-ucs4-unsafe.
60405         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60406         unistr/u8-mbtouc-unsafe.
60407
60408         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60409         * modules/utf16-ucs4: Turn into a symbolic link to module
60410         unistr/u16-mbtouc.
60411
60412         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60413         utf16-ucs4-unsafe.
60414         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60415         unistr/u16-mbtouc-unsafe.
60416
60417         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60418         * modules/ucs4-utf8: Turn into a symbolic link to module
60419         unistr/u8-ubtomb.
60420
60421         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60422         * modules/ucs4-utf16: Turn into a symbolic link to module
60423         unistr/u16-ubtomb.
60424
60425 2007-03-24  Bruno Haible  <bruno@clisp.org>
60426
60427         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60428         Enable the function only if HAVE_INLINE.
60429         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60430         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60431         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60432         Enable the function only if HAVE_INLINE.
60433         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60434         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60435         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60436         Enable the function only if HAVE_INLINE.
60437         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60438         Enable the function only if HAVE_INLINE.
60439         * modules/utf8-ucs4: Update.
60440         * modules/utf8-ucs4-unsafe: Update.
60441         * modules/utf16-ucs4: Update.
60442         * modules/utf16-ucs4-unsafe: Update.
60443         * modules/ucs4-utf8: Update.
60444         * modules/ucs4-utf16: Update.
60445
60446 2007-03-24  Bruno Haible  <bruno@clisp.org>
60447
60448         * lib/utf8-ucs4.h: Remove file.
60449         * lib/utf8-ucs4-unsafe.h: Remove file.
60450         * lib/utf16-ucs4.h: Remove file.
60451         * lib/utf16-ucs4-unsafe.h: Remove file.
60452         * lib/ucs4-utf8.h: Remove file.
60453         * lib/ucs4-utf16.h: Remove file.
60454         * lib/unistr.h: Include their previous contents.
60455         * m4/utf-ucs4.m4: Remove file.
60456         * m4/ucs4-utf.m4: Remove file.
60457         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60458         (Depends-on): Add unistr/base.
60459         (configure.ac): Remove gl_UTF_UCS4.
60460         (Makefile.am): Update.
60461         (Include): Change to unistr.h.
60462         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
60463         (Depends-on): Add unistr/base.
60464         (configure.ac): Remove gl_UTF_UCS4.
60465         (Makefile.am): Update.
60466         (Include): Change to unistr.h.
60467         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
60468         (Depends-on): Add unistr/base.
60469         (configure.ac): Remove gl_UTF_UCS4.
60470         (Makefile.am): Update.
60471         (Include): Change to unistr.h.
60472         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
60473         (Depends-on): Add unistr/base.
60474         (configure.ac): Remove gl_UTF_UCS4.
60475         (Makefile.am): Update.
60476         (Include): Change to unistr.h.
60477         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
60478         (Depends-on): Add unistr/base.
60479         (configure.ac): Remove gl_UCS4_UTF.
60480         (Makefile.am): Update.
60481         (Include): Change to unistr.h.
60482         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
60483         (Depends-on): Add unistr/base.
60484         (configure.ac): Remove gl_UCS4_UTF.
60485         (Makefile.am): Update.
60486         (Include): Change to unistr.h.
60487         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
60488         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
60489         utf8-ucs4-unsafe.h.
60490         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
60491         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
60492         utf16-ucs4-unsafe.h.
60493         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
60494         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
60495         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
60496         * lib/unistr/u8-strchr.c: Likewise.
60497         * lib/unistr/u8-strrchr.c: Likewise.
60498         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
60499         * lib/unistr/u16-strchr.c: Likewise.
60500         * lib/unistr/u16-strrchr.c: Likewise.
60501         * lib/striconveh.c: Update.
60502         * lib/linebreak.c: Update.
60503
60504 2007-03-24  Bruno Haible  <bruno@clisp.org>
60505
60506         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
60507         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
60508
60509 2007-03-22  Bruno Haible  <bruno@clisp.org>
60510
60511         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
60512
60513 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60514
60515         * MODULES.html.sh (File system functions): New module write-any-file.
60516         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
60517         * m4/write-any-file.m4: New files.
60518
60519 2007-03-23  Eric Blake  <ebb9@byu.net>
60520
60521         * gnulib-tool: Rearrange space-tab sequences, since some editors
60522         like to eat them.
60523
60524 2007-03-23  Eric Blake  <ebb9@byu.net>
60525
60526         * lib/version-etc.c (version_etc_va): Update license wording to
60527         be more concise.  Recommended by Richard Stallman.
60528
60529 2007-03-22  Bruno Haible  <bruno@clisp.org>
60530
60531         * lib/poll.c (MSG_PEEK): New fallback definition.
60532
60533 2007-03-22  Bruno Haible  <bruno@clisp.org>
60534
60535         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
60536         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
60537         (main): Update.
60538         Fixes a compilation error on BeOS.
60539
60540 2007-03-22  Bruno Haible  <bruno@clisp.org>
60541
60542         * modules/frexpl-tests: New file.
60543         * tests/test-frexpl.c: New file.
60544
60545         * modules/frexpl: New file.
60546         * m4/frexpl.m4: New file.
60547         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
60548         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
60549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
60550         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
60551         (Depends-on): Add frexpl. Remove isnanl-nolibm.
60552         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
60553
60554 2007-03-22  Bruno Haible  <bruno@clisp.org>
60555
60556         * lib/frexpl.c: Share code with lib/frexp.c.
60557         * modules/mathl (Files): Add lib/frexp.c.
60558         (Depends-on): Add isnanl-nolibm.
60559
60560 2007-03-22  Bruno Haible  <bruno@clisp.org>
60561
60562         * modules/printf-frexp (Files): Add m4/frexp.m4.
60563         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
60564         only if the found frexp function actually works.
60565
60566 2007-03-22  Bruno Haible  <bruno@clisp.org>
60567
60568         * lib/frexp.c: Remove older implementation that uses divisions.
60569
60570 2007-03-21  Bruno Haible  <bruno@clisp.org>
60571
60572         * modules/frexp-tests: New file.
60573         * tests/test-frexp.c: New file.
60574
60575         * modules/frexp: New file.
60576         * lib/frexp.c: New file.
60577         * m4/frexp.m4: New file.
60578         * lib/math_.h (frexp): New declaration.
60579         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
60580         REPLACE_FREXP.
60581         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
60582
60583 2007-03-21  Bruno Haible  <bruno@clisp.org>
60584
60585         * modules/isnanl-tests: New file.
60586         * tests/test-isnanl.c: New file.
60587
60588         * modules/isnanl: New file.
60589         * lib/isnanl.h: New file.
60590         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
60591         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
60592         gl_FUNC_ISNANL_WORKS.
60593         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
60594         New macros.
60595
60596 2007-03-21  Bruno Haible  <bruno@clisp.org>
60597
60598         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
60599         lib/isnanl.h.
60600         (Include): Update.
60601         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
60602         * lib/vasnprintf.c: Update.
60603         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
60604         tests/test-isnanl.h, remove tests/test-isnanl.c.
60605         (Makefile.am): Update.
60606         * tests/test-isnanl-nolibm.c: New file.
60607         * tests/test-isnanl.h: New file.
60608         * tests/test-isnanl.c: Remove file.
60609
60610 2007-03-21  Jim Meyering  <jim@meyering.net>
60611
60612         When trying to open ".", treat ESTALE like EACCES.
60613         * lib/savewd.c (savewd_save): Resort to forking not just upon
60614         failure with EACCES, but also when errno is ESTALE.
60615
60616 2007-03-20  Bruno Haible  <bruno@clisp.org>
60617
60618         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
60619         Needed on AIX 5.1. Reported by Matthew Woehlke.
60620
60621 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60622
60623         Suggestions by Bruno Haible:
60624         * lib/acl-internal.h: Include "gettext.h" rather than rolling
60625         our own.
60626         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
60627         * modules/acl (Depends-on): Add gettext.
60628
60629 2007-03-19  Bruno Haible  <bruno@clisp.org>
60630
60631         * modules/iconvme: Remove file.
60632         * lib/iconvme.h: Remove file.
60633         * lib/iconvme.c: Remove file.
60634         * m4/iconvme.m4: Remove file.
60635
60636 2007-03-19  Bruno Haible  <bruno@clisp.org>
60637
60638         * doc/relocatable-maint.texi: Break long shell script line.
60639         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60640
60641 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60642
60643         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
60644         handle file_has_acl.
60645         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
60646         * lib/acl.c: Move header inclusions and related macro defns into
60647         lib/acl-internal.h.
60648         (S_ISLNK): Remove defn, since that's now done for us.
60649         (file_has_acl): Move to lib/file-has-acl.c.
60650         Call acl_trivial if available.  This is the crucial part of the fix.
60651         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
60652         shared within the library.  Rewrite a bit, partly to make it compatible
60653         with the GNU coding style.
60654         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
60655         Remove unnecessary double-quotes.
60656         Don't test for acl_to_text; the build will catch that.
60657         Replace acl_entries if it doesn't exist and it is needed.
60658         Check for -lsec and acl_trivial (as used on Solaris 10).
60659         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
60660         lib/file-has-acl.c.
60661         (Depends-on): Add sys_stat, for S_ISLNK.
60662
60663 2007-03-19  Ben Pfaff  <blp@gnu.org>
60664
60665         * doc/gnulib.texi: Fix typos.
60666         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60667
60668 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60669
60670         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
60671         If size is zero here, buf must be zero.
60672
60673 2007-03-19  Simon Josefsson  <simon@josefsson.org>
60674
60675         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
60676         <bruno@clisp.org>.
60677
60678 2007-03-18  Bruno Haible  <bruno@clisp.org>
60679
60680         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
60681         Suggested by Eric Blake.
60682
60683 2007-03-18  Ben Pfaff  <blp@gnu.org>
60684
60685         * doc/relocatable.texi: Recommend using as prefix a directory
60686         that does not exist and will never be created.  Based on
60687         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
60688         and others.
60689
60690 2007-03-17  Bruno Haible  <bruno@clisp.org>
60691
60692         * lib/fchownat.c: Include lchown.h.
60693
60694 2007-03-17  Bruno Haible  <bruno@clisp.org>
60695
60696         Fix endless loop when the given allocated size was > INT_MAX.
60697         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
60698         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
60699         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
60700         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
60701         * lib/sprintf.c (sprintf): Likewise.
60702
60703 2007-03-17  Bruno Haible  <bruno@clisp.org>
60704
60705         * tests/test-argp-2.sh (func_compare): Output a context diff.
60706
60707 2007-03-17  Bruno Haible  <bruno@clisp.org>
60708
60709         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
60710         locale's decimal-point character.
60711
60712 2007-03-17  Bruno Haible  <bruno@clisp.org>
60713
60714         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
60715         before comparing it. Needed because on some platforms (e.g. x86) a
60716         'long double' occupies less bytes than sizeof (long double).
60717
60718 2007-03-17  Bruno Haible  <bruno@clisp.org>
60719
60720         * tests/test-crc.c (main): Make printf statements 64-bit clean.
60721         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
60722         * tests/test-getaddrinfo.c (simple): Likewise.
60723         * tests/test-read-file.c (main): Likewise.
60724
60725 2007-03-17  Bruno Haible  <bruno@clisp.org>
60726
60727         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
60728
60729 2007-03-17  Bruno Haible  <bruno@clisp.org>
60730
60731         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
60732         unused variable.
60733
60734 2007-03-17  Bruno Haible  <bruno@clisp.org>
60735
60736         * tests/test-c-strcasecmp.c: Include c-strcase.h.
60737         * tests/test-c-strncasecmp.c: Likewise.
60738
60739 2007-03-17  Bruno Haible  <bruno@clisp.org>
60740
60741         * modules/stdlib (Depends-on): Add unistd.
60742         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
60743         Needed for MacOS X 10.3.
60744
60745 2007-03-17  Bruno Haible  <bruno@clisp.org>
60746
60747         * lib/unistr/u-strdup.h: Include <stdlib.h>.
60748
60749 2007-03-17  Bruno Haible  <bruno@clisp.org>
60750
60751         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
60752
60753 2007-03-17  Bruno Haible  <bruno@clisp.org>
60754
60755         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
60756         to reflect files copied from gnulib (with or without modifications).
60757         Suggested by Jim Meyering.
60758
60759 2007-03-17  Eric Blake  <ebb9@byu.net>
60760
60761         * NEWS: Document stdlib change from 2007-02-18.
60762
60763 2007-03-17  Jim Meyering  <jim@meyering.net>
60764
60765         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
60766         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
60767         someone uses a name containing shell meta-characters.
60768         Reported by Alfred M. Szmidt.
60769
60770         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
60771
60772 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
60773
60774         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
60775         and copy gettext configuration files only if configure.ac contains
60776         a use of AM_GNU_GETTEXT_VERSION.
60777
60778 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
60779
60780         * build-aux/bootstrap (gnulib_name): New variable.
60781         (gnulib_tool_options): Use it.
60782
60783 2007-03-13  Simon Josefsson  <simon@josefsson.org>
60784
60785         * tests/test-des.c: Use new namespace.
60786
60787 2007-03-15  Bruno Haible  <bruno@clisp.org>
60788
60789         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
60790         Reported by James Youngman <jay@gnu.org>.
60791
60792 2007-03-15  Bruno Haible  <bruno@clisp.org>
60793
60794         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
60795         declared prototype. Needed with cc on OSF/1 5.1.
60796
60797 2007-03-15  Bruno Haible  <bruno@clisp.org>
60798
60799         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
60800         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
60801         (struct gl_list_implementation): Add dispose_fn argument to the
60802         'create_empty', 'create' methods.
60803         (struct gl_list_impl_base): Add field 'dispose_fn'.
60804         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
60805         argument.
60806         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
60807         dispose_fn argument.
60808         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
60809         dispose_fn on the dropped values.
60810         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
60811         dispose_fn argument.
60812         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
60813         dropped values.
60814         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
60815         (gl_tree_remove_node): Call dispose_fn on the dropped value.
60816         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
60817         (gl_tree_remove_node): Call dispose_fn on the dropped value.
60818         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
60819         argument.
60820         (gl_tree_list_free): Call dispose_fn on the dropped values.
60821         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
60822         the dropped values.
60823         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
60824         Add dispose_fn argument.
60825         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
60826         Call dispose_fn on the dropped values.
60827         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
60828         Add dispose_fn argument.
60829         (gl_sublist_create): Initialize the 'dispose_fn' field.
60830         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
60831         * tests/test-array_list.c (main): Update.
60832         * tests/test-carray_list.c (main): Update.
60833         * tests/test-avltree_list.c (main): Update.
60834         * tests/test-rbtree_list.c (main): Update.
60835         * tests/test-avltreehash_list.c (main): Update.
60836         * tests/test-rbtreehash_list.c (main): Update.
60837         * tests/test-linked_list.c (main): Update.
60838         * tests/test-linkedhash_list.c (main): Update.
60839         * tests/test-array_oset.c (main): Update.
60840
60841 2007-03-15  Bruno Haible  <bruno@clisp.org>
60842
60843         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
60844         (gl_oset_create_empty): Add dispose_fn argument.
60845         (struct gl_oset_implementation): Add dispose_fn argument to
60846         'create_empty' method.
60847         (struct gl_oset_impl_base): Add dispose_fn field.
60848         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
60849         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
60850         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
60851         values.
60852         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
60853         (gl_tree_oset_free): Call dispose_fn on the dropped values.
60854         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
60855         dropped value.
60856         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
60857         dropped value.
60858         * tests/test-array_oset.c (main): Update.
60859         * tests/test-avltree_oset.c (main): Update.
60860         * tests/test-rbtree_oset.c (main): Update.
60861         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
60862
60863 2007-03-13  Bruno Haible  <bruno@clisp.org>
60864
60865         * tests/test-stdbool.c (i): Update after last patch.
60866
60867 2007-03-12  Bruno Haible  <bruno@clisp.org>
60868
60869         * lib/quotearg.c: Include <wctype.h> early, before the definition of
60870         the iswprint macro. Needed on Solaris 2.5.1.
60871
60872 2007-03-12  Bruno Haible  <bruno@clisp.org>
60873
60874         * tests/test-printf-frexp.c (main): Declare x as volatile.
60875
60876 2007-03-12  Simon Josefsson  <simon@josefsson.org>
60877
60878         * doc/gnulib.texi (Build robot for gnulib): New section.
60879
60880 2007-03-12  Jim Meyering  <jim@meyering.net>
60881
60882         * build-aux/bootstrap: New file.
60883         * build-aux/bootstrap.conf: New file, from coreutils.
60884
60885 2007-03-11  Bruno Haible  <bruno@clisp.org>
60886
60887         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
60888
60889 2007-03-12  Simon Josefsson  <simon@josefsson.org>
60890
60891         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
60892         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
60893         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
60894
60895 2007-03-11  Bruno Haible  <bruno@clisp.org>
60896
60897         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
60898         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
60899
60900 2007-03-11  Bruno Haible  <bruno@clisp.org>
60901
60902         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
60903         formula. Needed for SunPRO C 5.0.
60904
60905 2007-03-11  Bruno Haible  <bruno@clisp.org>
60906
60907         * modules/long-options (Depends-on): Add getopt.
60908
60909 2007-03-11  Bruno Haible  <bruno@clisp.org>
60910
60911         * modules/modechange (Depends-on): Add stdbool.
60912
60913 2007-03-11  Bruno Haible  <bruno@clisp.org>
60914
60915         * modules/i-ring (Depends-on): Add stdbool.
60916
60917 2007-03-11  Bruno Haible  <bruno@clisp.org>
60918
60919         * modules/gc-des (Depends-on): Add stdbool.
60920
60921 2007-03-11  Bruno Haible  <bruno@clisp.org>
60922
60923         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
60924
60925 2007-03-11  Bruno Haible  <bruno@clisp.org>
60926
60927         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
60928
60929 2007-03-11  Bruno Haible  <bruno@clisp.org>
60930
60931         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
60932
60933 2007-03-11  Bruno Haible  <bruno@clisp.org>
60934
60935         * lib/vasnprintf.c (sprintf): Undefine.
60936
60937 2007-03-11  Bruno Haible  <bruno@clisp.org>
60938
60939         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
60940         initializers in SunPRO C and Compaq C compilers.
60941
60942 2007-03-11  Bruno Haible  <bruno@clisp.org>
60943
60944         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
60945         decrementing code ANSI C compliant.
60946
60947 2007-03-11  Bruno Haible  <bruno@clisp.org>
60948
60949         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
60950         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
60951
60952 2007-03-11  Bruno Haible  <bruno@clisp.org>
60953
60954         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
60955         <stdbool.h> substitute doesn't pass.
60956
60957 2007-03-11  Bruno Haible  <bruno@clisp.org>
60958
60959         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
60960
60961 2007-03-11  Bruno Haible  <bruno@clisp.org>
60962
60963         * gnulib-tool (func_create_megatestdir): Create also an autobuild
60964         script, for submission to autobuild.josefsson.org.
60965
60966 2007-03-10  Bruno Haible  <bruno@clisp.org>
60967
60968         * modules/canonicalize-lgpl-tests: New file.
60969         * tests/test-canonicalize-lgpl.sh: New file.
60970         * tests/test-canonicalize-lgpl.c: New file.
60971
60972         * modules/c-strcase-tests: New file.
60973         * tests/test-c-strcase.sh: New file.
60974         * tests/test-c-strcasecmp.c: New file.
60975         * tests/test-c-strncasecmp.c: New file.
60976
60977         * modules/atexit-tests: New file.
60978         * tests/test-atexit.sh: New file.
60979         * tests/test-atexit.c: New file.
60980
60981 2007-03-10  Bruno Haible  <bruno@clisp.org>
60982
60983         * tests/test-binary-io.sh: Use temporary filenames that are not so
60984         likely to clash with those of other tests (in a parallel make).
60985         * tests/test-binary-io.c: Likewise.
60986
60987 2007-03-10  Bruno Haible  <bruno@clisp.org>
60988
60989         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
60990         fallback; use #error instead.
60991         Suggested by Simon Josefsson.
60992
60993 2007-03-10  Bruno Haible  <bruno@clisp.org>
60994
60995         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
60996         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
60997         first and the last.
60998
60999 2007-03-10  Bruno Haible  <bruno@clisp.org>
61000
61001         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61002
61003 2007-03-10  Bruno Haible  <bruno@clisp.org>
61004
61005         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61006         "make distcheck".
61007         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61008         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61009         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61010
61011 2007-03-10  Bruno Haible  <bruno@clisp.org>
61012
61013         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61014         variable.
61015         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61016         variable.
61017
61018 2007-03-09  Eric Blake  <ebb9@byu.net>
61019         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61020
61021         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61022         types are not being provided by gnulib.
61023         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61024         types are supported.
61025
61026 2007-03-10  Bruno Haible  <bruno@clisp.org>
61027
61028         * lib/stdio_.h (__attribute__): New macro.
61029         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61030         vsprintf): Specify __attribute__ __format__ for GCC.
61031         Suggested by Eric Blake.
61032
61033 2007-03-09  Bruno Haible  <bruno@clisp.org>
61034
61035         * modules/printf-posix-tests: New file.
61036         * tests/test-printf-posix.sh: New file.
61037         * tests/test-printf-posix.c: New file.
61038
61039         * modules/printf-posix: New file.
61040         * lib/printf.c: New file.
61041         * m4/printf-posix-rpl.m4: New file.
61042         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61043         REPLACE_PRINTF.
61044         * lib/stdio_.h (printf): New declaration.
61045         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61046         ____strfmon____): New macros.
61047         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61048         REPLACE_PRINTF.
61049
61050 2007-03-09  Bruno Haible  <bruno@clisp.org>
61051
61052         * tests/test-vasnprintf-posix2.sh: New file.
61053         * tests/test-vasnprintf-posix2.c: New file.
61054         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61055         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61056         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61057
61058         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61059         a locale dependent decimal point, rather than always '.'.
61060
61061 2007-03-09  Eric Blake  <ebb9@byu.net>
61062
61063         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61064         spite of platforms like Tandem/NSK that define it to -1.
61065
61066 2007-03-08  Bruno Haible  <bruno@clisp.org>
61067
61068         * modules/vprintf-posix-tests: New file.
61069         * tests/test-vprintf-posix.sh: New file.
61070         * tests/test-vprintf-posix.c: New file.
61071         * tests/test-printf-posix.h: New file.
61072
61073         * modules/vprintf-posix: New file.
61074         * lib/vprintf.c: New file.
61075         * m4/vprintf-posix.m4: New file.
61076         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61077         REPLACE_VPRINTF.
61078         * lib/stdio_.h (vprintf): New declaration.
61079         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61080         REPLACE_VPRINTF.
61081
61082 2007-03-08  Bruno Haible  <bruno@clisp.org>
61083
61084         * modules/fprintf-posix-tests: New file.
61085         * tests/test-fprintf-posix.sh: New file.
61086         * tests/test-fprintf-posix.c: New file.
61087
61088         * modules/fprintf-posix: New file.
61089         * lib/fprintf.c: New file.
61090         * m4/fprintf-posix.m4: New file.
61091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61092         REPLACE_FPRINTF.
61093         * lib/stdio_.h (fprintf): New declaration.
61094         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61095         REPLACE_FPRINTF.
61096
61097 2007-03-08  Bruno Haible  <bruno@clisp.org>
61098
61099         * modules/vfprintf-posix-tests: New file.
61100         * tests/test-vfprintf-posix.sh: New file.
61101         * tests/test-vfprintf-posix.c: New file.
61102         * tests/test-fprintf-posix.h: New file.
61103         * tests/test-fprintf-posix.out: New file.
61104
61105         * modules/vfprintf-posix: New file.
61106         * lib/vfprintf.c: New file.
61107         * m4/vfprintf-posix.m4: New file.
61108         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61109         REPLACE_VFPRINTF.
61110         * lib/stdio_.h (vfprintf): New declaration.
61111         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61112         REPLACE_VFPRINTF.
61113
61114 2007-03-08  Bruno Haible  <bruno@clisp.org>
61115
61116         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61117
61118 2007-03-08  Bruno Haible  <bruno@clisp.org>
61119
61120         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61121         instead of 'expr' invocations.
61122         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61123         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61124         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61125         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61126         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61127         Suggested by Paul Eggert.
61128
61129 2007-03-08  Bruno Haible  <bruno@clisp.org>
61130
61131         * modules/fseterr-tests: New file.
61132         * tests/test-fseterr.c: New file.
61133
61134         * modules/fseterr: New file.
61135         * lib/fseterr.h: New file.
61136         * lib/fseterr.c: New file.
61137
61138 2007-03-08  Bruno Haible  <bruno@clisp.org>
61139
61140         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61141         * lib/getopt_.h: Likewise.
61142         * lib/mbswidth.h: Likewise.
61143         * lib/setenv.h: Likewise.
61144         * lib/vasnprintf.h: Likewise.
61145         * lib/vasprintf.h: Likewise.
61146         * lib/verror.h: Likewise.
61147         * lib/xsetenv.h: Likewise.
61148         * lib/xvasprintf.h: Likewise.
61149
61150 2007-03-08  Jim Meyering  <jim@meyering.net>
61151
61152         * users.txt: Add parted.
61153
61154         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61155
61156 2007-03-07  Bruno Haible  <bruno@clisp.org>
61157
61158         * m4/printf.m4: Make the shell script snippets copy&pastable.
61159
61160 2007-03-02  Bruno Haible  <bruno@clisp.org>
61161
61162         * lib/netinet_in_.h: New file.
61163         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61164         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61165         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61166         (Depends-on): Add absolute-header.
61167         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61168         into netinet/in.h.
61169
61170 2007-03-03  Bruno Haible  <bruno@clisp.org>
61171
61172         * lib/sys_select_.h: New file.
61173         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61174         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61175         * modules/sys_select (Files): Add lib/sys_select_.h.
61176         (Depends-on): Add absolute-header.
61177         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61178         into sys/select.h.
61179
61180 2007-03-02  Bruno Haible  <bruno@clisp.org>
61181
61182         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61183         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61184         values.
61185         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61186         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61187         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61188         * modules/sys_socket (Depends-on): Add absolute-header.
61189         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61190         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61191         (Include): Remove requirement of inclusion of <sys/types.h>.
61192
61193 2007-03-02  Bruno Haible  <bruno@clisp.org>
61194
61195         * lib/byteswap_.h (bswap_32): Fix formula.
61196
61197 2007-03-06  Bruno Haible  <bruno@clisp.org>
61198
61199         * modules/sprintf-posix-tests: New file.
61200         * tests/test-sprintf-posix.c: New file.
61201
61202         * modules/sprintf-posix: New file.
61203         * lib/sprintf.c: New file.
61204         * m4/sprintf-posix.m4: New file.
61205         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61206         REPLACE_SPRINTF.
61207         * lib/stdio_.h (sprintf): New declaration.
61208         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61209         REPLACE_SPRINTF.
61210
61211 2007-03-06  Bruno Haible  <bruno@clisp.org>
61212
61213         * modules/vsprintf-posix-tests: New file.
61214         * tests/test-vsprintf-posix.c: New file.
61215         * tests/test-sprintf-posix.h: New file.
61216
61217         * modules/vsprintf-posix: New file.
61218         * lib/vsprintf.c: New file.
61219         * m4/vsprintf-posix.m4: New file.
61220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61221         REPLACE_VSPRINTF.
61222         * lib/stdio_.h (vsprintf): New declaration.
61223         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61224         REPLACE_VSPRINTF.
61225
61226 2007-03-06  Bruno Haible  <bruno@clisp.org>
61227
61228         * modules/vsnprintf (Depend-on): Remove minmax.
61229
61230 2007-03-06  Bruno Haible  <bruno@clisp.org>
61231
61232         * modules/snprintf-posix-tests: New file.
61233         * tests/test-snprintf-posix.c: New file.
61234
61235         * modules/snprintf-posix: New file.
61236         * m4/snprintf-posix.m4: New file.
61237         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61238         gl_FUNC_SNPRINTF.
61239         (gl_FUNC_SNPRINTF): Invoke it.
61240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61241         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61242         is set.
61243         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61244
61245 2007-03-06  Bruno Haible  <bruno@clisp.org>
61246
61247         * modules/vsnprintf-posix-tests: New file.
61248         * tests/test-vsnprintf-posix.c: New file.
61249         * tests/test-snprintf-posix.h: New file.
61250
61251         * modules/vsnprintf-posix: New file.
61252         * m4/vsnprintf-posix.m4: New file.
61253         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61254         gl_FUNC_VSNPRINTF.
61255         (gl_FUNC_VSNPRINTF): Invoke it.
61256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61257         * lib/stdio_.h (vsnprintf): Define as a replacement if
61258         REPLACE_VSNPRINTF is set.
61259         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61260
61261 2007-03-06  Bruno Haible  <bruno@clisp.org>
61262
61263         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61264         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61265
61266 2007-03-06  Bruno Haible  <bruno@clisp.org>
61267
61268         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61269         (asinl): Declare also if HAVE_DECL_ASINL is set.
61270         (atanl): Declare also if HAVE_DECL_ATANL is set.
61271         (ceill): Declare also if HAVE_DECL_CEILL is set.
61272         (cosl): Declare also if HAVE_DECL_COSL is set.
61273         (expl): Declare also if HAVE_DECL_EXPL is set.
61274         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61275         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61276         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61277         (logl): Declare also if HAVE_DECL_LOGL is set.
61278         (sinl): Declare also if HAVE_DECL_SINL is set.
61279         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61280         (tanl): Declare also if HAVE_DECL_TANL is set.
61281         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61283         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61284         declaration of frexpl, ldexpl.
61285         * modules/printf-frexpl (Depends-on): Add math.
61286         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61287
61288 2007-03-05  Bruno Haible  <bruno@clisp.org>
61289
61290         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61291         frexpl and ldexpl are declared.
61292         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61293
61294 2007-03-05  Bruno Haible  <bruno@clisp.org>
61295
61296         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61297         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61298
61299 2007-03-05  Bruno Haible  <bruno@clisp.org>
61300
61301         * lib/stdio_.h: Include <stddef.h>.
61302
61303 2007-03-05  Bruno Haible  <bruno@clisp.org>
61304
61305         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61306
61307 2007-03-05  Bruno Haible  <bruno@clisp.org>
61308
61309         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61310         NetBSD 4, from Ralf Wildenhues.
61311
61312 2007-03-04  Bruno Haible  <bruno@clisp.org>
61313
61314         * lib/vasprintf.h: Update #if logic for the case when the functions
61315         exist but are overridden.
61316
61317 2007-03-04  Bruno Haible  <bruno@clisp.org>
61318
61319         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61320         implementations: glibc-2.4 and MacOS X 10.3.
61321         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61322         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61323         * tests/test-vasprintf-posix.c (test_function): Likewise.
61324
61325 2007-03-04  Bruno Haible  <bruno@clisp.org>
61326
61327         * modules/vasprintf-posix-tests: New file.
61328         * tests/test-vasprintf-posix.c: New file.
61329
61330         * modules/vasprintf-posix: New file.
61331         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61332         defined.
61333         * m4/vasprintf-posix.m4: New file.
61334         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61335         gl_FUNC_VASPRINTF.
61336         (gl_FUNC_VASPRINTF): Invoke it.
61337         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61338         here.
61339         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61340
61341 2007-03-04  Bruno Haible  <bruno@clisp.org>
61342
61343         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61344         REPLACE_GETTIMEOFDAY.
61345         * modules/sys_time (Makefile.am): Likewise.
61346         * m4/sys_time_h.m4: Likewise.
61347         * m4/gettimeofday.m4: Likewise.
61348
61349 2007-03-04  Bruno Haible  <bruno@clisp.org>
61350
61351         * modules/vasnprintf-posix-tests: New file.
61352         * tests/test-vasnprintf-posix.c: New file.
61353
61354         * modules/vasnprintf-posix: New file.
61355         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61356         printf-frexpl.h.
61357         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61358         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61359         REPLACE_VASNPRINTF is defined.
61360         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61361         gl_FUNC_VASNPRINTF.
61362         (gl_FUNC_VASNPRINTF): Invoke it.
61363         * m4/vasnprintf-posix.m4: New file.
61364         * m4/printf.m4: New file.
61365
61366 2007-03-04  Bruno Haible  <bruno@clisp.org>
61367
61368         Compile progreloc.c only if --enable-relocatable is specified.
61369         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61370         if --enable-relocatable was specified.
61371         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61372         lib_SOURCES.
61373
61374 2007-03-04  Jim Meyering  <jim@meyering.net>
61375
61376         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61377         Use it consistently, rather than enumerating errno constants.
61378
61379 2007-03-04  Bruno Haible  <bruno@clisp.org>
61380
61381         * modules/xvasprintf-tests: New file.
61382         * tests/test-xvasprintf.c: New file.
61383
61384         * modules/vasprintf-tests: New file.
61385         * tests/test-vasprintf.c: New file.
61386
61387         * modules/vasnprintf-tests: New file.
61388         * tests/test-vasnprintf.c: New file.
61389
61390         * modules/vsnprintf-tests: New file.
61391         * tests/test-vsnprintf.c: New file.
61392
61393         * modules/snprintf-tests: New file.
61394         * tests/test-snprintf.c: New file.
61395
61396 2007-03-04  Bruno Haible  <bruno@clisp.org>
61397
61398         Compile relocatable.c only if --enable-relocatable is specified.
61399         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61400         gl_RELOCATABLE_LIBRARY.
61401         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61402         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61403         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61404         gl_RELOCATABLE_LIBRARY.
61405         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61406         (Makefile.am): Remove lib_SOURCES.
61407         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61408         gl_RELOCATABLE_LIBRARY.
61409         (Makefile.am): Remove lib_SOURCES.
61410         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61411         always.
61412         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61413         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61414
61415 2007-03-04  Bruno Haible  <bruno@clisp.org>
61416
61417         * modules/argmatch-tests: New file.
61418         * tests/test-argmatch.c: New file.
61419
61420         * tests/test-allocsa.c (main): Halve the number of loop runs.
61421
61422         * modules/alloca-opt-tests: New file.
61423         * tests/test-alloca-opt.c: New file.
61424
61425 2007-03-04  Jim Meyering  <jim@meyering.net>
61426
61427         Work around difference between Linux ACLs and Solaris 10 ZFS.
61428         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61429         for EINVAL.
61430
61431 2007-03-03  Bruno Haible  <bruno@clisp.org>
61432
61433         * modules/relocatable-prog (Depends-on): Add back progreloc's
61434         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61435
61436 2007-03-03  Bruno Haible  <bruno@clisp.org>
61437
61438         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61439         * modules/relocatable-lib: New file.
61440
61441 2007-03-03  Bruno Haible  <bruno@clisp.org>
61442
61443         * modules/relocatable-prog: Renamed from modules/relocatable.
61444         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61445
61446 2007-03-03  Bruno Haible  <bruno@clisp.org>
61447
61448         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61449         m4/relocatable-lib.m4.
61450         (Depends-on): Remove 'relocatable'.
61451         (configure.ac): Add gl_RELOCATABLE_NOP.
61452
61453 2007-03-03  Bruno Haible  <bruno@clisp.org>
61454
61455         * modules/relocatable-prog-wrapper: New file.
61456         * modules/relocatable (Depends-on): Add it. Remove all other
61457         dependencies except progname.
61458         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61459
61460         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61461         (gl_FUNC_STRERROR): Nop.
61462         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61463
61464         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61465         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61466
61467         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61468         (gl_FUNC_READLINK): Update.
61469
61470         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
61471
61472 2007-03-03  Bruno Haible  <bruno@clisp.org>
61473
61474         * lib/xreadlink.c: Include <unistd.h> unconditionally.
61475         * modules/xreadlink (Depends-on): Add unistd.
61476         * modules/xreadlink-with-size (Depends-on): Likewise.
61477
61478 2007-03-03  Bruno Haible  <bruno@clisp.org>
61479
61480         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
61481         extracted from gt_FUNC_SETENV.
61482         (gt_FUNC_SETENV): Remove macro.
61483         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
61484         remove gt_FUNC_SETENV.
61485
61486 2007-03-03  Bruno Haible  <bruno@clisp.org>
61487
61488         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
61489         ENABLE_RELOCATABLE here.
61490         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
61491
61492 2007-03-03  Bruno Haible  <bruno@clisp.org>
61493
61494         * modules/rbtreehash-list-tests (Depends-on): Add progname.
61495         * tests/test-rbtreehash_list.c: Include progname.h.
61496         (main): Call set_program_name.
61497
61498         * modules/rbtree-oset-tests (Depends-on): Add progname.
61499         * tests/test-rbtree_oset.c: Include progname.h.
61500         (main): Call set_program_name.
61501
61502         * modules/rbtree-list-tests (Depends-on): Add progname.
61503         * tests/test-rbtree_list.c: Include progname.h.
61504         (main): Call set_program_name.
61505
61506         * modules/linked-list-tests (Depends-on): Add progname.
61507         * tests/test-linked_list.c: Include progname.h.
61508         (main): Call set_program_name.
61509
61510 2007-03-03  Bruno Haible  <bruno@clisp.org>
61511
61512         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
61513         All uses of __restrict changed to _Restrict_.
61514         * lib/glob_.h (__restrict): Remove macro.
61515
61516 2007-03-02  Bruno Haible  <bruno@clisp.org>
61517
61518         * modules/gettext (configure.ac): Require gettext infrastructure
61519         from version 0.16.1.
61520
61521 2007-03-02  Bruno Haible  <bruno@clisp.org>
61522
61523         * modules/linkedhash-list-tests (Depends-on): Add progname.
61524         * tests/test-linkedhash_list.c: Include progname.h.
61525         (main): Call set_program_name.
61526
61527         * modules/carray-list-tests (Depends-on): Add progname.
61528         * tests/test-carray_list.c: Include progname.h.
61529         (main): Call set_program_name.
61530
61531         * modules/avltreehash-list-tests (Depends-on): Add progname.
61532         * tests/test-avltreehash_list.c: Include progname.h.
61533         (main): Call set_program_name.
61534
61535         * modules/avltree-oset-tests (Depends-on): Add progname.
61536         * tests/test-avltree_oset.c: Include progname.h.
61537         (main): Call set_program_name.
61538
61539         * modules/avltree-list-tests (Depends-on): Add progname.
61540         * tests/test-avltree_list.c: Include progname.h.
61541         (main): Call set_program_name.
61542
61543         * modules/array-oset-tests (Depends-on): Add progname.
61544         * tests/test-array_oset.c: Include progname.h.
61545         (main): Call set_program_name.
61546
61547         * modules/array-list-tests (Depends-on): Add progname.
61548         * tests/test-array_list.c: Include progname.h.
61549         (main): Call set_program_name.
61550
61551         * modules/argp-tests (Depends-on): Add progname.
61552         * tests/test-argp.c: Include argp.h first. Include progname.h.
61553         (main): Call set_program_name.
61554
61555 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
61556
61557         * doc/gnulib-tool.texi (Initial import): Reword description of
61558         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
61559         limited effect even if defined after the first system include.
61560
61561 2007-03-01  Bruno Haible  <bruno@clisp.org>
61562
61563         * build-aux/config.libpath: Update to libtool-1.5.22.
61564         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61565
61566 2007-03-01  Bruno Haible  <bruno@clisp.org>
61567
61568         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
61569         foo_CFLAGS.
61570         Reported by Ralf Wildenhues.
61571
61572 2007-03-01  Bruno Haible  <bruno@clisp.org>
61573
61574         * build-aux/install-reloc: Remove object files left over by some
61575         compilers.
61576         Reported by Ralf Wildenhues.
61577
61578 2007-03-01  Bruno Haible  <bruno@clisp.org>
61579
61580         * build-aux/install-reloc: Break long lines.
61581
61582 2007-03-01  Bruno Haible  <bruno@clisp.org>
61583
61584         * doc/relocatable.texi: Document that it may not work on OpenBSD.
61585         Reported by Ralf Wildenhues.
61586
61587 2007-03-01  Bruno Haible  <bruno@clisp.org>
61588
61589         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
61590         include ordering constraints.
61591
61592 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61593
61594         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
61595         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
61596         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
61597         as another example.
61598         * lib/time_.h: Fix misspelling.
61599         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61600         Require gl_HEADER_TIME_H_DEFAULTS.
61601         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
61602         * m4/time_r.m4 (gl_TIME_R): Likewise.
61603         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
61604
61605 2007-03-01  Bruno Haible  <bruno@clisp.org>
61606
61607         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
61608         * m4/utimens.m4 (gl_UTIMENS): Likewise.
61609
61610 2007-03-01  Jim Meyering  <jim@meyering.net>
61611
61612         * modules/xreadlink (Maintainer): Add my name.
61613         * modules/xreadlink-with-size (Depends-on): Alphabetize.
61614
61615 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
61616             Bruno Haible  <bruno@clisp.org>
61617
61618         * build-aux/install-reloc: Compile also c-ctype.c.
61619         * build-aux/relocatable.sh.in: New file.
61620         * doc/relocatable.texi: New file.
61621         * doc/relocatable-maint.texi: New file.
61622         * doc/gnulib.texi: Include relocatable-maint.texi.
61623         * lib/progreloc.c: Include unistd.h unconditionally.
61624         * lib/relocwrapper.c: Include unistd.h unconditionally.
61625         Include c-ctype.h.
61626         (add_dotbin): Use c_tolower.
61627         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
61628         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
61629         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
61630         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
61631         to m4/relocatable-lib.m4.
61632         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
61633         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
61634         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
61635         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
61636         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
61637         * modules/relocatable: New file.
61638         * modules/relocatable-lib: New file.
61639         * modules/relocatable-script: New file.
61640
61641 2007-02-28  Bruno Haible  <bruno@clisp.org>
61642
61643         Import --enable-relocatable infrastructure.
61644         * build-aux/config.libpath: New file, from GNU gettext.
61645         * build-aux/install-reloc: New file, from GNU gettext.
61646         * build-aux/reloc-ldflags: New file, from GNU gettext.
61647         * lib/relocatable.h: New file, from GNU gettext.
61648         * lib/relocatable.c: New file, from GNU gettext.
61649         * lib/relocwrapper.c: New file, from GNU gettext.
61650         * m4/relocatable.m4: New file, from GNU gettext.
61651
61652 2007-02-28  Bruno Haible  <bruno@clisp.org>
61653
61654         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
61655
61656         * modules/xreadlink: New file, from GNU gettext with modifications.
61657         * lib/xreadlink.c: New file, from GNU gettext.
61658         * lib/xreadlink.h: Add comments.
61659         (xreadlink): New declaration.
61660
61661         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
61662         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
61663         lib/xreadlink-with-size.c.
61664         (configure.ac): Remove gl_XREADLINK invocation.
61665         (Makefile.am): Augment lib_SOURCES.
61666         * m4/xreadlink.m4: Remove file.
61667         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
61668         (xreadlink_with_size): Renamed from xreadink.
61669         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
61670         * modules/canonicalize (Depends-on): Replace xreadlink with
61671         xreadlink-with-size.
61672         * lib/canonicalize.c (canonicalize_filename_mode): Update.
61673
61674 2007-02-25  Jim Meyering  <jim@meyering.net>
61675
61676         * build-aux/announce-gen: When complaining about excess arguments,
61677         list them.
61678
61679 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61680
61681         * README: Document signed integer overflow situation more
61682         accurately.
61683
61684 2007-02-25  Bruno Haible  <bruno@clisp.org>
61685
61686         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
61687         'a' or 'A' conversion.
61688
61689 2007-02-25  Bruno Haible  <bruno@clisp.org>
61690
61691         * modules/filename: Renamed from modules/pathname.
61692         (Files): Replace lib/pathname.h with lib/filename.h. Replace
61693         lib/concatpath.c with lib/concat-filename.c.
61694         (Makefile.am): Update.
61695         (Include): Replace pathname.h with filename.h.
61696         * lib/filename.h: Renamed from lib/pathname.h.
61697         (concatenated_filename): Renamed from concatenated_pathname.
61698         * lib/concat-filename.c: Renamed from lib/concatpath.c.
61699         (concatenated_filename): Renamed from concatenated_pathname.
61700         * lib/findprog.c: Include filename.h instead of pathname.h.
61701         (find_in_path): Update.
61702         * lib/javacomp.c: Include filename.h instead of pathname.h.
61703         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
61704         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
61705         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
61706         is_oldgcj_14_13_usable, is_javac_usable): Update.
61707         * lib/javaexec.c: Include filename.h instead of pathname.h.
61708         (execute_java_class): Update.
61709         * modules/findprog: Update.
61710         * modules/javacomp: Update.
61711         * modules/javaexec: Update.
61712         * MODULES.html.sh (File system functions): Add 'filename', remove
61713         'pathname'.
61714
61715 2007-02-25  Bruno Haible  <bruno@clisp.org>
61716
61717         * modules/printf-frexpl-tests: New file.
61718         * tests/test-printf-frexpl.c: New file.
61719
61720         * modules/printf-frexpl: New file.
61721         * lib/printf-frexpl.h: New file.
61722         * lib/printf-frexpl.c: New file.
61723         * m4/printf-frexpl.m4: New file.
61724
61725 2007-02-25  Bruno Haible  <bruno@clisp.org>
61726
61727         * modules/printf-frexp-tests: New file.
61728         * tests/test-printf-frexp.c: New file.
61729
61730         * modules/printf-frexp: New file.
61731         * lib/printf-frexp.h: New file.
61732         * lib/printf-frexp.c: New file.
61733         * m4/printf-frexp.m4: New file.
61734
61735 2007-02-25  Bruno Haible  <bruno@clisp.org>
61736
61737         Assume automake >= 1.10 for the tests.
61738         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
61739         * modules/arctwo-tests: Likewise.
61740         * modules/argp-tests: Likewise.
61741         * modules/avltree-list-tests: Likewise.
61742         * modules/avltree-oset-tests: Likewise.
61743         * modules/avltreehash-list-tests: Likewise.
61744         * modules/carray-list-tests: Likewise.
61745         * modules/crc-tests: Likewise.
61746         * modules/des-tests: Likewise.
61747         * modules/gc-arcfour-tests: Likewise.
61748         * modules/gc-arctwo-tests: Likewise.
61749         * modules/gc-des-tests: Likewise.
61750         * modules/gc-hmac-md5-tests: Likewise.
61751         * modules/gc-hmac-sha1-tests: Likewise.
61752         * modules/gc-md2-tests: Likewise.
61753         * modules/gc-md4-tests: Likewise.
61754         * modules/gc-md5-tests: Likewise.
61755         * modules/gc-pbkdf2-sha1-tests: Likewise.
61756         * modules/gc-rijndael-tests: Likewise.
61757         * modules/gc-sha1-tests: Likewise.
61758         * modules/gc-tests: Likewise.
61759         * modules/getaddrinfo-tests: Likewise.
61760         * modules/hmac-md5-tests: Likewise.
61761         * modules/hmac-sha1-tests: Likewise.
61762         * modules/linked-list-tests: Likewise.
61763         * modules/linkedhash-list-tests: Likewise.
61764         * modules/lock-tests: Likewise.
61765         * modules/md2-tests: Likewise.
61766         * modules/md4-tests: Likewise.
61767         * modules/md5-tests: Likewise.
61768         * modules/rbtree-list-tests: Likewise.
61769         * modules/rbtree-oset-tests: Likewise.
61770         * modules/rbtreehash-list-tests: Likewise.
61771         * modules/read-file-tests: Likewise.
61772         * modules/rijndael-tests: Likewise.
61773         * modules/stdint-tests: Likewise.
61774         * modules/tls-tests: Likewise.
61775
61776 2007-02-24  Bruno Haible  <bruno@clisp.org>
61777
61778         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
61779         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
61780         function; instead check whether isnan with a double argument links.
61781         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
61782         function; instead check whether isnan with a 'long double' argument
61783         links.
61784         Reported by Eric Blake <ebb9@byu.net>.
61785
61786 2007-02-24  Bruno Haible  <bruno@clisp.org>
61787
61788         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
61789         defined.
61790         * lib/isnanl.c: Remove all code. Just include isnan.c.
61791         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
61792
61793 2007-02-25  Jim Meyering  <jim@meyering.net>
61794
61795         Avoid conflicting types for 'unsetenv' on FreeBSD.
61796         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
61797         conflicting with FreeBSD's (5.0 and 6.1) function declaration
61798         in stdlib.h.
61799
61800 2007-02-24  Bruno Haible  <bruno@clisp.org>
61801
61802         * modules/isnanl-nolibm-tests: New file.
61803         * tests/test-isnanl.c: New file.
61804
61805         * modules/isnanl-nolibm: New file.
61806         * lib/isnanl.h: New file.
61807         * lib/isnanl.c: New file.
61808         * m4/isnanl.m4: New file.
61809
61810 2007-02-24  Bruno Haible  <bruno@clisp.org>
61811
61812         * modules/isnan-nolibm-tests: New file.
61813         * tests/test-isnan.c: New file.
61814
61815         * modules/isnan-nolibm: New file.
61816         * lib/isnan.h: New file.
61817         * lib/isnan.c: New file.
61818         * m4/isnan.m4: New file.
61819
61820 2007-02-24  Bruno Haible  <bruno@clisp.org>
61821
61822         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
61823         assume that an exponent fits in 20 bits.
61824
61825 2007-02-24  Jim Meyering  <jim@meyering.net>
61826
61827         * m4/regex.m4: Update the description of the configure-time option,
61828         --without-included-regex, to state accurately what the defaults are,
61829         and perhaps to give people an idea why using this option is risky.
61830
61831 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61832
61833         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
61834         loops on small arguments.  This attempts to avoid the problem
61835         Bruno Haible reported for AIX 4.3.2 in
61836         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
61837
61838 2007-02-23  Bruno Haible  <bruno@clisp.org>
61839
61840         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
61841         Needed for help2man.
61842
61843 2007-02-23  Karl Berry  <karl@gnu.org>
61844
61845         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
61846         exists, foo.h should be cvs-ignored, not committed.
61847
61848 2007-02-23  Eric Blake  <ebb9@byu.net>
61849
61850         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
61851         * lib/stat-time.h (includes): Likewise.
61852         * lib/utimecmp.c (includes): Likewise.
61853         * lib/utimens.h (includes): Likewise.
61854         * lib/getdate.y (includes): Also include "timespec.h" for use
61855         internal to the module.
61856         * modules/utimens (Depends-on): Revert yesterday's patch.
61857         * modules/nanosleep (Depends-on): Add missing dependency.
61858
61859 2007-02-22  Bruno Haible  <bruno@clisp.org>
61860
61861         * lib/glob.c: Don't include getlogin_r.h.
61862
61863 2007-02-22  Jim Meyering  <jim@meyering.net>
61864
61865         * modules/utimens (Depends-on): Add timespec, required for
61866         utimens.h's inclusion of timespec.h.
61867
61868 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
61869
61870         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
61871         long unreadable paths in GNU/Linux.  Problem reported by Andreas
61872         Schwab in
61873         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
61874         I'll try to think of a better way to fix the Solaris problem.
61875
61876         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
61877         like glibc; on Solaris 10, it fails with errno == EINVAL.
61878         POSIX says the behavior is unspecified if the first argument is NULL,
61879         so play it safe and never pass NULL to the system getcwd.
61880
61881 2007-02-21  Jim Meyering  <jim@meyering.net>
61882
61883         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
61884         of gettimeofday.  It would conflict with the one now always
61885         provided via sys_time_.h.  Reported by Matthew Woehlke, as
61886         an IRIX 6.5 build failure.
61887
61888 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61889
61890         Minor fixups to port to Solaris 10 with Sun C 5.8.
61891         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
61892         * modules/getcwd (Depends-on): Add dirfd.
61893         * lib/putenv.c (putenv): #undef it.
61894         (rpl_putenv): New decl.
61895         (malloc, free): Include <stdlib.h> rather than prototyping separately.
61896
61897 2007-02-20  Bruno Haible  <bruno@clisp.org>
61898
61899         * modules/stdio-tests: New file.
61900         * tests/test-stdio.c: New file.
61901
61902         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
61903         (Depends-on): Add stdio.
61904         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
61905         (Include): Use <stdio.h> instead of vsnprintf.h.
61906         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
61907         HAVE_DECL_VSNPRINTF.
61908         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
61909
61910         * modules/snprintf (Files): Remove lib/snprintf.h.
61911         (Depends-on): Add stdio.
61912         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
61913         (Include): Use <stdio.h> instead of snprintf.h.
61914         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
61915         HAVE_DECL_SNPRINTF.
61916         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
61917         * lib/getaddrinfo.c: Likewise.
61918
61919         * modules/stdio: New file.
61920         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
61921         * lib/snprintf.h: Remove file.
61922         * lib/vsnprintf.h: Remove file.
61923         * lib/.cppi-disable: Remove snprintf.h.
61924         * m4/stdio_h.m4: New file.
61925         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
61926
61927 2007-02-20  Jim Meyering  <jim@meyering.net>
61928
61929         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
61930         used by e.g., mingw.  From Bruno Haible.
61931
61932 2007-02-19  Bruno Haible  <bruno@clisp.org>
61933
61934         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
61935         warnings.
61936         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61937
61938 2007-02-19  Bruno Haible  <bruno@clisp.org>
61939
61940         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
61941         from mingw users.
61942
61943 2007-02-19  Bruno Haible  <bruno@clisp.org>
61944
61945         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
61946         warnings.
61947         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
61948
61949 2007-02-19  Jim Meyering  <jim@meyering.net>
61950
61951         Don't use FD after a successful "fdopendir (fd)".
61952         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
61953         Reset it by calling dirfd on the just-obtained DIR*.
61954
61955         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
61956         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
61957
61958 2007-02-18  Bruno Haible  <bruno@clisp.org>
61959
61960         * lib/readlink.c: Include <unistd.h>.
61961         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
61962         HAVE_READLINK.
61963         * modules/readlink (Depends-on): Add unistd.
61964         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61965         (Include): Add <unistd.h>.
61966
61967         * lib/getlogin_r.h: Remove file.
61968         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
61969         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
61970         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
61971         HAVE_DECL_GETLOGIN_R.
61972         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
61973         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61974         (Include): Use <unistd.h> instead of getlogin_r.h.
61975
61976         * lib/getcwd.h: Remove file.
61977         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
61978         * lib/xgetcwd.c: Likewise.
61979         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
61980         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
61981         * modules/getcwd (Files): Remove lib/getcwd.h.
61982         (Depends-on): Add unistd.
61983         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61984         (Include): Use <unistd.h> instad of getcwd.h.
61985
61986         * lib/ftruncate.c: Include <unistd.h> first.
61987         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
61988         Set HAVE_FTRUNCATE.
61989         * modules/ftruncate (Depends-on): Add unistd.
61990         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61991
61992         * lib/fchdir.c: Include <unistd.h> first.
61993         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
61994         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
61995         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
61996         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61997         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
61998
61999         * lib/dup2.c: Include <unistd.h> first.
62000         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62001         HAVE_DUP2.
62002         * modules/dup2 (Depends-on): Add unistd.
62003         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62004
62005         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62006         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62007         REPLACE_CHOWN. Don't define chown as a macro here.
62008         * modules/chown (Depends-on): Add unistd.
62009         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62010
62011         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62012         Add definition for GL_LINK_WARNING.
62013         (chown, dup2): New declarations.
62014         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62015         link warning.
62016         (ftruncate): New declaration.
62017         (getcwd): New declaration, taken from old getcwd.h.
62018         (getlogin_r): New declaration, taken from old getlogin_r.h.
62019         (readlink): New declaration.
62020         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62021         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62022         (gl_PREREQ_UNISTD): Remove macro.
62023         (gl_UNISTD_MODULE_INDICATOR): New macro.
62024         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62025         many new variables. Don't set UNISTD_H.
62026         * modules/unistd (Description): Change.
62027         (Depends-on): Add link-warning.
62028         (configure.ac): Update.
62029         (Makefile.am): Create unistd.h always. Substitute many new variables
62030         into it.
62031
62032 2007-02-18  Bruno Haible  <bruno@clisp.org>
62033
62034         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62035         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62036         HAVE_GETSUBOPT.
62037         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62038         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62039         * lib/getsubopt.h: Remove file.
62040         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62041         (Depends-on): Add stdlib.
62042         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62043         (Includes): Use <stdlib.h> instead of getsubopt.h.
62044         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62045         Set HAVE_GETSUBOPT.
62046         * lib/getsubopt.c: Don't include getsubopt.h.
62047
62048 2007-02-18  Bruno Haible  <bruno@clisp.org>
62049
62050         * modules/fchdir (Depends-on): Add dup2.
62051
62052 2007-02-18  Bruno Haible  <bruno@clisp.org>
62053
62054         * lib/stdlib_.h: Handle glibc's special invocation convention
62055         specially.
62056
62057 2007-02-18  Bruno Haible  <bruno@clisp.org>
62058
62059         * modules/stdlib-tests: New file.
62060         * tests/test-stdlib.c: New file.
62061
62062         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62063         (Depends-on): Add stdlib.
62064         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62065         (Includes): Use <stdlib.h> instead of mkstemp.h.
62066         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62067         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62068         * lib/mkstemp.c: Don't include mkstemp.h.
62069         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62070         * lib/stdlib--.h: Don't include mkstemp.h.
62071
62072         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62073         (Depends-on): Add stdlib.
62074         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62075         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62076         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62077         HAVE_MKDTEMP.
62078         * lib/mkdtemp.c: Don't include mkdtemp.h.
62079         * lib/clean-temp.c: Don't include mkdtemp.h.
62080
62081         * modules/exit (Files): Remove lib/exit.h.
62082         (Depends-on): Add stdlib.
62083         (Makefile.am): Remove lib_SOURCES.
62084         (Include): Use <stdlib.h> instead of exit.h.
62085         * lib/argmatch.c: Don't include exit.h.
62086         * lib/execute.c: Likewise.
62087         * lib/pagealign_alloc.c: Likewise.
62088         * lib/pipe.c: Likewise.
62089         * lib/wait-process.c: Likewise.
62090         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62091         * lib/exitfail.c: Likewise.
62092         * lib/savewd.c: Likewise.
62093         * lib/xsetenv.c: Likewise.
62094
62095         * modules/stdlib: New file.
62096         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62097         and extra comments about mkstemp().
62098         * lib/exit.h: Remove file.
62099         * lib/mkdtemp.h: Remove file.
62100         * lib/mkstemp.h: Remove file.
62101         * m4/stdlib_h.m4: New file.
62102         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62103
62104 2007-02-18  Bruno Haible  <bruno@clisp.org>
62105
62106         * modules/math-tests: New file.
62107         * tests/test-math.c: New file.
62108
62109         * modules/math: New file.
62110         * modules/mathl (Files): Remove lib/mathl.h.
62111         (Depends-on): Add math.
62112         (Makefile.am): Don't mention mathl.h.
62113         (Include): Use <math.h> instead of mathl.h.
62114         * lib/math_.h: New file.
62115         * lib/mathl.h: Remove file.
62116         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62117         mathl.h.
62118         * lib/asinl.c: Likewise.
62119         * lib/atanl.c: Likewise.
62120         * lib/ceill.c: Likewise.
62121         * lib/cosl.c: Likewise.
62122         * lib/expl.c: Likewise.
62123         * lib/floorl.c: Likewise.
62124         * lib/frexpl.c: Likewise.
62125         * lib/ldexpl.c: Likewise.
62126         * lib/logl.c: Likewise.
62127         * lib/sincosl.c: Likewise.
62128         * lib/sinl.c: Likewise.
62129         * lib/sqrtl.c: Likewise.
62130         * lib/tanl.c: Likewise.
62131         * lib/trigl.c: Likewise.
62132         * m4/math_h.m4: New file.
62133         * MODULES.html.sh (Mathematics): Add math.
62134
62135 2007-02-17  Bruno Haible  <bruno@clisp.org>
62136
62137         * modules/wctype-tests: New file.
62138         * tests/test-wctype.c: New file.
62139
62140         * modules/wchar-tests: New file.
62141         * tests/test-wchar.c: New file.
62142
62143         * modules/unistd-tests: New file.
62144         * tests/test-unistd.c: New file.
62145
62146         * modules/time-tests: New file.
62147         * tests/test-time.c: New file.
62148
62149         * modules/sysexits-tests: New file.
62150         * tests/test-sysexits.c: New file.
62151
62152         * modules/sys_time-tests: New file.
62153         * tests/test-sys_time.c: New file.
62154
62155         * modules/sys_stat-tests: New file.
62156         * tests/test-sys_stat.c: New file.
62157
62158         * modules/sys_socket-tests: New file.
62159         * tests/test-sys_socket.c: New file.
62160
62161         * modules/sys_select-tests: New file.
62162         * tests/test-sys_select.c: New file.
62163
62164         * modules/string-tests: New file.
62165         * tests/test-string.c: New file.
62166
62167         * modules/stdbool-tests: New file.
62168         * tests/test-stdbool.c: New file.
62169
62170         * modules/netinet_in-tests: New file.
62171         * tests/test-netinet_in.c: New file.
62172
62173         * modules/inttypes-tests: New file.
62174         * tests/test-inttypes.c: New file.
62175
62176         * modules/fcntl-tests: New file.
62177         * tests/test-fcntl.c: New file.
62178
62179         * modules/byteswap-tests: New file.
62180         * tests/test-byteswap.c: New file.
62181
62182         * modules/arpa_inet-tests: New file.
62183         * tests/test-arpa_inet.c: New file.
62184
62185 2007-02-17  Bruno Haible  <bruno@clisp.org>
62186
62187         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62188         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62189         if the corresponding module is not enabled. Emit link warnings if
62190         the function is used nevertheless.
62191         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62192         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62193         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62194         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62195         * modules/inttypes (Depends-on): Add link-warning.
62196         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62197         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62198         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62199         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62200         * modules/imaxdiv (configure.ac): Likewise.
62201         * modules/strtoimax (configure.ac): Likewise.
62202         * modules/strtoumax (configure.ac): Likewise.
62203
62204 2007-02-17  Bruno Haible  <bruno@clisp.org>
62205
62206         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62207         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62208         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62209         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62210
62211 2007-02-17  Bruno Haible  <bruno@clisp.org>
62212
62213         * modules/link-warning: New file.
62214         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62215         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62216         * modules/string (Depends-on): Add link-warning.
62217         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62218         string.h.
62219         * MODULES.html.sh (Support for building libraries and executables): Add
62220         link-warning.
62221
62222 2007-02-17  Bruno Haible  <bruno@clisp.org>
62223
62224         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62225         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62226         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62227         long lines.
62228
62229 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62230             Bruno Haible  <bruno@clisp.org>
62231
62232         * modules/tmpfile: New file.
62233         * lib/tmpfile.c: New file.
62234         * m4/tmpfile.m4: New file.
62235         * MODULES.html.sh (func_all_modules): New section "Input/output".
62236
62237 2007-02-15  Bruno Haible  <bruno@clisp.org>
62238
62239         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62240         (supports_delete_on_close): New function.
62241         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62242
62243 2007-02-14  Bruno Haible  <bruno@clisp.org>
62244
62245         * modules/mbspcasecmp-tests: New file.
62246         * tests/test-mbspcasecmp.sh: New file.
62247         * tests/test-mbspcasecmp.c: New file.
62248
62249         New module mbspcasecmp.
62250         * modules/mbspcasecmp: New file.
62251         * lib/mbspcasecmp.c: New file.
62252         * lib/string_.h (strncasecmp): Change warning message.
62253         (mbspcasecmp): New declaration.
62254         * m4/mbspcasecmp.m4: New file.
62255         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62256         GNULIB_MBSPCASECMP.
62257         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62258         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62259
62260 2007-02-14  Bruno Haible  <bruno@clisp.org>
62261
62262         * modules/mbsncasecmp-tests: New file.
62263         * tests/test-mbsncasecmp.sh: New file.
62264         * tests/test-mbsncasecmp.c: New file.
62265
62266         New module mbsncasecmp.
62267         * modules/mbsncasecmp: New file.
62268         * lib/mbsncasecmp.c: New file.
62269         * lib/string_.h (mbsncasecmp): New declaration.
62270         * m4/mbsncasecmp.m4: New file.
62271         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62272         GNULIB_MBSNCASECMP.
62273         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62274         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62275
62276 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62277
62278         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62279         Verify that it doesn't overlap with our flags.
62280         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62281         do not have the desired effect in multibyte locales; instead, use
62282         mbscasecmp.
62283         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62284         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62285         we don't require GNU fnmatch ourselves (if our users require it, they
62286         should do so explicitly).
62287
62288         Fix regex code so it doesn't rely on strcasecmp.
62289         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62290         Otherwise, include gnulib's langinfo.h.
62291         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62292         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62293         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62294         * modules/regex (FILES): Remove m4/codeset.m4.
62295         (Depends-on): Add localcharset.  Remove strcase.
62296
62297 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62298
62299         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62300         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62301
62302 2007-02-13  Bruno Haible  <bruno@clisp.org>
62303
62304         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62305         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62306
62307 2007-02-12  Bruno Haible  <bruno@clisp.org>
62308
62309         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62310         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62311         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62312         time warning rather than a link error.
62313
62314 2007-02-12  Bruno Haible  <bruno@clisp.org>
62315
62316         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62317         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62318         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62319
62320 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62321
62322         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62323         args, not 2.
62324
62325 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62326
62327         New module 'time', so that apps can include <time.h> as per
62328         POSIX and GNU instead of separate include files like time_r.h
62329         and timegm.h.  This implementation tries out a simpler approach
62330         for replacing decls in standard include files (as compared to
62331         the string module), somewhat as an experiment.
62332
62333         * config/srclist.txt: Comment out mktime.c for now.
62334         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62335         since it doesn't apply any more.  Use generic wording instead.
62336         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62337         'time'.
62338         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62339         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62340         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62341         Don't include <sys/types.h>; no longer needed since we assume C89.
62342         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62343         * lib/strftime.c: Likewise.
62344         * lib/time_r.c: Likewise.
62345         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62346         * lib/nanosleep.c: Include <time.h> first, to check interface.
62347         * lib/strptime.c: Likewise.
62348         * lib/time_r.c: Likewise.
62349         * lib/timegm.c: Likewise.
62350         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62351         needed.
62352         * lib/timegm.c: Don't include timegm.h; no longer needed.
62353         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62354         time.h now handles any problems in that area.
62355         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62356         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62357         that time.h defines struct timespec.
62358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62359         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62360         handles that.
62361         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62362         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62363         needed.  Set REPLACE_LOCALTIME.
62364         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62365         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62366         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62367         nanosleep; time_h.m4 now does that.  Don't require
62368         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62369         module handles this now.
62370         * modules/getdate (Depends-on): Remove timespec.  Add time.
62371         * modules/nanosleep (Depends-on): Likewise.
62372         * modules/stat-time (Depends-on): Likewise.
62373         * modules/nanosleep (Include): Include time.h, not timespec.h.
62374         * modules/strptime (Files): Remove lib/strptime.h.
62375         (Depends-on): Add extensions, time.
62376         (Include): Include time.h, not strptime.h.
62377         * modules/time_r (Files): Remove lib/time_r.h.
62378         (Depends-on): Add time.
62379         (Include): Include time.h, not time_r.h.
62380         * modules/timegm: Likewise.
62381         * modules/timespec (Description): Now does timespec-related decls
62382         of our own, instead of struct timespec itself.
62383         (Depends-on): Add time; remove extensions.
62384         (Maintainer): Add self.
62385         * modules/utimecmp (Depends-on): Add time; remove timespec.
62386         * modules/utimens (Depends-on): Likewise.
62387         * modules/xnanosleep (Depends-on): Likewise.
62388
62389 2007-02-11  Bruno Haible  <bruno@clisp.org>
62390
62391         * lib/c-strstr.c: Include allocsa.h.
62392         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62393         * lib/c-strcasestr.c: Include allocsa.h.
62394         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62395         * lib/strcasestr.c: Include allocsa.h.
62396         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62397         * lib/mbsstr.c: Include allocsa.h.
62398         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62399         allocsa/freesa instead of malloc/free.
62400         * lib/mbscasestr.c: Include allocsa.h.
62401         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62402         allocsa/freesa instead of malloc/free.
62403         * modules/c-strstr (Depends-on): Add allocsa.
62404         * modules/c-strcasestr (Depends-on): Likewise.
62405         * modules/strcasestr (Depends-on): Likewise.
62406         * modules/mbsstr (Depends-on): Likewise.
62407         * modules/mbscasestr (Depends-on): Likewise.
62408
62409 2007-02-11  Bruno Haible  <bruno@clisp.org>
62410
62411         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62412
62413         * modules/mbsspn-tests: New file.
62414         * tests/test-mbsspn.sh: New file.
62415         * tests/test-mbsspn.c: New file.
62416
62417 2007-02-11  Bruno Haible  <bruno@clisp.org>
62418
62419         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62420
62421         * modules/mbspbrk-tests: New file.
62422         * tests/test-mbspbrk.sh: New file.
62423         * tests/test-mbspbrk.c: New file.
62424
62425 2007-02-11  Bruno Haible  <bruno@clisp.org>
62426
62427         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62428         unneeded cast.
62429
62430         * modules/mbscspn-tests: New file.
62431         * tests/test-mbscspn.sh: New file.
62432         * tests/test-mbscspn.c: New file.
62433
62434 2007-02-11  Bruno Haible  <bruno@clisp.org>
62435
62436         * modules/mbscasecmp-tests: New file.
62437         * tests/test-mbscasecmp.sh: New file.
62438         * tests/test-mbscasecmp.c: New file.
62439
62440 2007-02-11  Bruno Haible  <bruno@clisp.org>
62441
62442         Ensure O(n) worst-case complexity of mbscasestr.
62443         * lib/mbscasestr.c: Include stdbool.h.
62444         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62445         functions.
62446         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62447         the bookkeeping indicates that it's worth it.
62448         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62449
62450         * modules/mbscasestr-tests: New file.
62451         * tests/test-mbscasestr1.c: New file.
62452         * tests/test-mbscasestr2.sh: New file.
62453         * tests/test-mbscasestr2.c: New file.
62454         * tests/test-mbscasestr3.sh: New file.
62455         * tests/test-mbscasestr3.c: New file.
62456         * tests/test-mbscasestr4.sh: New file.
62457         * tests/test-mbscasestr4.c: New file.
62458         * m4/locale-tr.m4: New file.
62459
62460 2007-02-11  Bruno Haible  <bruno@clisp.org>
62461
62462         Ensure O(n) worst-case complexity of mbsstr.
62463         * lib/mbsstr.c: Include stdbool.h.
62464         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62465         functions.
62466         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62467         bookkeeping indicates that it's worth it.
62468         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
62469
62470         * modules/mbsstr-tests: New file.
62471         * tests/test-mbsstr1.c: New file.
62472         * tests/test-mbsstr2.sh: New file.
62473         * tests/test-mbsstr2.c: New file.
62474         * tests/test-mbsstr3.sh: New file.
62475         * tests/test-mbsstr3.c: New file.
62476         * m4/locale-fr.m4: New file.
62477
62478 2007-02-11  Bruno Haible  <bruno@clisp.org>
62479
62480         * lib/mbsrchr.c (mbsrchr): Fix bug.
62481
62482         * modules/mbsrchr-tests: New file.
62483         * tests/test-mbsrchr.sh: New file.
62484         * tests/test-mbsrchr.c: New file.
62485
62486 2007-02-11  Bruno Haible  <bruno@clisp.org>
62487
62488         * lib/mbschr.c (mbschr): Fix bug.
62489
62490         * modules/mbschr-tests: New file.
62491         * tests/test-mbschr.sh: New file.
62492         * tests/test-mbschr.c: New file.
62493         * m4/locale-zh.m4: New file.
62494
62495 2007-02-11  Bruno Haible  <bruno@clisp.org>
62496
62497         Support for copying multibyte string iterators.
62498         * lib/mbiter.h: Include <string.h>.
62499         (mbiter_multi_copy): New function.
62500         (mbi_copy): New macro.
62501         * lib/mbuiter.h: Include <string.h>.
62502         (mbuiter_multi_copy): New function.
62503         (mbui_copy): New macro.
62504
62505 2007-02-11  Bruno Haible  <bruno@clisp.org>
62506
62507         New module mbslen.
62508         * modules/mbslen: New file.
62509         * lib/mbslen.c: New file.
62510         * lib/string_.h (mbslen): New declaration.
62511         * m4/mbslen.m4: New file.
62512         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62513         GNULIB_MBSLEN.
62514         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
62515         * MODULES.html.sh (Internationalization functions): Add mbslen.
62516
62517 2007-02-11  Bruno Haible  <bruno@clisp.org>
62518
62519         Ensure O(n) worst-case complexity of strcasestr substitute.
62520         * lib/strcasestr.c: Include stdbool.h.
62521         (knuth_morris_pratt): New function.
62522         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62523         bookkeeping indicates that it's worth it.
62524         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
62525
62526         * modules/strcasestr-tests: New file.
62527         * tests/test-strcasestr.c: New file.
62528
62529 2007-02-11  Bruno Haible  <bruno@clisp.org>
62530
62531         Ensure O(n) worst-case complexity of c_strcasestr.
62532         * lib/c-strcasestr.c: Include stdbool.h, string.h.
62533         (knuth_morris_pratt): New function.
62534         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
62535         the bookkeeping indicates that it's worth it.
62536         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
62537
62538         * modules/c-strcasestr-tests: New file.
62539         * tests/test-c-strcasestr.c: New file.
62540
62541 2007-02-11  Bruno Haible  <bruno@clisp.org>
62542
62543         Ensure O(n) worst-case complexity of c_strstr.
62544         * lib/c-strstr.c: Include stdbool.h, string.h.
62545         (knuth_morris_pratt): New function.
62546         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62547         bookkeeping indicates that it's worth it.
62548         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
62549
62550         * lib/c-strstr.c: Complete rewrite for maintainability.
62551
62552         * modules/c-strstr-tests: New file.
62553         * tests/test-c-strstr.c: New file.
62554
62555 2007-02-11  Bruno Haible  <bruno@clisp.org>
62556
62557         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
62558         5.2.1 and earlier, whereby \055 was treated just like the range
62559         delimiter '-'.
62560         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62561
62562 2007-02-08  Bruno Haible  <bruno@clisp.org>
62563
62564         * modules/regex (Depends-on): Add stdbool.
62565         Reported by Dalibor Topic <robilad@kaffe.org>.
62566
62567 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62568
62569         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
62570         Prefer returning from main to exiting from it.
62571         Remove unnecessary parens after sizeof.
62572
62573 2007-02-05  Bruno Haible  <bruno@clisp.org>
62574
62575         New module mbssep.
62576         * modules/mbssep: New file.
62577         * lib/mbssep.c: New file.
62578         * lib/string_.h (strsep): Add a conditional link warning.
62579         (mbssep): New declaration.
62580         * m4/mbssep.m4: New file.
62581         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62582         GNULIB_MBSSEP.
62583         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
62584         * MODULES.html.sh (Internationalization functions): Add mbssep.
62585
62586 2007-02-05  Bruno Haible  <bruno@clisp.org>
62587
62588         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
62589         Optimize search in case of 1 delimiter.
62590
62591 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62592
62593         * lib/acl.h: Include sys/types.h before sys/acl.h.
62594
62595 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62596
62597         Merge upstream fix for glibc bugzilla #3957:
62598
62599         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
62600
62601         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
62602         bit for RE_HAT_LISTS_NOT_NEWLINE.
62603         (build_charclass_op): Remove bogus comment.
62604
62605 2007-02-05  Simon Josefsson  <simon@josefsson.org>
62606
62607         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
62608
62609 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62610
62611         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
62612         * lib/memmem.c [!defined _LIBC]: Include config.h.
62613
62614 2007-02-04  Bruno Haible  <bruno@clisp.org>
62615
62616         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
62617         warning message.
62618
62619 2007-02-04  Bruno Haible  <bruno@clisp.org>
62620
62621         New module mbstok_r.
62622         * modules/mbstok_r: New file.
62623         * lib/mbstok_r.c: New file.
62624         * lib/string_.h (strtok_r): Change argument names to match the
62625         comments. Add a conditional link warning.
62626         (mbstok_r): New declaration.
62627         * m4/mbstok_r.m4: New file.
62628         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62629         GNULIB_MBSTOK_R.
62630         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
62631         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
62632
62633 2007-02-04  Bruno Haible  <bruno@clisp.org>
62634
62635         New module mbsspn.
62636         * modules/mbsspn: New file.
62637         * lib/mbsspn.c: New file.
62638         * lib/string_.h (strspn): Add a conditional link warning.
62639         (mbsspn): New declaration.
62640         * m4/mbsspn.m4: New file.
62641         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62642         GNULIB_MBSSPN.
62643         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
62644         * MODULES.html.sh (Internationalization functions): Add mbsspn.
62645
62646 2007-02-04  Bruno Haible  <bruno@clisp.org>
62647
62648         New module mbspbrk.
62649         * modules/mbspbrk: New file.
62650         * lib/mbspbrk.c: New file.
62651         * lib/string_.h (strpbrk): Add a conditional link warning.
62652         (mbspbrk): New declaration.
62653         * m4/mbspbrk.m4: New file.
62654         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62655         GNULIB_MBSPBRK.
62656         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
62657         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
62658
62659 2007-02-04  Bruno Haible  <bruno@clisp.org>
62660
62661         New module mbscspn.
62662         * modules/mbscspn: New file.
62663         * lib/mbscspn.c: New file.
62664         * lib/string_.h (strcspn): Add a conditional link warning.
62665         (mbscspn): New declaration.
62666         * m4/mbscspn.m4: New file.
62667         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62668         GNULIB_MBSCSPN.
62669         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
62670         * MODULES.html.sh (Internationalization functions): Add mbscspn.
62671
62672 2007-02-04  Bruno Haible  <bruno@clisp.org>
62673
62674         New module mbscasestr, reduced goal of strcasestr.
62675         * modules/mbscasestr: New file.
62676         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
62677         (mbscasestr): Renamed from strcasestr.
62678         * lib/strcasestr.c: Don't include mbuiter.h.
62679         (strcasestr): Remove support for multibyte locales.
62680         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
62681         Change the conditional link warning.
62682         (mbscasestr): New declaration.
62683         * m4/mbscasestr.m4: New file.
62684         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
62685         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
62686         REPLACE_STRCASESTR.
62687         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
62688         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62689         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
62690         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
62691         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
62692         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
62693         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
62694         (Depends-on): Remove mbuiter.
62695         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
62696
62697 2007-02-04  Bruno Haible  <bruno@clisp.org>
62698
62699         Simplify handling of strncasecmp.
62700         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
62701         the conditional link warning.
62702         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62703         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
62704         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
62705         * modules/strcase (configure.ac): Don't invoke
62706         gl_STRING_MODULE_INDICATOR.
62707         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
62708
62709 2007-02-04  Bruno Haible  <bruno@clisp.org>
62710
62711         New module mbscasecmp, reduced goal of strcasecmp.
62712         * modules/mbscasecmp: New file.
62713         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
62714         (mbscasecmp): Renamed from strcasecmp.
62715         * lib/strcasecmp.c: Don't include mbuiter.h.
62716         (strcasecmp): Remove support for multibyte locales.
62717         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
62718         Change the conditional link warning.
62719         (mbscasecmp): New declaration.
62720         * m4/mbscasecmp.m4: New file.
62721         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
62722         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
62723         REPLACE_STRCASECMP.
62724         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
62725         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62726         GNULIB_MBSCASECMP.
62727         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
62728         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
62729         * modules/strcase (Files): Remove m4/mbrtowc.m4.
62730         (Depends-on): Remove mbuiter.
62731         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
62732
62733 2007-02-04  Bruno Haible  <bruno@clisp.org>
62734
62735         New module mbsstr. Remove module strstr.
62736         * modules/mbsstr: New file.
62737         * modules/strstr: Remove file.
62738         * lib/mbsstr.c: Renamed from lib/strstr.c.
62739         (mbsstr): Renamed from strstr.
62740         * lib/string_.h (strstr): Remove declaration. Change the conditional
62741         link warning.
62742         (mbsstr): New declaration.
62743         * m4/mbsstr.m4: New file.
62744         * m4/strstr.m4: Remove file.
62745         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
62746         REPLACE_STRSTR.
62747         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
62748         Don't initialize GNULIB_STRSTR.
62749         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
62750         substitute GNULIB_STRSTR and REPLACE_STRSTR.
62751         * MODULES.html.sh (Internationalization functions): Add mbsstr.
62752         (Support for systems lacking ANSI C 89): Remove strstr.
62753
62754 2007-02-04  Bruno Haible  <bruno@clisp.org>
62755
62756         New module mbsrchr.
62757         * modules/mbsrchr: New file.
62758         * lib/mbsrchr.c: New file.
62759         * lib/string_.h (strrchr): Add a conditional link warning.
62760         (mbsrchr): New declaration.
62761         * m4/mbsrchr.m4: New file.
62762         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62763         GNULIB_MBSRCHR.
62764         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
62765         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
62766
62767 2007-02-04  Bruno Haible  <bruno@clisp.org>
62768
62769         New module mbschr.
62770         * modules/mbschr: New file.
62771         * lib/mbschr.c: New file.
62772         * lib/string_.h (strchr): Add a conditional link warning.
62773         (mbschr): New declaration.
62774         * m4/mbschr.m4: New file.
62775         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62776         GNULIB_MBSCHR.
62777         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
62778         * MODULES.html.sh (Internationalization functions): Add mbschr.
62779
62780 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62781
62782         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
62783
62784         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
62785
62786 2007-02-04  Bruno Haible  <bruno@clisp.org>
62787
62788         New module description section 'configure.ac-early'.
62789         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
62790         (func_get_autoconf_early_snippet): New function.
62791         (func_import, func_create_testdir): Use it. Remove special cases for
62792         modules 'extensions' and 'lock'.
62793         * modules/extensions (configure.ac-early): Require
62794         gl_USE_SYSTEM_EXTENSIONS.
62795         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
62796
62797 2007-02-04  Bruno Haible  <bruno@clisp.org>
62798
62799         Make use of gcj-4.3's -fsource and -ftarget option.
62800         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
62801         and if so try the options -fsource and -ftarget.
62802         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
62803         source_version, ftarget_option, target_version arguments.
62804         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
62805         (is_envjavac_oldgcj_14_14_usable): Renamed from
62806         is_envjavac_gcj_14_14_usable.
62807         (is_envjavac_oldgcj_14_13_usable): Renamed from
62808         is_envjavac_gcj_14_13_usable.
62809         (is_gcj_present): Update.
62810         (is_gcj_43, is_gcj43_usable): New functions.
62811         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
62812         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
62813         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
62814         try the options -fsource and -ftarget.
62815
62816 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
62817
62818         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
62819         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
62820         larger value.
62821
62822 2007-02-03  Jim Meyering  <jim@meyering.net>
62823
62824         Give tools a better chance to allocate space for very large buffers.
62825         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
62826
62827         Make pwd and readlink work also when run with an unreadable parent dir
62828         on systems with openat support.
62829         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
62830         provided getcwd function, even when we have openat support.
62831         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
62832
62833 2007-02-02  Bruno Haible  <bruno@clisp.org>
62834
62835         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62836         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
62837         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
62838         portability problems if one of these functions is only used on specific
62839         platforms.
62840         Reported by Paul Eggert.
62841
62842 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
62843
62844         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
62845         is causing more trouble than it's curing.
62846         * lib/regex_internal.h (__mempcpy): Remove.
62847         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
62848         (and make the code a tad smaller to boot).
62849         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
62850
62851 2007-02-02  Jim Meyering  <jim@meyering.net>
62852
62853         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
62854         section, not in the Makefile.am: one.
62855
62856 2007-02-02  Eric Blake  <ebb9@byu.net>
62857
62858         * lib/strchrnul.c: Always include config.h first.
62859
62860         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
62861         gnulib strstr is not necessary here.
62862
62863 2007-02-02  Simon Josefsson  <simon@josefsson.org>
62864
62865         * m4/socklen.m4: Fix typo.
62866
62867 2007-02-02  Eric Blake  <ebb9@byu.net>
62868
62869         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
62870         * modules/netinet_in (Makefile.am): Likewise.
62871
62872 2007-02-01  Bruno Haible  <bruno@clisp.org>
62873
62874         * lib/string_.h (GL_LINK_WARNING): New macro.
62875         (strcasecmp, strstr, strcasestr): If provided by the system,
62876         conditionally define as a macro that leads to a warning instead of to
62877         an error.
62878         (strncasecmp): Conditionally define as a macro that leads to a warning.
62879
62880 2007-02-01  Karl Berry  <karl@gnu.org>
62881
62882         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
62883
62884 2007-02-01  Bruno Haible  <bruno@clisp.org>
62885
62886         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
62887         renamings.
62888
62889 2007-02-01  Eric Blake  <ebb9@byu.net>
62890
62891         * modules/regex (Depends-on): Revert dependence on mempcpy.
62892         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
62893         module's definition of mempcpy.
62894         Reported by Paul Eggert.
62895
62896 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
62897
62898         * lib/string_.h: If the gnulib module XYZ is not present, undefine
62899         the symbol XYZ before redefining it.  This fixes a problem with
62900         programs that don't use XYZ, when compiled on systems that define
62901         XYZ to something else.
62902
62903 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
62904
62905         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
62906         occurs when "mkdir -m foo" creates a setgid directory that is (1)
62907         writeable to group or other and (2) is intended to have a special
62908         mode bit that is set or cleared.  In such a case, the directory
62909         should be neither group- nor other-writeable until the special
62910         mode bits are right.
62911
62912 2007-01-31  Eric Blake  <ebb9@byu.net>
62913
62914         * modules/mountlist (Depends-on): Add strstr.
62915
62916         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
62917         bug.
62918         * modules/string (Makefile.am): Remove redundant replacement.
62919         * modules/regex (Depends-on): Add mempcpy.
62920
62921 2007-01-31  Bruno Haible  <bruno@clisp.org>
62922
62923         New module description field 'Link'.
62924         * gnulib-tool (func_usage): Document --extract-link-directive.
62925         (sed_extract_prog): Recognize 'Link' directive.
62926         (func_get_link_directive): New function.
62927         (func_import): Show summary of link directives.
62928         Handle --extract-link-directive option.
62929         * modules/acl (Link): New section.
62930         * modules/clock-time (Link): New section.
62931         * modules/euidaccess (Link): New section.
62932         * modules/gettext (Link): New section.
62933         * modules/iconv (Link): New section.
62934         * modules/lock (Link): New section.
62935         * modules/nanosleep (Link): New section.
62936         * modules/readline (Link): New section.
62937
62938 2007-01-27  Bruno Haible  <bruno@clisp.org>
62939
62940         Enforce the use of gnulib modules for unportable <string.h> functions.
62941         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
62942         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
62943         (gl_HEADER_STRING_H_BODY): Require it.
62944         * lib/string_.h: If the gnulib module XYZ is not present, redefine
62945         the symbol XYZ to one that gives a link error.
62946         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
62947         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
62948         * modules/mempcpy (configure.ac): Likewise.
62949         * modules/memrchr (configure.ac): Likewise.
62950         * modules/stpcpy (configure.ac): Likewise.
62951         * modules/stpncpy (configure.ac): Likewise.
62952         * modules/strcase (configure.ac): Likewise.
62953         * modules/strcasestr (configure.ac): Likewise.
62954         * modules/strchrnul (configure.ac): Likewise.
62955         * modules/strdup (configure.ac): Likewise.
62956         * modules/strndup (configure.ac): Likewise.
62957         * modules/strnlen (configure.ac): Likewise.
62958         * modules/strpbrk (configure.ac): Likewise.
62959         * modules/strsep (configure.ac): Likewise.
62960         * modules/strstr (configure.ac): Likewise.
62961         * modules/strtok_r (configure.ac): Likewise.
62962
62963 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
62964
62965         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
62966
62967 2007-01-30  Jim Meyering  <jim@meyering.net>
62968
62969         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
62970
62971 2007-01-29  Bruno Haible  <bruno@clisp.org>
62972
62973         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
62974         * lib/execute.c: Likewise.
62975         * lib/pipe.c: Likewise.
62976         * lib/printf-args.h: Likewise.
62977         * lib/printf-args.c: Likewise.
62978         * lib/printf-parse.c: Likewise.
62979         * lib/vasnprintf.c: Likewise.
62980
62981 2007-01-29  Eric Blake  <ebb9@byu.net>
62982
62983         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
62984         declaration.
62985
62986 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
62987
62988         * lib/strptime.h (strptime): Use 'restrict' for args where
62989         POSIX requires this.
62990         * lib/strptime.c (strptime): Likewise.
62991         Change license notice from LGPL to GPL, since gnulib-tool will
62992         change this as needed.
62993         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
62994         defined.
62995         Include "strptime.h" first, to check interface.
62996         Do not #undef _LIBC and _NL_CURRENT.
62997         Do not include <stdlib.h>; no longer needed.
62998         Include "time_r.h" and declare ptime_locale_status
62999         only if _LIBC is not defined.
63000         (__P): Remove unused macro.
63001         (match_string): Bring back glibc version, but use it only if _LIBC
63002         is defined.
63003         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63004         Remove unnecessary assertion and abort() call.
63005         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63006         * m4/strptime.m4: Fix serial number comment.
63007         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63008         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63009         (Depends-on): Add time_r.
63010
63011 2007-01-29  Bruno Haible  <bruno@clisp.org>
63012
63013         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63014         strptime.
63015         * modules/strptime (Depends-on): Add stdbool.
63016         * lib/strptime.h: Include <time.h> always. Add comments.
63017
63018 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63019
63020         * modules/strptime: New file.
63021         * lib/strptime.h: New file.
63022         * lib/strptime.c: New file.
63023         * m4/strptime.m4: New file.
63024
63025 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63026
63027         * MODULES.html.sh: New module mpsort.
63028         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63029
63030         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63031         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63032         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63033         All uses changed.
63034         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63035         All uses changed.
63036         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63037         to _Restrict_.
63038         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63039         the parameter matches the prototype.
63040
63041 2007-01-28  Jim Meyering  <jim@meyering.net>
63042
63043         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63044         sys/time.h here, reverting that part of the previous patch:
63045         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63046
63047 2007-01-28  Bruno Haible  <bruno@clisp.org>
63048
63049         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63050         value of $(SYS_TIME_H).
63051         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63052         remove it conditionally, too. [added by Jim Meyering]
63053         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63054         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63055         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63056         GETTIMEOFDAY_REPLACEMENT to 1.
63057
63058 2007-01-28  Bruno Haible  <bruno@clisp.org>
63059
63060         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63061         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63062         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63063         Set UNISTD_H instead of UNISTD_H2.
63064         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63065
63066 2007-01-28  Bruno Haible  <bruno@clisp.org>
63067
63068         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63069         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63070
63071 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63072
63073         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63074         (func_create_testdir): Ensure C locale for `grep' and `tr'
63075         character ranges.
63076         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63077         ACLOCAL_AMFLAGS parsing state machine.
63078
63079 2007-01-27  Bruno Haible  <bruno@clisp.org>
63080
63081         * modules/unistr/base: Update.
63082
63083 2007-01-27  Bruno Haible  <bruno@clisp.org>
63084
63085         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63086         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63087         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63088         modules/unistr/u32-mbtouc.
63089         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63090         * lib/unistr.h: Update.
63091         * lib/linebreak.c: Update.
63092         * modules/unistr/u32-mbtouc: Renamed from
63093         modules/unistr/u32-mbtouc-safe.
63094         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63095         * lib/unistr.h: Update.
63096         * lib/unistr/u32-to-u8.c: Update.
63097         * lib/unistr/u32-to-u16.c: Update.
63098
63099 2007-01-27  Bruno Haible  <bruno@clisp.org>
63100
63101         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63102         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63103         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63104         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63105         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63106         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63107         modules/unistr/u16-mbtouc.
63108         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63109         * lib/unistr.h: Update.
63110         * lib/linebreak.c: Update.
63111         * modules/linebreak: Update.
63112         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63113         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63114         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63115         * modules/unistr/u16-mbtouc: Renamed from
63116         modules/unistr/u16-mbtouc-safe.
63117         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63118         * lib/unistr.h: Update.
63119         * lib/unistr/u16-to-u8.c: Update.
63120         * modules/unistr/u16-to-u8: Update.
63121         * lib/unistr/u16-to-u32.c: Update.
63122         * modules/unistr/u16-to-u32: Update.
63123
63124 2007-01-27  Bruno Haible  <bruno@clisp.org>
63125
63126         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63127         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63128         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63129         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63130         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63131         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63132         modules/unistr/u8-mbtouc.
63133         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63134         * lib/unistr.h: Update.
63135         * lib/striconveh.c: Update.
63136         * modules/striconveh: Update.
63137         * lib/linebreak.c: Update.
63138         * modules/linebreak: Update.
63139         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63140         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63141         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63142         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63143         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63144         * lib/unistr.h: Update.
63145         * lib/striconveh.c: Update.
63146         * modules/striconveh: Update.
63147         * lib/unistr/u8-to-u16.c: Update.
63148         * modules/unistr/u8-to-u16: Update.
63149         * lib/unistr/u8-to-u32.c: Update.
63150         * modules/unistr/u8-to-u32: Update.
63151
63152 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63153
63154         Sync from Libtool.
63155         * lib/argz.c: Do not include strings.h nor memory.h, include
63156         string.h unconditionally.  Patch by Simon Josefsson.
63157
63158 2007-01-27  Bruno Haible  <bruno@clisp.org>
63159
63160         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63161         from gl_HEADER_STRING_H_BODY.
63162         (gl_HEADER_STRING_H_BODY): Require it.
63163         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63164         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63165         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63166         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63167         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63168         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63169         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63170         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63171         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63172         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63173         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63174         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63175         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63176         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63177         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63178
63179 2007-01-27  Bruno Haible  <bruno@clisp.org>
63180
63181         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63182         check_PROGRAMS into noinst_PROGRAMS.
63183         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63184         check_PROGRAMS in this case.
63185         (func_import): Set for_test to false.
63186         (func_create_testdir): Set for_test to true.
63187
63188 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63189             Bruno Haible  <bruno@clisp.org>
63190
63191         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63192         (Depends-on): Add string.
63193         (Includes): Use <string.h> instead of strcasestr.h.
63194         * modules/string (Makefile.am): Also substitute the value of
63195         REPLACE_STRCASESTR.
63196         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63197         assume strcasestr is declared in <string.h> not <strings.h>. Also
63198         set REPLACE_STRCASESTR.
63199         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63200         REPLACE_STRCASESTR.
63201         * lib/strcasestr.h: Remove file.
63202         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63203         * lib/string_.h (strcasestr): New declaration.
63204
63205 2007-01-27  Bruno Haible  <bruno@clisp.org>
63206
63207         * lib/string_.h: Use 'extern'.
63208
63209 2007-01-27  Jim Meyering  <jim@meyering.net>
63210
63211         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63212         of set-but-not-used local, "q".
63213
63214         * lib/mempcpy.c: Include <config.h> before <string.h>.
63215         This fixes a compilation error on HP-UX, due to the system's
63216         "restrict"-using mempcpy prototype.
63217
63218 2007-01-26  Bruno Haible  <bruno@clisp.org>
63219
63220         Small optimization.
63221         * lib/javacomp.c: Include c-strstr.h.
63222          (is_envjavac_gcj): Use c_strstr instead of strstr.
63223         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63224
63225 2007-01-26  Bruno Haible  <bruno@clisp.org>
63226
63227         * MODULES.html.sh (Unicode string functions): Add the new modules.
63228
63229         * modules/uniconv/u32-strconv-to-locale: New file.
63230         * lib/uniconv/u32-strconv-to-locale.c: New file.
63231
63232         * modules/uniconv/u16-strconv-to-locale: New file.
63233         * lib/uniconv/u16-strconv-to-locale.c: New file.
63234
63235         * modules/uniconv/u8-strconv-to-locale: New file.
63236         * lib/uniconv/u8-strconv-to-locale.c: New file.
63237
63238         * modules/uniconv/u32-strconv-from-locale: New file.
63239         * lib/uniconv/u32-strconv-from-locale.c: New file.
63240
63241         * modules/uniconv/u16-strconv-from-locale: New file.
63242         * lib/uniconv/u16-strconv-from-locale.c: New file.
63243
63244         * modules/uniconv/u8-strconv-from-locale: New file.
63245         * lib/uniconv/u8-strconv-from-locale.c: New file.
63246
63247         * modules/uniconv/u32-strconv-to-enc: New file.
63248         * lib/uniconv/u32-strconv-to-enc.c: New file.
63249         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63250         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63251
63252         * modules/uniconv/u16-strconv-to-enc: New file.
63253         * lib/uniconv/u16-strconv-to-enc.c: New file.
63254         * lib/uniconv/u-strconv-to-enc.h: New file.
63255         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63256         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63257
63258         * modules/uniconv/u8-strconv-to-enc: New file.
63259         * lib/uniconv/u8-strconv-to-enc.c: New file.
63260         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63261         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63262
63263         * modules/uniconv/u32-strconv-from-enc: New file.
63264         * lib/uniconv/u32-strconv-from-enc.c: New file.
63265         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63266         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63267
63268         * modules/uniconv/u16-strconv-from-enc: New file.
63269         * lib/uniconv/u16-strconv-from-enc.c: New file.
63270         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63271         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63272
63273         * modules/uniconv/u8-strconv-from-enc: New file.
63274         * lib/uniconv/u8-strconv-from-enc.c: New file.
63275         * lib/uniconv/u-strconv-from-enc.h: New file.
63276         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63277         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63278
63279         * modules/uniconv/u32-conv-from-enc: New file.
63280         * lib/uniconv/u32-conv-from-enc.c: New file.
63281         * modules/uniconv/u32-conv-from-enc-tests: New file.
63282         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63283
63284         * modules/uniconv/u16-conv-from-enc: New file.
63285         * lib/uniconv/u16-conv-from-enc.c: New file.
63286         * lib/uniconv/u-conv-from-enc.h: New file.
63287         * modules/uniconv/u16-conv-from-enc-tests: New file.
63288         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63289
63290         * modules/uniconv/u8-conv-from-enc: New file.
63291         * lib/uniconv/u8-conv-from-enc.c: New file.
63292         * modules/uniconv/u8-conv-from-enc-tests: New file.
63293         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63294
63295         * modules/uniconv/base: New file.
63296         * lib/uniconv.h: New file.
63297
63298 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63299
63300         * doc/gnulib-tool.texi (Initial import): Update to match current
63301         behavior with strdup module.
63302         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63303         * lib/memmem.h: Remove; all uses removed.  This is now done
63304         by <string.h>.
63305         * lib/mempcpy.h: Likewise.
63306         * lib/memrchr.h: Likewise.
63307         * lib/stpcpy.h: Likewise.
63308         * lib/stpncpy.h: Likewise.
63309         * lib/strcase.h: Likewise.
63310         * lib/strchrnul.h: Likewise.
63311         * lib/strdup.h: Likewise.
63312         * lib/strndup.h: Likewise.
63313         * lib/strnlen.h: Likewise.
63314         * lib/strpbrk.h: Likewise.
63315         * lib/strsep.h: Likewise.
63316         * lib/strstr.h: Likewise.
63317         * lib/strtok_r.h: Likewise.
63318         * lib/string_.h: New file.
63319         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63320         Rely on <string.h> instead.
63321         * lib/canon-host.c: Likewise.
63322         * lib/chdir-long.c: Likewise.
63323         * lib/concatpath.c: Likewise.
63324         * lib/exclude.c: Likewise.
63325         * lib/fchdir.c: Likewise.
63326         * lib/getaddrinfo.c: Likewise.
63327         * lib/getcwd.c: Likewise.
63328         * lib/getsubopt.c: Likewise.
63329         * lib/glob.c: Likewise.
63330         * lib/hard-locale.c: Likewise.
63331         * lib/iconvme.c: Likewise.
63332         * lib/javacomp.c: Likewise.
63333         * lib/mempcpy.c: Likewise.
63334         * lib/memrchr.c: Likewise.
63335         * lib/regex_internal.h: Likewise.
63336         * lib/stpncpy.c: Likewise.
63337         * lib/strcasecmp.c: Likewise.
63338         * lib/strchrnul.c: Likewise.
63339         * lib/strdup.c: Likewise.
63340         * lib/striconv.c: Likewise.
63341         * lib/striconveh.c: Likewise.
63342         * lib/striconveha.c: Likewise.
63343         * lib/strncasecmp.c: Likewise.
63344         * lib/strndup.c: Likewise.
63345         * lib/strnlen.c: Likewise.
63346         * lib/strsep.c: Likewise.
63347         * lib/strstr.c: Likewise.
63348         * lib/strtok_r.c: Likewise.
63349         * lib/userspec.c: Likewise.
63350         * lib/w32spawn.h: Likewise.
63351         * lib/xstrndup.c: Likewise.
63352         * lib/mountlist.c (strstr): Remove decl.
63353         * m4/string_h.m4: New file.
63354         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63355         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63356         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63357         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63358         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63359         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63360         Set REPLACE_STRCASECMP if necessary.
63361         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63362         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63363         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63364         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63365         HAVE_DECL_STRDUP if necessary.
63366         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63367         since gl_FUNC_STRNDUP does that now.
63368         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63369         Check for decl here...
63370         (gl_PREREQ_STRNLEN): ... not here.
63371         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63372         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63373         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63374         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63375         necessary.
63376         * modules/string: New file.
63377         * modules/memmem (Files): Remove special-purpose include file.
63378         (Depends-on): Add string.
63379         (Include): Include <string.h>, not the removed file.
63380         * modules/mempcpy: Likewise.
63381         * modules/memrchr: Likewise.
63382         * modules/stpcpy: Likewise.
63383         * modules/stpncpy: Likewise.
63384         * modules/strcase: Likewise.
63385         * modules/strchrnul: Likewise.
63386         * modules/strdup: Likewise.
63387         * modules/strndup: Likewise.
63388         * modules/strnlen: Likewise.
63389         * modules/strpbrk: Likewise.
63390         * modules/strsep: Likewise.
63391         * modules/strstr: Likewise.
63392         * modules/strtok_r: Likewise.
63393         * tests/test-dirname.c: Don't include "strdup.h", since
63394         <string.h> now suffices.
63395         * tests/test-memmem.c: Don't include "memmem.h", since
63396         <string.h> now suffices.
63397
63398 2007-01-25  Bruno Haible  <bruno@clisp.org>
63399
63400         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63401         *resultp is 0.
63402
63403         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63404         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63405         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63406         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63407
63408         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63409         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63410         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63411         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63412         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63413         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63414
63415 2007-01-24  Bruno Haible  <bruno@clisp.org>
63416
63417         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63418         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63419         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63420         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63421         gl_FUNC_FTS_CORE.
63422         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63423         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63424         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63425         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63426         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63427         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63428         gl_FUNC_FCHOWNAT.
63429         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63430         gl_FUNC_STRFTIME.
63431         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63432         Reported by Ralf Wildenhues.
63433
63434 2007-01-24  Bruno Haible  <bruno@clisp.org>
63435
63436         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63437         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63438         gl_GETADDRINFO.
63439         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63440         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63441         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63442
63443 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63444
63445         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63446         Don't use 'exit'; just return from 'main'.
63447         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63448
63449         * lib/fnmatch_.h: Readjust white space and comments to match
63450         glibc, to avoid spurious diffs.
63451
63452 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63453
63454         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63455         2004-12-01 change by Jakub Jelinek, since this code won't compile
63456         if !LIBC.  Problem reported by Bob Proulx.
63457
63458 2007-01-23  Bruno Haible  <bruno@clisp.org>
63459
63460         * lib/striconveh.c: Include c-strcaseeq.h.
63461         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63462         * modules/striconveh (Depends-on): Add c-strcaseeq.
63463
63464 2007-01-23  Bruno Haible  <bruno@clisp.org>
63465
63466         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63467
63468         * modules/c-strcaseeq: New file.
63469         * lib/c-strcaseeq.h: New file.
63470
63471         * modules/streq: New file.
63472         * lib/streq.h: New file.
63473
63474 2007-01-23  Bruno Haible  <bruno@clisp.org>
63475
63476         * modules/striconveha-tests: New file.
63477         * tests/test-striconveha.c: New file.
63478
63479         * lib/striconveha.h: Include <stdbool.h>.
63480         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
63481         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
63482         (mem_iconveha_notranslit): Renamed from mem_iconveha.
63483         (mem_iconveha): New function.
63484         (str_iconveha_notranslit): Renamed from str_iconveha.
63485         (str_iconveha): New function.
63486         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
63487         c-strcase.
63488
63489 2007-01-23  Bruno Haible  <bruno@clisp.org>
63490
63491         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
63492         encodings without forgiving before trying any encoding with handler.
63493         (str_iconveha): Try all encodings without forgiving before trying any
63494         encoding with handler.
63495
63496 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63497
63498         Import the following changes from libc.
63499
63500         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63501
63502         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
63503
63504         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63505
63506         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
63507         normal_bracket label.
63508
63509         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
63510
63511         [BZ #361]
63512         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
63513         to normal_bracket after fetching the next character.
63514
63515 2007-01-22  Bruno Haible  <bruno@clisp.org>
63516
63517         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
63518         argument.
63519         * lib/striconveh.c (iconv_carefully_1): New function.
63520         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
63521         argument.
63522         (str_cd_iconveh): Update.
63523         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
63524         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
63525         * tests/test-striconveh.c (MAGIC): New macro.
63526         (new_offsets): New function.
63527         (main): Test call with and without offsets.
63528
63529 2007-01-22  Bruno Haible  <bruno@clisp.org>
63530
63531         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
63532         * modules/sys_select (Makefile.am): Likewise.
63533         * modules/sys_socket (Makefile.am): Likewise.
63534         * modules/sys_time (Makefile.am): Likewise.
63535
63536 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63537
63538         * modules/gettimeofday (License): Change from GPL to LGPL, since
63539         gettimeofday is a library function.
63540
63541 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63542
63543         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
63544
63545 2007-01-21  Bruno Haible  <bruno@clisp.org>
63546
63547         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
63548
63549 2007-01-21  Bruno Haible  <bruno@clisp.org>
63550
63551         * modules/striconveha: New file.
63552         * lib/striconveha.h: New file.
63553         * lib/striconveha.c: New file.
63554         * MODULES.html.sh (Internationalization functions): Add striconveha.
63555         * lib/striconv.c (str_iconv): Optimize the case of an empty input
63556         string.
63557         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
63558
63559 2007-01-21  Bruno Haible  <bruno@clisp.org>
63560
63561         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
63562         * lib/striconveh.c (str_iconveh): Likewise.
63563
63564 2007-01-21  Bruno Haible  <bruno@clisp.org>
63565
63566         * lib/striconveh.h (mem_iconveh): New declaration.
63567         * lib/striconveh.c (mem_iconveh): New function.
63568         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
63569
63570 2007-01-21  Bruno Haible  <bruno@clisp.org>
63571
63572         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
63573
63574         * lib/striconveh.h (mem_cd_iconveh): Change specification.
63575         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
63576         original result buffer.
63577         (str_cd_iconveh): Update.
63578         * tests/test-striconveh.c (main): Update.
63579
63580         * lib/striconv.h (mem_cd_iconv): Change specification.
63581         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
63582         result buffer.
63583         (str_cd_iconv): Update.
63584         * tests/test-striconv.c (main): Update.
63585
63586 2007-01-21  Bruno Haible  <bruno@clisp.org>
63587
63588         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
63589
63590 2007-01-20  Jim Meyering  <jim@meyering.net>
63591
63592         * lib/userspec.c (parse_with_separator): If a user or group string
63593         starts with "+", skip the corresponding name-to-ID look-up, since
63594         such a look-up must fail: user and group names may not include "+".
63595
63596 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
63597
63598         * lib/poll.c: Include sys/time.h and time.h unconditionally,
63599         since we now assume the sys_time module.
63600         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
63601         check for sys/time.h; no longer needed.
63602         * modules/poll (Depends-on): Depend on sys_time.
63603
63604 2007-01-18  Bruno Haible  <bruno@clisp.org>
63605
63606         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
63607         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63608
63609         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
63610         gettimeofday.
63611
63612         * tests/test-gettimeofday.c: Include <time.h>.
63613         (dummy): Remove variable.
63614
63615         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
63616         gl_HEADER_SYS_TIME_H.
63617         (gl_HEADER_SYS_TIME_H): New macro.
63618
63619         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
63620         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63621         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
63622         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
63623         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63624         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
63625         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
63626         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63627         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
63628         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
63629         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63630
63631         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
63632         last change; it caused a compilation error when cross-compiling to
63633         Cygwin.
63634
63635 2007-01-18  Jim Meyering  <jim@meyering.net>
63636
63637         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
63638         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
63639         than the race-prone "test -d sys || mkdir sys".
63640         (configure.ac): Use AC_PROG_MKDIR_P.
63641         * modules/sys_select: Likewise.
63642         * modules/sys_socket: Likewise.
63643         * modules/sys_time: Likewise.
63644
63645 2007-01-18  Eric Blake  <ebb9@byu.net>
63646
63647         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
63648         replace gettimeofday.
63649         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
63650         name, to avoid infinite recursion.
63651
63652 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
63653
63654         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
63655         module sys_time.
63656         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
63657         assume timespec.h defines struct timeval.
63658         * lib/settime.c: Likewise.
63659         * lib/utimens.c: Likewise.
63660         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
63661         since we now assume the gettimeofday module.
63662         * lib/tempname.c (__gen_tempname): Likewise.
63663         * lib/gettimeofday.h: Remove.
63664         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
63665         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
63666         Include <time.h>, for 'time()'.
63667         (localtime_buffer_addr): Also use this workaround if
63668         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
63669         to simplify the uses.  All uses changed.
63670         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
63671         that #undef is inside {}, and 'const' follows type name consistently.
63672         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
63673         (gettimeofday): Do not use the maximum possible value for
63674         tv->tv_usec, since that might break usages other than ls.c.
63675         Instead, we'll leave ls.c alone.  This undoes today's patch
63676         by Bruno.  Add a compile-time warning for 1s-clock resolution;
63677         we've never observed the problem but might as well keep the
63678         canary.
63679         * lib/nanosleep.c: Include timespec.h first, for interface check.
63680         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
63681         now assume the sys_time module.
63682         * lib/tempname.c: Likewise.
63683         * lib/timespec.h: Likewise.
63684         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
63685         needed.
63686         * lib/strftime.c: Likewise.
63687         * lib/timespec.h: Likewise.
63688         * lib/posixtm.c: Include posixtm.h first, for interface check.
63689         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
63690         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
63691         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
63692         * lib/sys_time_.h: New file.
63693         * lib/timespec.h (struct timespec): Use long int, not long.
63694         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63695         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
63696         Remove obsolescent call to AC_HEADER_TIME.
63697         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63698         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63699         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63700         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
63701         Likewise.
63702         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
63703         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
63704         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
63705         into the sys_time module.  Check for gettimeofday just once.
63706         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
63707         for gettimeofday signature to just check the signature.  Merely
63708         compile it, since linking doesn't test signature.  Improve test for
63709         whether gettimeofday.o is actually needed.
63710         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
63711         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
63712         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
63713         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63714         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
63715         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
63716         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
63717         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
63718         than worrying about sys/time.h.
63719         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
63720         Don't bother worrying about TIME_WITH_SYS_TIME.
63721         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
63722         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
63723         * m4/sys_time_h.m4: New file.
63724         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
63725         Don't include sys/time.h.  Return from main rather than exiting.
63726         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
63727         all uses changed.
63728         * modules/gethrxtime (Depends-on): Add sys_time.
63729         * modules/gettime (Depends-on): Likewise.
63730         * modules/gettimeofday (Depends-on): Likewise.
63731         * modules/nanosleep (Depends-on): Likewise.
63732         * modules/settime (Depends-on): Likewise.
63733         * modules/tempname (Depends-on): Likewise.
63734         * modules/utimens (Depends-on): Likewise.
63735         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
63736         (Include): Change back to <sys/time.h>.
63737         (Maintainer): Add self.
63738         * modules/sys_time: New file.
63739         * modules/tempname (Depends-on): Add gettimeofday.
63740         * tests/test-gettimeofday.c: Include <sys/time.h>
63741         rather than gettimeofday.h.
63742
63743 2007-01-17  Bruno Haible  <bruno@clisp.org>
63744
63745         * gnulib-tool (func_get_license): Revert last patch. Instead, let
63746         the license default to GPL.
63747         (func_create_testdir): Don't complain if a module is LGPL and its
63748         tests module depends on GPLed modules.
63749
63750 2007-01-17  Bruno Haible  <bruno@clisp.org>
63751
63752         * lib/gettimeofday.c (gettimeofday): Add code for the case
63753         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
63754         maximum possible value for tv->tv_usec, rather than the minimum one.
63755
63756 2005-10-08  Martin Lambers  <marlam@marlam.de>
63757 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63758 2007-01-16  Bruno Haible  <bruno@clisp.org>
63759
63760         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
63761         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
63762         gl_FUNC_GETTIMEOFDAY.
63763         (Include): Add gettimeofday.h.
63764         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
63765         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
63766         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
63767         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
63768         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
63769         * lib/gettimeofday.h: New file.
63770         * lib/gettimeofday.c: Include <sys/timeb.h>.
63771         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
63772         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63773         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
63774         fall back on time().
63775
63776         * tests/test-gettimeofday.c: New file.
63777         * modules/gettimeofday-tests: New file.
63778
63779 2007-01-16  Eric Blake  <ebb9@byu.net>
63780
63781         * modules/fnmatch (Depends-on): Depend on wchar.
63782         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
63783         * m4/fnmatch.m4: Likewise.
63784         * modules/mbchar (Makefile.am): Assume <wchar.h>.
63785         * m4/mbchar.m4: Likewise.
63786         * modules/mbswidth (Depends-on): Depend on wchar.
63787         * lib/mbswidth.c: Assume <wchar.h>.
63788         * m4/mbswidth.m4: Likewise.
63789         * modules/quotearg (Depends-on): Depend on wchar.
63790         * lib/quotearg.c: Assume <wchar.h>.
63791         * m4/quotearg.m4: Likewise.
63792         * modules/regex (Depends-on): Depend on wchar.
63793         * lib/regex_internal.h: Assume <wchar.h>.
63794         * m4/regex.m4: Likewise.
63795         * modules/stdint (Depends-on): Depend on wchar.
63796         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
63797         * m4/stdint.m4: Likewise.
63798         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
63799         * modules/strftime (Depends-on): Depend on wchar.
63800         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
63801         * modules/strtol (Depends-on): Depend on wchar.
63802         * lib/strtol.c: Assume <wchar.h>.
63803         * modules/wcwidth (Depends-on): Depend on wchar.
63804         * lib/wcwidth.h: Assume <wchar.h>.
63805         * m4/wcwidth.m4: Likewise.
63806
63807 2007-01-16  Bruno Haible  <bruno@clisp.org>
63808
63809         * modules/csharpexec-script: New, created from...
63810         * modules/csharpexec: ... this.
63811
63812 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
63813
63814         * modules/javaexec-script: New, created from...
63815         * modules/javaexec: ... this.
63816
63817 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63818
63819         * modules/poll (Dependencies): Add sys_select.
63820
63821 2007-01-15  Jim Meyering  <jim@meyering.net>
63822
63823         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
63824         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
63825         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
63826         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
63827
63828 2007-01-15  Bruno Haible  <bruno@clisp.org>
63829
63830         * modules/striconveh: New file.
63831         * lib/striconveh.h: New file.
63832         * lib/striconveh.c: New file.
63833         * MODULES.html.sh (Internationalization functions): Add striconveh.
63834
63835         * modules/striconveh-tests: New file.
63836         * tests/test-striconveh.c: New file.
63837
63838 2007-01-15  Bruno Haible  <bruno@clisp.org>
63839
63840         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
63841         not from GNU libiconv or GNU libc.
63842
63843 2007-01-15  Bruno Haible  <bruno@clisp.org>
63844
63845         * doc/gnulib-intro.texi (Copyright): Explain the different license
63846         terms for module descriptions, autoconf macros, tests, documentation.
63847
63848 2007-01-14  Bruno Haible  <bruno@clisp.org>
63849
63850         * modules/striconv-tests: New file.
63851         * tests/test-striconv.c: New file.
63852
63853 2007-01-14  Bruno Haible  <bruno@clisp.org>
63854
63855         * modules/iconv-tests: New file.
63856         * tests/test-iconv.c: New file.
63857
63858 2007-01-14  Bruno Haible  <bruno@clisp.org>
63859
63860         * gnulib-tool (func_get_license): For test modules, use the license of
63861         the main module.
63862
63863 2007-01-14  Bruno Haible  <bruno@clisp.org>
63864
63865         * modules/iconv (Include): Clarify that <iconv.h> can only be included
63866         if iconv is found to exist.
63867
63868 2007-01-14  Bruno Haible  <bruno@clisp.org>
63869
63870         * modules/c-ctype-tests: New file.
63871         * tests/test-c-ctype.c: New file.
63872
63873 2007-01-14  Bruno Haible  <bruno@clisp.org>
63874
63875         * modules/binary-io-tests: New file.
63876         * tests/test-binary-io.sh: New file.
63877         * tests/test-binary-io.c: New file.
63878
63879 2007-01-14  Bruno Haible  <bruno@clisp.org>
63880
63881         * modules/array-oset-tests: New file.
63882         * tests/test-array_oset.c: New file.
63883
63884 2007-01-14  Bruno Haible  <bruno@clisp.org>
63885
63886         * modules/array-list-tests: New file.
63887         * tests/test-array_list.c: New file.
63888
63889 2007-01-14  Bruno Haible  <bruno@clisp.org>
63890
63891         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
63892         and make.
63893         Reported by Simon Josefsson in
63894         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
63895
63896 2007-01-14  Bruno Haible  <bruno@clisp.org>
63897
63898         * modules/allocsa-tests: New file.
63899         * tests/test-allocsa.c: New file.
63900
63901 2007-01-14  Bruno Haible  <bruno@clisp.org>
63902
63903         * modules/fchdir (Depends-on): Add absolute-header.
63904         * modules/unistd (Depends-on): Likewise.
63905
63906 2006-12-30  Bruno Haible  <bruno@clisp.org>
63907
63908         * modules/fchdir: New file.
63909         * modules/unistd (Files): Add lib/unistd_.h.
63910         (Makefile.am): Generate unistd.h from unistd_.h.
63911         * lib/fchdir.c: New file.
63912         * lib/dirent_.h: New file.
63913         * lib/unistd_.h: New file.
63914         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
63915         * m4/fchdir.m4: New file.
63916         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
63917         (gl_HEADER_UNISTD): Invoke it.
63918         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
63919         function.
63920         * lib/backupfile.c (opendir, closedir): Undefine.
63921         * lib/chown.c (open, close): Undefine.
63922         * lib/clean-temp.c (open, close): Undefine.
63923         * lib/copy-file.c (open, close): Undefine.
63924         * lib/execute.c (open, close): Undefine.
63925         * lib/fsusage.c (open, close): Undefine.
63926         * lib/gc-gnulib.c (open, close): Undefine.
63927         * lib/getcwd.c (opendir, closedir): Undefine.
63928         * lib/glob.c (opendir, closedir): Undefine.
63929         * lib/javacomp.c (open, close): Undefine.
63930         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
63931         * lib/openat-proc.c (open, close): Undefine.
63932         * lib/pagealign_alloc.c (open, close): Undefine.
63933         * lib/pipe.c (open, close): Undefine.
63934         * lib/progreloc.c (open, close): Undefine.
63935         * lib/savedir.c (opendir, closedir): Undefine.
63936         * lib/utime.c (open, close): Undefine.
63937         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
63938
63939 2007-01-10  Bruno Haible  <bruno@clisp.org>
63940
63941         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
63942
63943 2007-01-12  Eric Blake  <ebb9@byu.net>
63944
63945         Provide a robust <wchar.h>.  Further simplifications are now
63946         possible in other modules, but not included here.
63947         * modules/wchar: New module.
63948         * m4/wchar.m4: New file.
63949         * lib/wchar_.h: Likewise.
63950         * modules/mbchar (Depends-on): Depend on wchar, as the first use
63951         of the new module.
63952         * MODULES.html.sh (Extended multibyte and wide character utilities):
63953         New section.
63954
63955 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
63956
63957         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
63958         to a reasonable default for memory allocation.
63959         (xreadlink): Don't allocate a huge buffer, to work around a buggy
63960         file system that reports garbage st_size values for symlinks.
63961         Problem reported by Liyang Hu.
63962
63963 2007-01-11  Simon Josefsson  <simon@josefsson.org>
63964
63965         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
63966         Emacs .#* auto-save files).
63967
63968 2007-01-11  Bruno Haible  <bruno@clisp.org>
63969
63970         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
63971         directory.
63972
63973 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63974
63975         Use @...@ consistently in lib/wctype_.h.
63976         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
63977         on it being set to 1 or 0.
63978         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
63979         go back to AC_SUBSTing it.
63980         * modules/wctype (Makefile.am): Undo previous change.
63981
63982 2007-01-10  Eric Blake  <ebb9@byu.net>
63983
63984         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
63985         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
63986         * modules/wctype (Makefile.am): Likewise.
63987         Reported by Chris McGuire.
63988
63989 2007-01-10  Jim Meyering  <jim@meyering.net>
63990
63991         fts.c: a small readability/maintainability improvement
63992         * lib/fts.c (fts_read): Make this code slightly more readable and
63993         maintainable by hoisting the "sp->fts_cur = p" assignments to
63994         immediately follow the statements that set P.  Derived from
63995         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
63996
63997 2007-01-10  Eric Blake  <ebb9@byu.net>
63998
63999         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64000         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64001         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64002         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64003         Reported by Chris McGuire.
64004
64005 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64006
64007         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64008         in sed script.
64009
64010 2007-01-09  Bruno Haible  <bruno@clisp.org>
64011
64012         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64013         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64014         variables.
64015         (func_module): Use them.
64016
64017 2007-01-09  Bruno Haible  <bruno@clisp.org>
64018
64019         * modules/unistr/base: New file.
64020         * lib/unistr.h: New file.
64021
64022         * modules/unistr/u8-to-u16: New file.
64023         * lib/unistr/u8-to-u16.c: New file.
64024
64025         * modules/unistr/u8-to-u32: New file.
64026         * lib/unistr/u8-to-u32.c: New file.
64027
64028         * modules/unistr/u16-to-u8: New file.
64029         * lib/unistr/u16-to-u8.c: New file.
64030
64031         * modules/unistr/u16-to-u32: New file.
64032         * lib/unistr/u16-to-u32.c: New file.
64033
64034         * modules/unistr/u32-to-u8: New file.
64035         * lib/unistr/u32-to-u8.c: New file.
64036
64037         * modules/unistr/u32-to-u16: New file.
64038         * lib/unistr/u32-to-u16.c: New file.
64039
64040         * modules/unistr/u8-check: New file.
64041         * modules/unistr/u16-check: New file.
64042         * modules/unistr/u32-check: New file.
64043         * lib/unistr/u8-check.c: New file.
64044         * lib/unistr/u16-check.c: New file.
64045         * lib/unistr/u32-check.c: New file.
64046
64047         * modules/unistr/u8-chr: New file.
64048         * modules/unistr/u16-chr: New file.
64049         * modules/unistr/u32-chr: New file.
64050         * lib/unistr/u8-chr.c: New file.
64051         * lib/unistr/u16-chr.c: New file.
64052         * lib/unistr/u32-chr.c: New file.
64053
64054         * modules/unistr/u8-cmp: New file.
64055         * modules/unistr/u16-cmp: New file.
64056         * modules/unistr/u32-cmp: New file.
64057         * lib/unistr/u8-cmp.c: New file.
64058         * lib/unistr/u16-cmp.c: New file.
64059         * lib/unistr/u32-cmp.c: New file.
64060
64061         * modules/unistr/u8-cpy: New file.
64062         * modules/unistr/u16-cpy: New file.
64063         * modules/unistr/u32-cpy: New file.
64064         * lib/unistr/u8-cpy.c: New file.
64065         * lib/unistr/u16-cpy.c: New file.
64066         * lib/unistr/u32-cpy.c: New file.
64067         * lib/unistr/u-cpy.h: New file.
64068
64069         * modules/unistr/u8-cpy-alloc: New file.
64070         * modules/unistr/u16-cpy-alloc: New file.
64071         * modules/unistr/u32-cpy-alloc: New file.
64072         * lib/unistr/u8-cpy-alloc.c: New file.
64073         * lib/unistr/u16-cpy-alloc.c: New file.
64074         * lib/unistr/u32-cpy-alloc.c: New file.
64075         * lib/unistr/u-cpy-alloc.h: New file.
64076
64077         * modules/unistr/u8-endswith: New file.
64078         * modules/unistr/u16-endswith: New file.
64079         * modules/unistr/u32-endswith: New file.
64080         * lib/unistr/u8-endswith.c: New file.
64081         * lib/unistr/u16-endswith.c: New file.
64082         * lib/unistr/u32-endswith.c: New file.
64083         * lib/unistr/u-endswith.h: New file.
64084
64085         * modules/unistr/u8-mblen: New file.
64086         * modules/unistr/u16-mblen: New file.
64087         * modules/unistr/u32-mblen: New file.
64088         * lib/unistr/u8-mblen.c: New file.
64089         * lib/unistr/u16-mblen.c: New file.
64090         * lib/unistr/u32-mblen.c: New file.
64091
64092         * modules/unistr/u8-mbtouc: New file.
64093         * modules/unistr/u16-mbtouc: New file.
64094         * modules/unistr/u32-mbtouc: New file.
64095         * lib/unistr/u8-mbtouc.c: New file.
64096         * lib/unistr/u16-mbtouc.c: New file.
64097         * lib/unistr/u32-mbtouc.c: New file.
64098
64099         * modules/unistr/u8-mbtouc-safe: New file.
64100         * modules/unistr/u16-mbtouc-safe: New file.
64101         * modules/unistr/u32-mbtouc-safe: New file.
64102         * lib/unistr/u8-mbtouc-safe.c: New file.
64103         * lib/unistr/u16-mbtouc-safe.c: New file.
64104         * lib/unistr/u32-mbtouc-safe.c: New file.
64105
64106         * modules/unistr/u8-move: New file.
64107         * modules/unistr/u16-move: New file.
64108         * modules/unistr/u32-move: New file.
64109         * lib/unistr/u8-move.c: New file.
64110         * lib/unistr/u16-move.c: New file.
64111         * lib/unistr/u32-move.c: New file.
64112         * lib/unistr/u-move.h: New file.
64113
64114         * modules/unistr/u8-next: New file.
64115         * modules/unistr/u16-next: New file.
64116         * modules/unistr/u32-next: New file.
64117         * lib/unistr/u8-next.c: New file.
64118         * lib/unistr/u16-next.c: New file.
64119         * lib/unistr/u32-next.c: New file.
64120
64121         * modules/unistr/u8-prev: New file.
64122         * modules/unistr/u16-prev: New file.
64123         * modules/unistr/u32-prev: New file.
64124         * lib/unistr/u8-prev.c: New file.
64125         * lib/unistr/u16-prev.c: New file.
64126         * lib/unistr/u32-prev.c: New file.
64127
64128         * modules/unistr/u8-set: New file.
64129         * modules/unistr/u16-set: New file.
64130         * modules/unistr/u32-set: New file.
64131         * lib/unistr/u8-set.c: New file.
64132         * lib/unistr/u16-set.c: New file.
64133         * lib/unistr/u32-set.c: New file.
64134         * lib/unistr/u-set.h: New file.
64135
64136         * modules/unistr/u8-startswith: New file.
64137         * modules/unistr/u16-startswith: New file.
64138         * modules/unistr/u32-startswith: New file.
64139         * lib/unistr/u8-startswith.c: New file.
64140         * lib/unistr/u16-startswith.c: New file.
64141         * lib/unistr/u32-startswith.c: New file.
64142         * lib/unistr/u-startswith.h: New file.
64143
64144         * modules/unistr/u8-stpcpy: New file.
64145         * modules/unistr/u16-stpcpy: New file.
64146         * modules/unistr/u32-stpcpy: New file.
64147         * lib/unistr/u8-stpcpy.c: New file.
64148         * lib/unistr/u16-stpcpy.c: New file.
64149         * lib/unistr/u32-stpcpy.c: New file.
64150         * lib/unistr/u-stpcpy.h: New file.
64151
64152         * modules/unistr/u8-stpncpy: New file.
64153         * modules/unistr/u16-stpncpy: New file.
64154         * modules/unistr/u32-stpncpy: New file.
64155         * lib/unistr/u8-stpncpy.c: New file.
64156         * lib/unistr/u16-stpncpy.c: New file.
64157         * lib/unistr/u32-stpncpy.c: New file.
64158         * lib/unistr/u-stpncpy.h: New file.
64159
64160         * modules/unistr/u8-strcat: New file.
64161         * modules/unistr/u16-strcat: New file.
64162         * modules/unistr/u32-strcat: New file.
64163         * lib/unistr/u8-strcat.c: New file.
64164         * lib/unistr/u16-strcat.c: New file.
64165         * lib/unistr/u32-strcat.c: New file.
64166         * lib/unistr/u-strcat.h: New file.
64167
64168         * modules/unistr/u8-strchr: New file.
64169         * modules/unistr/u16-strchr: New file.
64170         * modules/unistr/u32-strchr: New file.
64171         * lib/unistr/u8-strchr.c: New file.
64172         * lib/unistr/u16-strchr.c: New file.
64173         * lib/unistr/u32-strchr.c: New file.
64174
64175         * modules/unistr/u8-strcmp: New file.
64176         * modules/unistr/u16-strcmp: New file.
64177         * modules/unistr/u32-strcmp: New file.
64178         * lib/unistr/u8-strcmp.c: New file.
64179         * lib/unistr/u16-strcmp.c: New file.
64180         * lib/unistr/u32-strcmp.c: New file.
64181
64182         * modules/unistr/u8-strcpy: New file.
64183         * modules/unistr/u16-strcpy: New file.
64184         * modules/unistr/u32-strcpy: New file.
64185         * lib/unistr/u8-strcpy.c: New file.
64186         * lib/unistr/u16-strcpy.c: New file.
64187         * lib/unistr/u32-strcpy.c: New file.
64188         * lib/unistr/u-strcpy.h: New file.
64189
64190         * modules/unistr/u8-strcspn: New file.
64191         * modules/unistr/u16-strcspn: New file.
64192         * modules/unistr/u32-strcspn: New file.
64193         * lib/unistr/u8-strcspn.c: New file.
64194         * lib/unistr/u16-strcspn.c: New file.
64195         * lib/unistr/u32-strcspn.c: New file.
64196         * lib/unistr/u-strcspn.h: New file.
64197
64198         * modules/unistr/u8-strdup: New file.
64199         * modules/unistr/u16-strdup: New file.
64200         * modules/unistr/u32-strdup: New file.
64201         * lib/unistr/u8-strdup.c: New file.
64202         * lib/unistr/u16-strdup.c: New file.
64203         * lib/unistr/u32-strdup.c: New file.
64204         * lib/unistr/u-strdup.h: New file.
64205
64206         * modules/unistr/u8-strlen: New file.
64207         * modules/unistr/u16-strlen: New file.
64208         * modules/unistr/u32-strlen: New file.
64209         * lib/unistr/u8-strlen.c: New file.
64210         * lib/unistr/u16-strlen.c: New file.
64211         * lib/unistr/u32-strlen.c: New file.
64212         * lib/unistr/u-strlen.h: New file.
64213
64214         * modules/unistr/u8-strmblen: New file.
64215         * modules/unistr/u16-strmblen: New file.
64216         * modules/unistr/u32-strmblen: New file.
64217         * lib/unistr/u8-strmblen.c: New file.
64218         * lib/unistr/u16-strmblen.c: New file.
64219         * lib/unistr/u32-strmblen.c: New file.
64220
64221         * modules/unistr/u8-strmbtouc: New file.
64222         * modules/unistr/u16-strmbtouc: New file.
64223         * modules/unistr/u32-strmbtouc: New file.
64224         * lib/unistr/u8-strmbtouc.c: New file.
64225         * lib/unistr/u16-strmbtouc.c: New file.
64226         * lib/unistr/u32-strmbtouc.c: New file.
64227
64228         * modules/unistr/u8-strncat: New file.
64229         * modules/unistr/u16-strncat: New file.
64230         * modules/unistr/u32-strncat: New file.
64231         * lib/unistr/u8-strncat.c: New file.
64232         * lib/unistr/u16-strncat.c: New file.
64233         * lib/unistr/u32-strncat.c: New file.
64234         * lib/unistr/u-strncat.h: New file.
64235
64236         * modules/unistr/u8-strncmp: New file.
64237         * modules/unistr/u16-strncmp: New file.
64238         * modules/unistr/u32-strncmp: New file.
64239         * lib/unistr/u8-strncmp.c: New file.
64240         * lib/unistr/u16-strncmp.c: New file.
64241         * lib/unistr/u32-strncmp.c: New file.
64242
64243         * modules/unistr/u8-strncpy: New file.
64244         * modules/unistr/u16-strncpy: New file.
64245         * modules/unistr/u32-strncpy: New file.
64246         * lib/unistr/u8-strncpy.c: New file.
64247         * lib/unistr/u16-strncpy.c: New file.
64248         * lib/unistr/u32-strncpy.c: New file.
64249         * lib/unistr/u-strncpy.h: New file.
64250
64251         * modules/unistr/u8-strnlen: New file.
64252         * modules/unistr/u16-strnlen: New file.
64253         * modules/unistr/u32-strnlen: New file.
64254         * lib/unistr/u8-strnlen.c: New file.
64255         * lib/unistr/u16-strnlen.c: New file.
64256         * lib/unistr/u32-strnlen.c: New file.
64257         * lib/unistr/u-strnlen.h: New file.
64258
64259         * modules/unistr/u8-strpbrk: New file.
64260         * modules/unistr/u16-strpbrk: New file.
64261         * modules/unistr/u32-strpbrk: New file.
64262         * lib/unistr/u8-strpbrk.c: New file.
64263         * lib/unistr/u16-strpbrk.c: New file.
64264         * lib/unistr/u32-strpbrk.c: New file.
64265         * lib/unistr/u-strpbrk.h: New file.
64266
64267         * modules/unistr/u8-strrchr: New file.
64268         * modules/unistr/u16-strrchr: New file.
64269         * modules/unistr/u32-strrchr: New file.
64270         * lib/unistr/u8-strrchr.c: New file.
64271         * lib/unistr/u16-strrchr.c: New file.
64272         * lib/unistr/u32-strrchr.c: New file.
64273
64274         * modules/unistr/u8-strspn: New file.
64275         * modules/unistr/u16-strspn: New file.
64276         * modules/unistr/u32-strspn: New file.
64277         * lib/unistr/u8-strspn.c: New file.
64278         * lib/unistr/u16-strspn.c: New file.
64279         * lib/unistr/u32-strspn.c: New file.
64280         * lib/unistr/u-strspn.h: New file.
64281
64282         * modules/unistr/u8-strstr: New file.
64283         * modules/unistr/u16-strstr: New file.
64284         * modules/unistr/u32-strstr: New file.
64285         * lib/unistr/u8-strstr.c: New file.
64286         * lib/unistr/u16-strstr.c: New file.
64287         * lib/unistr/u32-strstr.c: New file.
64288         * lib/unistr/u-strstr.h: New file.
64289
64290         * modules/unistr/u8-strtok: New file.
64291         * modules/unistr/u16-strtok: New file.
64292         * modules/unistr/u32-strtok: New file.
64293         * lib/unistr/u8-strtok.c: New file.
64294         * lib/unistr/u16-strtok.c: New file.
64295         * lib/unistr/u32-strtok.c: New file.
64296         * lib/unistr/u-strtok.h: New file.
64297
64298         * modules/unistr/u8-uctomb: New file.
64299         * modules/unistr/u16-uctomb: New file.
64300         * modules/unistr/u32-uctomb: New file.
64301         * lib/unistr/u8-uctomb.c: New file.
64302         * lib/unistr/u16-uctomb.c: New file.
64303         * lib/unistr/u32-uctomb.c: New file.
64304
64305         * MODULES.html.sh (Unicode string functions): Add the new modules.
64306
64307 2007-01-08  Bruno Haible  <bruno@clisp.org>
64308
64309         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64310         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64311         subdirectories.
64312
64313 2007-01-08  Karl Berry  <karl@gnu.org>
64314
64315         * doc/error.texi: mention that main() fns must set program_name
64316         when progname is used.
64317
64318 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64319
64320         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64321         WCTYPE_H is empty, for the benefit of builds from non-distclean
64322         directories.  Problem reported by Eric Blake in
64323         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64324
64325 2007-01-08  Bruno Haible  <bruno@clisp.org>
64326
64327         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64328         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64329         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64330         PROVIDE_CANONICALIZE_FILENAME_MODE.
64331         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64332
64333 2007-01-08  Bruno Haible  <bruno@clisp.org>
64334
64335         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64336         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64337         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64338         * lib/fts.c: Likewise.
64339         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64340
64341 2006-12-25  Bruno Haible  <bruno@clisp.org>
64342
64343         * modules/utf8-ucs4-safe: New file.
64344         * lib/utf8-ucs4-safe.h: New file.
64345         * lib/unistr/utf8-ucs4-safe.c: New file.
64346
64347         * modules/utf16-ucs4-safe: New file.
64348         * lib/utf16-ucs4-safe.h: New file.
64349         * lib/unistr/utf16-ucs4-safe.c: New file.
64350
64351         * MODULES.html.sh (Unicode string functions): Add the new modules.
64352
64353 2007-01-08  Bruno Haible  <bruno@clisp.org>
64354
64355         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64356         (Depends-on): Add unitypes.
64357         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64358         (u8_mbtouc_aux): Move out to separate file.
64359         (u8_mbtouc): Use ucs4_t, uint8_t types.
64360         * lib/unistr/utf8-ucs4.c: New file.
64361
64362         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64363         (Depends-on): Add unitypes.
64364         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64365         (u16_mbtouc_aux): Move out to separate file.
64366         (u16_mbtouc): Use ucs4_t, uint16_t types.
64367         * lib/unistr/utf16-ucs4.c: New file.
64368
64369         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64370         (Depends-on): Add unitypes.
64371         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64372         (u8_uctomb_aux): Move out to separate file.
64373         (u8_uctomb): Use ucs4_t, uint8_t types.
64374         * lib/unistr/ucs4-utf8.c: New file.
64375
64376         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64377         (Depends-on): Add unitypes.
64378         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64379         (u16_uctomb_aux): Move out to separate file.
64380         (u16_uctomb): Use ucs4_t, uint16_t types.
64381         * lib/unistr/ucs4-utf16.c: New file.
64382
64383 2006-12-25  Bruno Haible  <bruno@clisp.org>
64384
64385         * modules/unitypes: New file.
64386         * lib/unitypes.h: New file.
64387         * MODULES.html.sh (func_all_modules): New section "Unicode string
64388         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64389         this section. Add unitypes.
64390
64391 2007-01-08  Bruno Haible  <bruno@clisp.org>
64392
64393         Avoid variable names that conflict with those from libtool.
64394         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64395         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64396         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64397         library_names_spec to acl_library_names_spec, hardcode_* to
64398         acl_hardcode_*.
64399         Reported by Ralf Wildenhues.
64400
64401 2007-01-08  Bruno Haible  <bruno@clisp.org>
64402
64403         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64404         definition.
64405         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64406         definition.
64407         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64408         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64409         definition.
64410         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64411         definition.
64412         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64413         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64414         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64415         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64416         definition.
64417         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64418         definition.
64419         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64420         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64421         GC_USE_<algorithm>.
64422         * lib/gc-libgcrypt.c: Likewise.
64423         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64424         * modules/gc-arctwo (configure.ac): Likewise.
64425         * modules/gc-des (configure.ac): Likewise.
64426         * modules/gc-hmac-md5 (configure.ac): Likewise.
64427         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64428         * modules/gc-md2 (configure.ac): Likewise.
64429         * modules/gc-md4 (configure.ac): Likewise.
64430         * modules/gc-md5 (configure.ac): Likewise.
64431         * modules/gc-random (configure.ac): Likewise.
64432         * modules/gc-rijndael (configure.ac): Likewise.
64433         * modules/gc-sha1 (configure.ac): Likewise.
64434
64435 2007-01-08  Bruno Haible  <bruno@clisp.org>
64436
64437         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64438         macro definition.
64439         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64440         definition.
64441         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64442         definition.
64443         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64444         * modules/fcntl-safer (configure.ac): Likewise.
64445         * modules/fopen-safer (configure.ac): Likewise.
64446         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64447         GNULIB_FWRITEERROR macro definition.
64448
64449 2007-01-08  Bruno Haible  <bruno@clisp.org>
64450
64451         * m4/gnulib-common.m4: New file.
64452         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64453         (func_get_filelist): Add m4/gnulib-common.m4.
64454
64455 2007-01-08  Bruno Haible  <bruno@clisp.org>
64456
64457         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64458         command.
64459
64460 2007-01-08  Jim Meyering  <jim@meyering.net>
64461
64462         Use a more robust test for a "can't happen" condition.
64463         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64464         narrowed the st_size value.  Presuming the "can't happen" condition
64465         is true, that narrowing could conceivably convert an invalid st_size
64466         value into a valid one.  Instead, use a change based on Matthew
64467         Woehlke's original patch.
64468
64469         Slight readability improvement: use an assert-like macro
64470         in place of literal "abort ()" uses.
64471         * lib/fts.c (fts_assert): Define.
64472         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
64473         Use this macro instead of a bare 'abort'.
64474
64475 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
64476
64477         Don't worry about using IRIX 5.3's wctype.h broken definitions;
64478         simply work around them.
64479         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
64480         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
64481         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
64482         declaring.
64483         Don't bother to define as macros, since the standard doesn't require it.
64484         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
64485         longer worry about IRIX 5.3.
64486         (HAVE_WCTYPE_CTMP_BUG): Remove.
64487
64488 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64489
64490         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
64491         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
64492         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64493         Problems reported by Georg Schwarz for IRIX 5.3.
64494
64495         * gnulib-tool (autoconf_minversion): Take the maximum version number
64496         found, not the minimum.  Problem reported by James Youngman.
64497
64498 2007-01-03  Karl Berry  <karl@gnu.org>
64499
64500         * doc/error.texi: new file, explaining interaction with progname.
64501         * doc/gnulib.texi: include it.  Update copyright.
64502
64503 2007-01-03  Simon Josefsson  <simon@josefsson.org>
64504
64505         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
64506         AC_CANONICAL_HOST, to improve autobuild outputs.
64507
64508 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
64509             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64510
64511         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
64512         sockets, server sockets, and other file descriptors.  Count errors
64513         to compute the return value.  Reorder the code a bit to be easier
64514         to follow.  Don't set event bits that were not requested (except
64515         POLLERR and POLLHUP).
64516
64517 2007-01-01  Bruno Haible  <bruno@clisp.org>
64518
64519         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
64520
64521 2007-01-03  Jim Meyering  <jim@meyering.net>
64522
64523         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
64524
64525 2007-01-02  Bruno Haible  <bruno@clisp.org>
64526
64527         * modules/settime (Include): Require timespec.h.
64528         * modules/nanosleep (Include): Likewise.
64529
64530 2007-01-01  Bruno Haible  <bruno@clisp.org>
64531
64532         * gnulib-tool (func_emit_copyright_notice): Bump year.
64533         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
64534
64535 2007-01-01  Bruno Haible  <bruno@clisp.org>
64536
64537         Improve support for OpenBSD.
64538         * build-aux/config.rpath (libname_spec): Export.
64539         (library_names_spec): New variable. Export.
64540         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
64541         library_names_spec from the config.rpath output. Locate shared library
64542         through the name pattern in library_names_spec.
64543
64544 2007-01-01  Eric Blake  <ebb9@byu.net>
64545
64546         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
64547
64548 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
64549
64550         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
64551         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
64552         assume the C locale, and avoid an "eval" that could cause trouble.
64553         Problem with SORT reported by Bob Proulx.
64554
64555         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
64556         Define.  Trivial patch from Henning Nielsen Lund, originally
64557         sent to bug-grep@gnu.org today.
64558
64559 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
64560
64561         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
64562         struct stat.  Problem reported by Henning Nielsen Lund.
64563         * lib/acl.c: Include acl.h first, to check interface.  Don't
64564         bother to include sys/types.h and sys/stat.h again.
64565
64566 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64567
64568         Import the following change from libc; problem reported by
64569         Sven Verdoolaege.
64570
64571         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
64572
64573         [BZ #1373]
64574         * lib/argp.h: Remove __NTH for __argp_usage inline function.
64575
64576 2006-12-28  Jim Meyering  <jim@meyering.net>
64577
64578         * build-aux/announce-gen: Do not assume that the package
64579         builds any of tar.gz, tar.bz2, and .xdelta files.
64580         Suggestion from Simon Josefsson.
64581
64582 2006-12-28  Simon Josefsson  <simon@josefsson.org>
64583
64584         * modules/announce-gen: New file.
64585
64586 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
64587
64588         * lib/mbchar.h: Just include <wctype.h>; the wctype module
64589         handles its gotchas now.
64590         * lib/mbswidth.c: Likewise.
64591         * lib/wcwidth.h: Likewise.
64592         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
64593         and iswcntrl; the wctype module does this stuff now.
64594         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64595         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64596         * modules/mbchar (Depends-on): Add wctype.
64597         * modules/mbswidth (Depends-on): Likewise.
64598         * modules/wcwidth (Depends-on): Likewise.
64599
64600 2006-12-27  Eric Blake  <ebb9@byu.net>
64601
64602         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
64603         module uses more than what <wctype.h> is required to provide.
64604
64605 2006-12-26  Eric Blake  <ebb9@byu.net>
64606
64607         * gnulib-tool (sed_extract_prog): Avoid space-tab.
64608
64609 2006-12-26  Eric Blake  <ebb9@byu.net>
64610
64611         * modules/absolute-header: New module.
64612         * modules/fcntl (Depends-on): Depend on it.
64613         * modules/inttypes (Depends-on): Likewise.
64614         * modules/stdint (Depends-on): Likewise.
64615         * modules/sys_stat (Depends-on): Likewise.
64616         * modules/wctype (Depends-on): Likewise.
64617         * MODULES.html.sh (Support for building libraries and
64618         executables): Document it.
64619
64620 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
64621
64622         * gnulib-tool (SED): Remove, undoing previous change.
64623         The problem was that it broke coreutils on Solaris, because
64624         "sed --posix" leaked into a makefile.
64625         (sed): New alias, if 'alias' and GNU sed.
64626
64627 2006-12-24  Jim Meyering  <jim@meyering.net>
64628
64629         Work around an fchownat bug in glibc-2.4:
64630         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
64631         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
64632         in spite of the -P option.
64633         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
64634         New macros.
64635         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
64636         * modules/openat (Files): Add lib/fchownat.c.
64637         * lib/openat.c (fchownat): Don't define here.  Move to...
64638         * lib/fchownat.c: ...this new file.
64639
64640 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64641
64642         Fix bug reported by Bruno Haible in
64643         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
64644         where quotearg.c didn't compile on Mac OS X 10.2 because it
64645         lacks <wchar.h> and wint_t.
64646         * lib/wctype_.h (__wctype_wint_t): New type.
64647         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
64648         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
64649         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
64650         Arg is now of type __wctype_wint_t, not wint_t.
64651         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
64652         substitute HAVE_WINT_T.
64653         * modules/wctype (Files): Add m4/wint_t.m4.
64654         (wctype.h): Substitute HAVE_WINT_T.
64655
64656 2006-12-23  Bruno Haible  <bruno@clisp.org>
64657
64658         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
64659
64660 2006-12-23  Bruno Haible  <bruno@clisp.org>
64661
64662         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
64663         S_ISLNK.
64664         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
64665         mingw.
64666
64667 2006-12-22  Bruno Haible  <bruno@clisp.org>
64668
64669         * lib/copy-file.c: Include acl.h.
64670         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
64671         Close the file descriptors only after being done with copy_acl.
64672         * modules/copy-file (Depends-on): Add acl.
64673
64674 2006-12-22  Bruno Haible  <bruno@clisp.org>
64675
64676         * gnulib-tool (SED): New variable.
64677         Use $SED instead of sed everywhere.
64678
64679 2006-12-22  Bruno Haible  <bruno@clisp.org>
64680
64681         * modules/no-c++: New file.
64682         * m4/no-c++.m4: New file.
64683         * MODULES.html.sh (Support for building libraries and executables):
64684         Add no-c++.
64685
64686 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
64687
64688         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
64689         Include <limits.h>, and use its INT_MAX to rewrite the
64690         j loop so that it does not overflow 'int'.  Problem reported by
64691         Ralf Wildenhues in
64692         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
64693         Play it safe by shifting left by 1 rather than multiplying by 2,
64694         as GCC is less likely to optimize this away when the value
64695         is signed (when it assumes overflow leads to undefined behavior).
64696         Also, don't assume time_t uses two's complement.
64697
64698 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
64699
64700         * MODULES.html.sh: New module wctype.
64701         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
64702         * lib/fnmatch.c: Don't bother to include <wchar.h> before
64703         <wctype.h>, since the new wctype module should fix this.
64704         * lib/quotearg.c: Include <wctype.h> unconditionally, since
64705         the wctype module should arrange for it.
64706         * lib/regex_internal.h: Likewise.
64707         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
64708         since the wctype module should handle this now.
64709         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
64710         * modules/fnmatch (Depends-on): Add wctype.
64711         * modules/quotearg (Depends-on): Likewise.
64712         * modules/regex (Depends-on): Likewise.
64713
64714 2006-12-19  Bruno Haible  <bruno@clisp.org>
64715
64716         * lib/strdup.h [C++]: Wrap definitions in extern "C".
64717         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
64718
64719 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64720
64721         * modules/savewd (Depends-on): Fix dependency on fcntl.
64722
64723 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
64724
64725         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
64726         conforms to C99, rather than relying on the user's environment
64727         setting of STDINT_H.
64728
64729 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
64730         and Eric Blake  <ebb9@byu.net>
64731
64732         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
64733         This is more consistent with the other defines here.
64734         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
64735         Port to z/OS.  Problem reported by Paul Gilmartin.
64736         Change local vars to use gl_ prefix rather than ac_.
64737         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
64738         with other defines.
64739         * modules/double-slash-root: New module.
64740         * modules/dirname (Files): Remove m4/double-slash-root.m4.
64741         (Depends-on): Add double-slash-root.
64742         * MODULES.html.sh (File system functions): Mention new module.
64743
64744 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
64745
64746         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
64747         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
64748         This is for the benefit of gzip, which doesn't do i18n.
64749
64750 2006-12-12  Jim Meyering  <jim@meyering.net>
64751
64752         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
64753         Reported by Andreas Schwab <schwab@suse.de>.
64754
64755 2006-12-12  Bruno Haible  <bruno@clisp.org>
64756
64757         Merge these changes.
64758         2006-09-05  Bruno Haible  <bruno@clisp.org>
64759         * lib/iconvme.c (iconv_string): No need to save and restore errno when
64760         iconv_alloc succeeded.
64761         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
64762         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
64763         test for " && dest " at the end - dest is always != NULL there. Call
64764         iconv with 4xNULL arguments initially, to reset the state. Call iconv
64765         with 2xNULL arguments, also to flush the state storage. Handle the
64766         IRIX iconv behaviour. Realloc the final result, to throw away unused
64767         memory.
64768
64769 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
64770
64771         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
64772         and fchmodat unconditionally, since glibc 2.4 has them.
64773         Problem reported by Arkadiusz Miskiewicz.
64774
64775 2006-12-10  Bruno Haible  <bruno@clisp.org>
64776
64777         * gnulib-tool (func_import): Show the include files only for those
64778         modules that are copied and specified.
64779         Reported by Karl Berry.
64780
64781 2006-12-08  Jim Meyering  <jim@meyering.net>
64782
64783         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
64784         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
64785
64786         * build-aux/announce-gen: Add two new options, both optional:
64787         --bootstrap-tools=TOOL_LIST
64788               a comma-separated list of tools, e.g.,
64789               autoconf,automake,bison,gnulib
64790         --gnulib-snapshot-date=DATE
64791               if gnulib is in the bootstrap tool list,
64792               then report this as the snapshot date.
64793               If not specified, use the current date/time.
64794               If you specify a date here, be sure it's UTC.
64795
64796 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64797
64798         * tests/test-argp-2.sh: Fix test to match actual output.
64799         (func_compare): Fix sed script to be portable.
64800
64801 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
64802
64803         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
64804         workaround for this case.  It is not autoconfigured now; offhand
64805         it's hard to see how to autoconfigure it.
64806
64807 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
64808
64809         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
64810         a directory that is about to be chowned.  Such a directory's
64811         initial file permissions should permit the owner only and this
64812         should not be changed until after the chown, since the group and
64813         other bits would be incorrect if they granted permission before
64814         the chown.
64815
64816         Fix porting problem for iswctype reported by Georg Schwarz in:
64817         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
64818         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
64819         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
64820         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
64821         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64822
64823 2006-12-03  Jim Meyering  <jim@meyering.net>
64824
64825         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
64826         p->fts_statp may not yet be defined.
64827         (fts_read): Instead, set it in the caller, once p->fts_statp is
64828         sure to be defined, and corresponds to a top-level directory.
64829         This bug made du -x fail.  Here's the coreutils test case:
64830         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
64831         Reported by Mike Frysinger.
64832
64833 2006-12-01  Jim Meyering  <jim@meyering.net>
64834
64835         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
64836         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
64837         Reported by Simon Josefsson.
64838
64839 2006-11-30  Jim Meyering  <jim@meyering.net>
64840
64841         * m4/warning.m4: Use the all-permissive copyright notice
64842         recommended by RMS (rather than LGPL).
64843         * m4/vararrays.m4: Likewise.
64844         * m4/flexmember.m4: Likewise.
64845
64846 2006-11-29  Bruno Haible  <bruno@clisp.org>
64847
64848         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
64849         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
64850         using +=.
64851         Reported by Simon Josefsson <simon@josefsson.org>.
64852
64853 2006-11-28  James Youngman <jay@gnu.org>
64854
64855         * README: Advise users that they might find the bug-gnulib@gnu.org
64856         and autotools-announce@gnu.org mailing lists useful.
64857
64858 2006-11-28  Bruno Haible  <bruno@clisp.org>
64859
64860         * m4/ptrdiff_max.m4: Remove file.
64861
64862 2006-11-21  Bruno Haible  <bruno@clisp.org>
64863
64864         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
64865         _AC_COMPUTE_INT.
64866         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64867         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
64868         _AC_COMPUTE_INT.
64869         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64870         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
64871         _AC_COMPUTE_INT.
64872         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64873
64874 2006-11-28  Jim Meyering  <jim@meyering.net>
64875
64876         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
64877         warning from "gcc -Wshadow" about shadowing the builtin.
64878
64879 2006-11-27  Bruno Haible  <bruno@clisp.org>
64880
64881         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
64882         _AC_COMPUTE_INT.
64883         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64884
64885 2006-11-27  Bruno Haible  <bruno@clisp.org>
64886             Paul Eggert  <eggert@cs.ucla.edu>
64887
64888         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
64889
64890 2006-11-26  Bruno Haible  <bruno@clisp.org>
64891
64892         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
64893         noinst_LTLIBRARIES.
64894
64895 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
64896             Bruno Haible  <bruno@clisp.org>
64897
64898         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
64899         if compiling with "gcc -ansi".
64900
64901 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
64902
64903         Fix some incompatibilities with gcc -ansi -pedantic.
64904         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
64905         if compiling pedantically with GCC, unless it's C99 or later.
64906         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
64907         it mishandles gcc -ansi -pedantic as well.
64908         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
64909         if gcc -pedantic.
64910         * lib/regexec.c (check_node_accept_bytes): Don't use auto
64911         initializers for struct if -pedantic, unless it's C99 or later.
64912
64913 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
64914
64915         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
64916         Don't close an fd more than once. Identical atimes indicate
64917         success, not failure.
64918
64919 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
64920
64921         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
64922
64923 2006-11-23  Jim Meyering  <jim@meyering.net>
64924
64925         * build-aux/announce-gen: New file.  From coreutils.
64926
64927 2006-11-22  Jim Meyering  <jim@meyering.net>
64928
64929         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
64930         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
64931         (fts_read): Use a temporary to narrow the overused st_size member
64932         before using it in a switch statement.  Reported by Matthew Woehlke.
64933
64934         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
64935         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
64936
64937 2006-11-20  Bruno Haible  <bruno@clisp.org>
64938
64939         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
64940         changequote instead of pairs of brackets.
64941         Reported by Andreas Schwab <schwab@suse.de>.
64942
64943 2006-11-21  Jim Meyering  <jim@meyering.net>
64944
64945         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
64946         so as to remain compatible with older compilers.
64947         Patch from Michael Deutschmann.
64948
64949 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
64950
64951         * MODULES.html.sh (File system functions): Add openat.
64952
64953         * lib/openat.h (rpl_fstatat): New macro, if
64954         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
64955         (fstatat): Define to rpl_fstatat under the same conditions,
64956         unless COMPILING_FSTATAT.
64957         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
64958         seems to have the bug.
64959         * lib/fstatat.c: New file.
64960         * modules/openat (Files): Add it.
64961
64962 2006-11-20  Bruno Haible  <bruno@clisp.org>
64963
64964         * Makefile: New file.
64965
64966 2006-11-20  Jim Meyering  <jim@meyering.net>
64967
64968         The beginnings of syntax-related checks for gnulib.
64969         * lib/Makefile: New file.
64970         * lib/t-idcache: New script.  Ensure that the two halves of
64971         idcache.c stay in sync.
64972
64973         * lib/idcache.c: Adjust comments in user- and group- portions to
64974         be more accurate, and to be consistent with one another.
64975
64976 2006-11-20  Jim Meyering  <jim@meyering.net>
64977
64978         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
64979         continue using the flexible array member (thus, this module performs
64980         half as many malloc calls), with the addition that...
64981         (getgroup, getuser): Consistently record a non-match via an empty
64982         "name" string, and map an empty string match to a NULL return value.
64983         * modules/idcache (Depends-on): Re-add flexmember.
64984
64985         * lib/idcache.c (getuser): Remove all uses of the register keyword.
64986         (getuidbyname, getgroup, getgidbyname): Likewise.
64987
64988         Use cleaner syntax: NULL rather than 0.
64989         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
64990
64991 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
64992
64993         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
64994         It mishandled the case where the group was missing.
64995         Problem reported by Greg Schafer.
64996         * modules/idcache: Likewise.
64997
64998 2006-11-18  Jim Meyering  <jim@meyering.net>
64999
65000         * check-module (%exempt_header): Add exception for some
65001         conditionally-included headers.
65002
65003         * modules/i-ring (Depends-on): Add verify.
65004         (License): Change to LGPL.
65005
65006 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65007
65008         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65009         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65010         and inttostr.h.  Use snprintf rather than uinttostr, so that
65011         LGPLed code doesn't depend on GPLed.
65012
65013 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65014
65015         * modules/inline (License): Change from GPL to LGPL.
65016
65017 2006-11-17  Jim Meyering  <jim@meyering.net>
65018
65019         * modules/d-type (License): Switch to LGPL.
65020
65021 2006-11-15  Bruno Haible  <bruno@clisp.org>
65022
65023         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65024
65025 2006-11-15  Eric Blake  <ebb9@byu.net>
65026
65027         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65028         the module dependency.
65029
65030 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65031             Bruno Haible  <bruno@clisp.org>
65032
65033         * gnulib-tool (func_create_testdir): Add license consistency check.
65034
65035 2006-11-15  Eric Blake  <ebb9@byu.net>
65036
65037         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65038         random "(cached)" in configure output.
65039
65040 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65041
65042         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65043         test for conforming inttypes.h is both announced and cached.
65044
65045         * MODULES.html.sh (seen_modules, seen_files): New variables.
65046         (func_module): Rewrite to use a few less gnulib-tool and sed
65047         invocations.  Avoid a couple of quadratic algorithms for ...
65048         (missed_modules, missed_files): ... these, with ...
65049         (func_append, func_tmpdir): ... these new functions, from
65050         gnulib-tool.  Analogously, install traps for cleanup.
65051
65052         * tests/test-gc.c (main): Remove unused variables.
65053         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65054
65055 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65056
65057         * modules/inttostr (License): Change to LGPL.
65058
65059 2006-11-14  Eric Blake  <ebb9@byu.net>
65060
65061         * modules/tempname (License): Change to LGPL.
65062
65063 2006-11-14  Eric Blake  <ebb9@byu.net>
65064
65065         * doc/functions.texi (Function Portability): *printf functions on
65066         Cygwin now understand all POSIX size specifiers.
65067
65068 2006-11-14  Bruno Haible  <bruno@clisp.org>
65069
65070         * modules/c-ctype (License): Change to LGPL.
65071
65072 2006-11-12  Bruno Haible  <bruno@clisp.org>
65073
65074         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65075         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65076         for GNOME libraries, for which the include files are installed in
65077         subdirectories of $prefix/include.
65078
65079 2006-11-12  Bruno Haible  <bruno@clisp.org>
65080
65081         * m4/lib-link.m4: Require at least autoconf-2.54.
65082         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65083         name to underscores for the --with option.
65084
65085 2006-11-13  Bruno Haible  <bruno@clisp.org>
65086
65087         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65088         the tests directory.
65089         Reported by Ralf Wildenhues.
65090
65091 2006-11-13  Bruno Haible  <bruno@clisp.org>
65092
65093         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65094         (func_emit_initmacro_end): Undo the override here.
65095         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65096         Works around the famous automake error in coreutils.
65097
65098 2006-11-13  Eric Blake  <ebb9@byu.net>
65099
65100         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65101         element, not its node.
65102
65103 2006-11-12  Bruno Haible  <bruno@clisp.org>
65104
65105         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65106         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65107
65108 2006-11-12  Bruno Haible  <bruno@clisp.org>
65109
65110         * gnulib-tool: New option --local-symlink.
65111         (func_usage): Document it.
65112         (lsymbolic): New variable.
65113         (func_import, func_create_testdir): If --symlink was not specified,
65114         test whether --local-symlink was specified and the file comes from
65115         the local_gnulib_dir.
65116
65117 2006-11-12  Bruno Haible  <bruno@clisp.org>
65118
65119         * gnulib-tool (func_ln): New function.
65120         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65121
65122 2006-11-12  Bruno Haible  <bruno@clisp.org>
65123
65124         Finish support for source files in subdirectories.
65125         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65126         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65127         AUTOMAKE_OPTIONS.
65128         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65129
65130 2006-11-12  Bruno Haible  <bruno@clisp.org>
65131
65132         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65133         EXTRA_lib_SOURCES augmentation.
65134         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65135
65136 2006-11-12  Jim Meyering  <jim@meyering.net>
65137
65138         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65139         file descriptors.  This also averts a failure on systems with
65140         native openat support when a traversed directory lacks "x" access.
65141         * lib/fts_.h: Include "i-ring.h"
65142         (struct FTS) [fts_fd_ring]: New member.
65143         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65144         (FCHDIR): Add parentheses.
65145         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65146         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65147         When descending, rather than simply closing the previous
65148         fts_cwd_fd value, push that file descriptor onto the ring.
65149         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65150         (fts_open): Initialize the new fd_ring member.
65151         (fts_close): Clear the ring.
65152         (fts_safe_changedir): When possible, use our new fd_ring to skip
65153         the diropen and fstat and dev/ino comparison that would normally
65154         accompany a virtual `chdir ("..")'.
65155
65156         * modules/fts (Depends-on): Add i-ring.
65157         * modules/i-ring: New module.
65158         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65159         * m4/i-ring.m4: New file.
65160
65161 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65162
65163         * gnulib-tool (func_create_testdir): Fix replacement of
65164         `build-aux' in configure.ac.  Run autotools in gltests
65165         subdirectory.
65166         (func_create_testdir, func_create_megatestdir, test): There is
65167         no need for '--force' in most autotool invocations in a new
65168         tree.  Actually fail the whole test if any of the tools, or the
65169         configure or make stages fail.
65170
65171         Sync from Automake.
65172         * build-aux/gnupload: Revert last change.  Add pointer to upload
65173         instructions of the GNU Maintenance Instructions.
65174         Suggestion by Karl Berry.
65175
65176 2006-11-10  Jim Meyering  <jim@meyering.net>
65177
65178         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65179
65180 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65181
65182         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65183         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65184         (bind_textdomain_codeset) [! ENABLE_NLS]:
65185         Evaluate all the arguments.  That way, callers get compatible behavior
65186         if the arguments have side effects.  Also, it avoids some GCC
65187         diagnostics in some cases; Joel E. Denny reported problems when Bison
65188         was configured with --enable-gcc-warnigs.
65189
65190 2006-11-10  Jim Meyering  <jim@meyering.net>
65191
65192         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65193         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65194         account.
65195
65196 2006-11-10  Jim Meyering  <jim@meyering.net>
65197
65198         * modules/inline: New file/module.
65199         * modules/xalloc (Files): Remove m4/inline.m4.
65200         (Depends-on): Add inline, instead.
65201         * modules/oset: Likewise.
65202         * modules/list: Likewise.
65203
65204 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65205
65206         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65207         Problem reported by Matthew Woehlke.
65208
65209 2006-11-09  Bruno Haible  <bruno@clisp.org>
65210
65211         * lib/tempname.c (gen_tempname): Remove variant that invokes
65212         __gen_tempname.
65213         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65214         __gen_tempname.
65215
65216 2006-11-08  Bruno Haible  <bruno@clisp.org>
65217
65218         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65219         to 'yes' instead of 'cross-compiling'.
65220
65221 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65222
65223         * lib/quotearg.h (quotearg_free): New decl.
65224         * lib/quotearg.c (quotearg_free): New function.
65225         (slot0, nslots, slotvec0, slotvec):
65226         Now file-scope so that quotearg_free can get at them.
65227
65228 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65229
65230         Sync from Automake.
65231         * build-aux/gnupload: Add missing 'gnu' to example URL.
65232         Report by Karl Berry.
65233
65234 2006-11-08  Bruno Haible  <bruno@clisp.org>
65235
65236         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65237         Suggested by Paul Eggert.
65238
65239 2006-11-08  Jim Meyering  <jim@meyering.net>
65240
65241         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65242         It's already included if !_LIBC.
65243         (fts_safe_changedir): Add a comment.
65244
65245 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65246
65247         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65248         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65249         Matthew Woehlke.
65250
65251         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65252         definitions up, to avoid colliding with change below.
65253         (static_inline) [HAVE_INLINE]: New macro.
65254         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65255         Provide extern decls when !HAVE_INLINE.  Do not define unless
65256         static_inline is defined, either by us or by xmalloc.c.  Use
65257         static_inline rather than static inline.
65258         (XCALLOC): Optimize sizeof(T) = 1 case.
65259         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65260
65261 2006-11-07  Bruno Haible  <bruno@clisp.org>
65262
65263         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65264         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65265         AC_C_INLINE.
65266         * modules/xalloc (Files): Add m4/inline.m4.
65267
65268 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65269
65270         * README: Fix typo.
65271         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65272         (Miscellanous Notes): ...from this.
65273
65274 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65275
65276         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65277         Mention that offsetof should be used instead of sizeof.
65278         From Bruno Haible.
65279
65280 2006-11-07  Bruno Haible  <bruno@clisp.org>
65281
65282         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65283
65284 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65285
65286         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65287         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65288         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65289         (gl_tree_add_before, gl_tree_add_after):
65290         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65291         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65292         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65293         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65294         (gl_linked_add_after, gl_linked_add_at): Likewise.
65295         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65296         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65297         (gl_tree_add_before, gl_tree_add_after): Likewise.
65298         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65299         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65300         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65301
65302 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65303
65304         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65305
65306 2006-11-06  Bruno Haible  <bruno@clisp.org>
65307
65308         * m4/inline.m4: New file.
65309         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65310         * modules/list (Files): Add m4/inline.m4.
65311         * modules/oset (Files): Likewise.
65312
65313 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65314
65315         * lib/idcache.c: Include <stddef.h>, for offsetof.
65316         (struct userid.name): Change from char * to a flexible array member.
65317         All uses changed.
65318         * modules/idcache (Depends-on): Add flexmember.
65319
65320         * MODULES.html.sh (Core language properties): New module flexmember.
65321         * modules/flexmember, m4/flexmember.m4: New files.
65322
65323         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65324         inline functions that are identical with the old xnmalloc_inline,
65325         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65326         that we can avoid some unnecessary integer multiplications and
65327         divisions in the common case where the element size is known at
65328         compile time.
65329         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65330         needed.
65331         (xnboundedmalloc): Remove.
65332         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65333         arguments, for consistency with rest of this header.
65334         (xcharalloc): Rewrite using XNMALLOC.
65335         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65336         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65337         versions have been moved to lib/xalloc.h and renamed to be the
65338         non-*_inline versions.
65339         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65340         and xnrealloc functions, since those functions are now inline and
65341         now call us.
65342         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65343         renaming described above.
65344         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65345         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65346         captures the dependency in AC_C_INLINE.
65347
65348         New module canonicalize-lgpl, proposed by Charles Wilson in
65349         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65350         with a few small changes afterwards.
65351         * MODULES.html.sh (File system functions): New module
65352         canonicalize-lgpl.
65353         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65354         and canonicalize_file_name.
65355         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65356         * modules/canonicalize-lgpl: New files.
65357
65358 2006-11-05  Bruno Haible  <bruno@clisp.org>
65359
65360         * gnulib-tool (func_import, func_create_testdir): Create directories
65361         also for files in subdirectories of lib/.
65362
65363 2006-11-05  Bruno Haible  <bruno@clisp.org>
65364
65365         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65366         ANSI C compliant.
65367
65368 2006-11-03  Bruno Haible  <bruno@clisp.org>
65369
65370         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65371         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65372         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65373         (xnboundedmalloc): New inline function.
65374         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65375         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65376         xmalloc.
65377         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65378         xmalloc.
65379         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65380         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65381         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65382         xmalloc.
65383         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65384         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65385         xmalloc.
65386         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65387         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65388         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65389         xmalloc.
65390         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65391         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65392         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65393         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65394         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65395         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65396         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65397
65398 2006-11-03  Bruno Haible  <bruno@clisp.org>
65399
65400         * lib/c-ctype.h [C++]: Define functions without name mangling.
65401         * lib/fwriteerror.h [C++]: Likewise.
65402         * lib/gcd.h [C++]: Likewise.
65403         * lib/linebreak.h [C++]: Likewise.
65404
65405 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65406
65407         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65408         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65409         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65410         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65411         Check for functions and headers just once.
65412         Check for declaration of canonicalize_file_name.
65413         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65414
65415 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65416
65417         * gnulib-tool (func_import): Fix typo in actioncmd.
65418
65419 2006-11-02  Bruno Haible  <bruno@clisp.org>
65420
65421         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65422         newline sequence in the Makefile.am snippet as a space, like "make"
65423         does.
65424         Reported by Roger Persson <perrog@gmail.com>.
65425
65426 2006-11-01  Bruno Haible  <bruno@clisp.org>
65427
65428         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65429         already declared in <string.h>.
65430         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65431
65432 2006-11-01  Bruno Haible  <bruno@clisp.org>
65433
65434         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65435         * lib/strcase.h: Include <string.h>.
65436         (strcasecmp): Define to rpl_strcasecmp here.
65437
65438 2006-11-01  Bruno Haible  <bruno@clisp.org>
65439
65440         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65441
65442 2006-11-01  Eric Blake  <ebb9@byu.net>
65443
65444         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65445
65446         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65447
65448 2006-10-29  Bruno Haible  <bruno@clisp.org>
65449
65450         Make it compile in C++ mode.
65451         * lib/full-write.c (full_rw): Add a cast.
65452
65453 2006-11-01  Bruno Haible  <bruno@clisp.org>
65454
65455         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65456         be POSIX compliant.
65457         Reported by Roger Persson <perrog@gmail.com>.
65458
65459 2006-11-01  Eric Blake  <ebb9@byu.net>
65460
65461         * lib/getopt_.h: Fix comments.
65462
65463 2006-10-31  Eric Blake  <ebb9@byu.net>
65464
65465         * modules/tmpdir (Depends-on): Add sys_stat.
65466         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65467         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65468         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
65469         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
65470         tempname.
65471
65472 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
65473
65474         Avoid some C++ diagnostics reported by Bruno Haible.
65475         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
65476         xmalloc.
65477         (quotearg_alloc): Use xcharalloc rather than xmalloc.
65478         (struct slotvec): Move to top level.
65479         (quotearg_n_options): Rewrite to avoid xmalloc.
65480         * lib/xalloc.h (xcharalloc): New function.
65481         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
65482         [defined __cplusplus]: Add function template that provides result
65483         type propagation.  This part of the change is from Bruno Haible.
65484
65485 2006-10-29  Bruno Haible  <bruno@clisp.org>
65486
65487         Make it compile in C++ mode.
65488         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
65489         * lib/strnlen1.c (strnlen1): Cast memchr result.
65490         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
65491         * lib/clean-temp.c (string_equals, string_hash): Add casts.
65492         (create_temp_dir): Rename local variable 'template'.
65493         (compile_csharp_using_sscli): Add cast.
65494         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
65495         * lib/findprog.c (find_in_path): Likewise.
65496         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
65497         * lib/wait-process.c (register_slave_subprocess): Likewise.
65498
65499 2006-10-22  Bruno Haible  <bruno@clisp.org>
65500
65501         * modules/tsearch: New file.
65502         * lib/tsearch.h: New file.
65503         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
65504         * m4/tsearch.m4: New file.
65505         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
65506
65507 2006-10-29  Eric Blake  <ebb9@byu.net>
65508
65509         * lib/arcfour.c: Assume config.h.
65510         * lib/arctwo.c: Likewise.
65511         * lib/base64.c: Likewise.
65512         * lib/check-version.c: Likewise.
65513         * lib/crc.c: Likewise.
65514         * lib/des.c: Likewise.
65515         * lib/gc-gnulib.c: Likewise.
65516         * lib/gc-libgcrypt.c: Likewise.
65517         * lib/gc-pbkdf2-sha1.c: Likewise.
65518         * lib/getaddrinfo.c: Likewise.
65519         * lib/getdelim.c: Likewise.
65520         * lib/getline.c: Likewise.
65521         * lib/hmac-md5.c: Likewise.
65522         * lib/hmac-sha1.c: Likewise.
65523         * lib/iconvme.c: Likewise.
65524         * lib/md2.c: Likewise.
65525         * lib/md4.c: Likewise.
65526         * lib/memxor.c: Likewise.
65527         * lib/read-file.c: Likewise.
65528         * lib/readline.c: Likewise.
65529         * lib/rijndael-alg-fst.c: Likewise.
65530         * lib/rijndael-api-fst.c: Likewise.
65531         * lib/xgetdomainname.c: Likewise.
65532
65533 2006-10-28  Eric Blake  <ebb9@byu.net>
65534
65535         * lib/xstrndup.c: Assume config.h.
65536
65537 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65538
65539         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
65540         stat-macros.h is now for our own macros, whereas stat_h is for
65541         macros in the <sys/stat.h> name space.
65542         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
65543         (STAT_MACROS_H): Remove.
65544         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
65545         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
65546         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
65547         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
65548         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
65549         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
65550         Move these macros to ...
65551         * lib/stat_.h: here.  Don't include stat-macros.h.
65552         * lib/canonicalize.c: Don't include stat-macros.h.
65553         * lib/chown.c: Likewise.
65554         * lib/euidaccess.c: Likewise.
65555         * lib/file-type.c: Likewise.
65556         * lib/filemode.c: Likewise.
65557         * lib/glob.c: Likewise.
65558         * lib/isapipe.c: Likewise.
65559         * lib/lchown.c: Likewise.
65560         * lib/lstat.c: Likewise.
65561         * lib/mkdir-p.c: Likewise.
65562         * lib/rmdir.c: Likewise.
65563         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
65564         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
65565         unless mkdir isn't declared, to speed up 'configure'.
65566         Always create sys/stat.h, since it's unlikely any real sys/stat.h
65567         would define all the S_* symbols.
65568         * modules/canonicalize (Depends-on):
65569         Depend on sys_stat, not stat-macros.
65570         * modules/chown: Likewise.
65571         * modules/euidaccess: Likewise.
65572         * modules/filemode: Likewise.
65573         * modules/file-type: Likewise.
65574         * modules/glob: Likewise.
65575         * modules/isapipe: Likewise.
65576         * modules/lchown: Likewise.
65577         * modules/lstat: Likewise.
65578         * modules/mkancesdirs: Likewise.
65579         * modules/rmdir: Likewise.
65580         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
65581         * modules/modechange: Likewise.
65582         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
65583         (configure.ac): Remove gl_STAT_MACROS.
65584         * modules/sys_stat (Depends-on): Remove stat-macros.
65585
65586 2006-10-27  Bruno Haible  <bruno@clisp.org>
65587
65588         * m4/signed.m4: Remove file.
65589         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
65590         invocation.
65591         * modules/vasnprintf (Files): Remove m4/signed.m4.
65592
65593 2006-10-27  Bruno Haible  <bruno@clisp.org>
65594
65595         Update to GNU gettext 0.16.
65596         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
65597         m4/inttypes-h.m4, m4/signed.m4.
65598         * m4/gettext.m4: Update to GNU gettext 0.16.
65599         * m4/intl.m4: New file, from GNU gettext.
65600         * m4/intldir.m4: New file, from GNU gettext.
65601         * config/srclist.txt: Update
65602
65603 2006-10-27  Eric Blake  <ebb9@byu.net>
65604
65605         * MODULES.html.sh: Document tempname.
65606         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
65607         dependencies.
65608         (Files): Move lib/tempname.c...
65609         * modules/tempname: ...to this new module.
65610         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
65611         (gl_PREREQ_TEMPNAME): Move...
65612         * m4/tempname.m4: ...to this new file.
65613         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
65614         * modules/sys_stat (Depends-on): Add stat-macros.
65615         * lib/stat_.h (includes): Pick up stat macros.
65616         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
65617         if stat macros are broken.
65618         * lib/tempname.c (includes): No need to include "stat-macros.h".
65619         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
65620         (direxists, __path_search) [!_LIBC]: Don't compile these in
65621         gnulib; the tmpdir module covers that.
65622         * lib/tempname.h: New file.
65623
65624 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
65625
65626         * COPYING: Explain how gnulib-tool converts licence headers.
65627         Almost all wording by Eric Blake.
65628
65629 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
65630
65631         * lib/mbchar.h (is_basic_table): Make read-only.
65632         * lib/mbchar.c (is_basic_table): Likewise.
65633         Reported by John Darrington.
65634
65635 2006-10-25  Bruno Haible  <bruno@clisp.org>
65636
65637         * lib/progname.h (set_program_name): Undefine before defining.
65638
65639 2006-10-25  Bruno Haible  <bruno@clisp.org>
65640
65641         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
65642         false for non-gcc C++ compilers.
65643         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
65644
65645 2006-10-24  Bruno Haible  <bruno@clisp.org>
65646
65647         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
65648         iconv implementations like Irix iconv.
65649
65650 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65651
65652         * modules/vararrays: New file.
65653         * m4/vararrays.m4: New file, taken from diffutils.
65654         * MODULES.html.sh: New module vararrays.
65655
65656 2006-10-24  Karl Berry  <karl@gnu.org>
65657
65658         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
65659         Don't call GNU Unix.
65660
65661 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65662
65663         * users.txt: Add Libtool.
65664
65665         Sync from Libtool:
65666
65667         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65668
65669         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
65670         to gnulib's policy of including config.h unconditionally.
65671
65672 2006-10-24  Bruno Haible  <bruno@clisp.org>
65673
65674         * modules/wcwidth (Files): Add m4/wint_t.m4.
65675         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
65676         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
65677
65678 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65679
65680         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
65681         to pacify GCC with some -W flags enabled.  Problem reported by
65682         Bruno Haible.
65683
65684 2006-10-24  Jim Meyering  <jim@meyering.net>
65685
65686         * MODULES.html.sh: Remove uinttostr.  It's not a module.
65687         Reported by Karl Berry.
65688
65689 2006-10-23  Bruno Haible  <bruno@clisp.org>
65690
65691         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
65692
65693 2006-10-24  Bruno Haible  <bruno@clisp.org>
65694
65695         * lib/gl_list.h: Use C comment style, not C++ comment style.
65696
65697 2006-10-23  Eric Blake  <ebb9@byu.net>
65698
65699         * lib/getaddrinfo.c (includes): Add missing include.
65700
65701 2006-10-23  Bruno Haible  <bruno@clisp.org>
65702             Paul Eggert  <eggert@cs.ucla.edu>
65703
65704         Ability to rename obstack_free.
65705         * lib/obstack.h (__obstack_free): New macro. Declare instead of
65706         obstack_free.
65707         (obstack_free): Invoke the __obstack_free macro.
65708         * lib/obstack.c (obstack_free): Use __obstack_free macro.
65709
65710 2006-10-23  Bruno Haible  <bruno@clisp.org>
65711             Paul Eggert  <eggert@cs.ucla.edu>
65712
65713         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
65714         __argc, __argv from the declaration. (They are defined as macros on
65715         mingw.)
65716
65717 2006-10-22  Bruno Haible  <bruno@clisp.org>
65718
65719         * doc/gnulib-intro.texi: New file.
65720         * doc/gnulib.texi: Include it.
65721
65722 2006-10-21  Bruno Haible  <bruno@clisp.org>
65723
65724         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
65725         "Introduction", "Miscellanous Notes", "Particular Modules".
65726
65727 2006-10-21  Bruno Haible  <bruno@clisp.org>
65728
65729         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65730         Change mostlyclean-local rule to avoid sh syntax error from bash
65731         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
65732
65733 2006-10-23  Jim Meyering  <jim@meyering.net>
65734
65735         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
65736         in place of snprintf.
65737
65738         * modules/inttostr (Files): Add lib/uinttostr.c.
65739         * lib/uinttostr.c (inttostr): New file/function.
65740         * lib/inttostr.h (uinttostr): Declare.
65741         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
65742         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
65743         Add uinttostr.
65744         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
65745
65746 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
65747
65748         * lib/canonicalize.c (ELOOP): Define if not already defined.
65749         Problem reported by Bruno Haible in
65750         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
65751
65752 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
65753
65754         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
65755         Problem reported by Perry Smith and Ville Laurikari.
65756
65757         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
65758         uses.
65759
65760 2006-10-19  Bruno Haible  <bruno@clisp.org>
65761
65762         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
65763         for mingw.
65764
65765 2006-10-19  Bruno Haible  <bruno@clisp.org>
65766
65767         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
65768         Needed for mingw.
65769
65770 2006-10-19  Bruno Haible  <bruno@clisp.org>
65771
65772         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
65773
65774 2006-10-19  Bruno Haible  <bruno@clisp.org>
65775
65776         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
65777         it.
65778
65779 2006-10-19  Bruno Haible  <bruno@clisp.org>
65780
65781         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
65782         invocation.
65783
65784 2006-10-19  Bruno Haible  <bruno@clisp.org>
65785
65786         * gnulib-tool (func_create_testdir): Don't include ftruncate and
65787         mountlist by default.
65788
65789 2006-10-16  Bruno Haible  <bruno@clisp.org>
65790
65791         * lib/c-strstr.c: Include c-strstr.h.
65792
65793 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65794
65795         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
65796         in a slash.
65797
65798 2006-10-18  Bruno Haible  <bruno@clisp.org>
65799
65800         * lib/lock.h [C++]: Wrap definitions in extern "C".
65801
65802 2006-10-18  Bruno Haible  <bruno@clisp.org>
65803
65804         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
65805         gl_LIBOBJS list.
65806
65807 2006-10-18  Bruno Haible  <bruno@clisp.org>
65808
65809         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
65810
65811 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
65812
65813         * lib/xstrtol.h: Include gettext.h.
65814         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
65815         Problem reported by Eric Blake.
65816         * modules/xstrtol (Depends-on): Add gettext-h.
65817
65818 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
65819
65820         * lib/strftime.c (advance): New macro.
65821         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
65822         incomplete type, so you can't add 0 to it.  Problem and patch
65823         reported by Eelco Dolstra for dietlibc.
65824
65825 2006-10-18  Jim Meyering  <jim@meyering.net>
65826
65827         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
65828         type for a local, and rename it: s/up/user_proc/.
65829
65830 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
65831
65832         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
65833         READ_UTMP_USER_PROCESS.
65834         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
65835
65836 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65837
65838         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
65839         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
65840
65841 2006-10-17  Eric Blake  <ebb9@byu.net>
65842
65843         * lib/sigprocmask.c (sigprocmask): Fix typo.
65844
65845         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
65846
65847         * modules/clean-temp (Makefile.am): Don't add to make output...
65848         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
65849         config.h.
65850
65851 2006-10-17  Bruno Haible  <bruno@clisp.org>
65852
65853         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
65854         differently if DEFAULT_TEXT_DOMAIN is set.
65855
65856 2006-10-16  Bruno Haible  <bruno@clisp.org>
65857
65858         * lib/clean-temp.c: Include fwriteerror.h.
65859
65860 2006-10-16  Bruno Haible  <bruno@clisp.org>
65861
65862         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
65863
65864 2006-10-16  Bruno Haible  <bruno@clisp.org>
65865
65866         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
65867         * lib/sigprocmask.h: Include <sys/types.h>.
65868         (sigset_t): Use the system's definition if present.
65869
65870 2006-10-17  Eric Blake  <ebb9@byu.net>
65871
65872         * lib/xvasprintf.c (includes): Assume config.h.
65873         * lib/xasprintf.c (includes): Likewise.
65874
65875 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65876
65877         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
65878         at least as wide as intmax_t.
65879
65880 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
65881
65882         (Imported from Automake.)
65883         * build-aux/gnupload: Update to version 1.1 of directive file.
65884
65885 2006-10-16  Eric Blake  <ebb9@byu.net>
65886
65887         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
65888         match Automake 1.10a.
65889
65890 2006-10-14  Bruno Haible  <bruno@clisp.org>
65891
65892         * modules/sigprocmask: New file.
65893         * lib/sigprocmask.h: New file.
65894         * lib/sigprocmask.c: New file.
65895         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
65896         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
65897         request sigprocmask.o.
65898         (gl_PREREQ_SIGPROCMASK): New macro.
65899         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
65900         (Depends-on): Add sigprocmask.
65901         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
65902         gt_SIGNALBLOCKING. Test for 'raise' only once.
65903         * lib/fatal-signal.c: Include sigprocmask.h.
65904         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
65905         unblock_fatal_signals): Define always.
65906         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65907         sigprocmask.
65908
65909 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
65910
65911         Sync from Automake.
65912         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
65913         which incorrectly sets the mode of an existing destination
65914         directory.  In some cases the unpatched install-sh could do the
65915         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
65916         system.  We hope this is rare in practice, but it's clearly worth
65917         fixing.  Problem reported by Alex Unleashed in
65918         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
65919         Also, don't bother to check for -m bugs unless we're using -m;
65920         suggested by Stepan Kasal.
65921
65922 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65923
65924         Sync from Automake.
65925         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
65926         `-c' flag, so they appear at the same position as in %FASTDEP%
65927         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
65928         which ignores unknown options only after the first non-option.
65929         Bug report against M4 by Nelson H. F. Beebe.
65930
65931 2006-10-13  Jim Meyering  <jim@meyering.net>
65932
65933         Fix a bug in yesterday's change.
65934         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
65935         p->fts_statp->st_dev would be used uninitialized.
65936         Ensures that we always call fts_stat on the very first entry.
65937         Miklos Szeredi reported that find -xdev stopped working.
65938
65939 2006-10-12  Bruno Haible  <bruno@clisp.org>
65940
65941         * gnulib-tool (func_get_automake_snippet): Append an automatically
65942         computed EXTRA_DIST augmentation.
65943         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
65944         * modules/alloca-opt (Makefile.am): Likewise.
65945         * modules/allocsa (Makefile.am): Likewise.
65946         * modules/arcfour (Makefile.am): Likewise.
65947         * modules/arctwo (Makefile.am): Likewise.
65948         * modules/argmatch (Makefile.am): Likewise.
65949         * modules/argz (Makefile.am): Likewise.
65950         * modules/atexit (Makefile.am): Likewise.
65951         * modules/backupfile (Makefile.am): Likewise.
65952         * modules/byteswap (Makefile.am): Likewise.
65953         * modules/c-strtod (Makefile.am): Likewise.
65954         * modules/c-strtold (Makefile.am): Likewise.
65955         * modules/calloc (Makefile.am): Likewise.
65956         * modules/canon-host (Makefile.am): Likewise.
65957         * modules/canonicalize (Makefile.am): Likewise.
65958         * modules/chdir-long (Makefile.am): Likewise.
65959         * modules/chdir-safer (Makefile.am): Likewise.
65960         * modules/check-version (Makefile.am): Likewise.
65961         * modules/chown (Makefile.am): Likewise.
65962         * modules/cloexec (Makefile.am): Likewise.
65963         * modules/close-stream (Makefile.am): Likewise.
65964         * modules/closeout (Makefile.am): Likewise.
65965         * modules/crc (Makefile.am): Likewise.
65966         * modules/csharpexec (Makefile.am): Likewise.
65967         * modules/cycle-check (Makefile.am): Likewise.
65968         * modules/des (Makefile.am): Likewise.
65969         * modules/dev-ino (Makefile.am): Likewise.
65970         * modules/dirfd (Makefile.am): Likewise.
65971         * modules/dirname (Makefile.am): Likewise.
65972         * modules/dup2 (Makefile.am): Likewise.
65973         * modules/eealloc (Makefile.am): Likewise.
65974         * modules/error (Makefile.am): Likewise.
65975         * modules/euidaccess (Makefile.am): Likewise.
65976         * modules/exclude (Makefile.am): Likewise.
65977         * modules/exitfail (Makefile.am): Likewise.
65978         * modules/fcntl-safer (Makefile.am): Likewise.
65979         * modules/fcntl (Makefile.am): Likewise.
65980         * modules/file-type (Makefile.am): Likewise.
65981         * modules/fileblocks (Makefile.am): Likewise.
65982         * modules/filemode (Makefile.am): Likewise.
65983         * modules/filenamecat (Makefile.am): Likewise.
65984         * modules/fnmatch (Makefile.am): Likewise.
65985         * modules/fopen-safer (Makefile.am): Likewise.
65986         * modules/fpending (Makefile.am): Likewise.
65987         * modules/fprintftime (Makefile.am): Likewise.
65988         * modules/free (Makefile.am): Likewise.
65989         * modules/fsusage (Makefile.am): Likewise.
65990         * modules/ftruncate (Makefile.am): Likewise.
65991         * modules/fts (Makefile.am): Likewise.
65992         * modules/gc-arcfour (Makefile.am): Likewise.
65993         * modules/gc-des (Makefile.am): Likewise.
65994         * modules/gc-hmac-md5 (Makefile.am): Likewise.
65995         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
65996         * modules/gc-md4 (Makefile.am): Likewise.
65997         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
65998         * modules/gc-sha1 (Makefile.am): Likewise.
65999         * modules/gc (Makefile.am): Likewise.
66000         * modules/getaddrinfo (Makefile.am): Likewise.
66001         * modules/getcwd (Makefile.am): Likewise.
66002         * modules/getdelim (Makefile.am): Likewise.
66003         * modules/getdomainname (Makefile.am): Likewise.
66004         * modules/getgroups (Makefile.am): Likewise.
66005         * modules/gethostname (Makefile.am): Likewise.
66006         * modules/gethrxtime (Makefile.am): Likewise.
66007         * modules/getline (Makefile.am): Likewise.
66008         * modules/getloadavg (Makefile.am): Likewise.
66009         * modules/getlogin_r (Makefile.am): Likewise.
66010         * modules/getndelim2 (Makefile.am): Likewise.
66011         * modules/getopt (Makefile.am): Likewise.
66012         * modules/getpagesize (Makefile.am): Likewise.
66013         * modules/getpass-gnu (Makefile.am): Likewise.
66014         * modules/getpass (Makefile.am): Likewise.
66015         * modules/getsubopt (Makefile.am): Likewise.
66016         * modules/gettime (Makefile.am): Likewise.
66017         * modules/gettimeofday (Makefile.am): Likewise.
66018         * modules/getugroups (Makefile.am): Likewise.
66019         * modules/getusershell (Makefile.am): Likewise.
66020         * modules/glob (Makefile.am): Likewise.
66021         * modules/group-member (Makefile.am): Likewise.
66022         * modules/hard-locale (Makefile.am): Likewise.
66023         * modules/hash (Makefile.am): Likewise.
66024         * modules/hmac-md5 (Makefile.am): Likewise.
66025         * modules/hmac-sha1 (Makefile.am): Likewise.
66026         * modules/human (Makefile.am): Likewise.
66027         * modules/idcache (Makefile.am): Likewise.
66028         * modules/imaxabs (Makefile.am): Likewise.
66029         * modules/imaxdiv (Makefile.am): Likewise.
66030         * modules/inet_ntop (Makefile.am): Likewise.
66031         * modules/inet_pton (Makefile.am): Likewise.
66032         * modules/intprops (Makefile.am): Likewise.
66033         * modules/inttostr (Makefile.am): Likewise.
66034         * modules/inttypes (Makefile.am): Likewise.
66035         * modules/isapipe (Makefile.am): Likewise.
66036         * modules/javaversion (Makefile.am): Likewise.
66037         * modules/lchmod (Makefile.am): Likewise.
66038         * modules/lchown (Makefile.am): Likewise.
66039         * modules/localcharset (Makefile.am): Likewise.
66040         * modules/long-options (Makefile.am): Likewise.
66041         * modules/lstat (Makefile.am): Likewise.
66042         * modules/malloc (Makefile.am): Likewise.
66043         * modules/mathl (Makefile.am): Likewise.
66044         * modules/mbchar (Makefile.am): Likewise.
66045         * modules/md2 (Makefile.am): Likewise.
66046         * modules/md4 (Makefile.am): Likewise.
66047         * modules/md5 (Makefile.am): Likewise.
66048         * modules/memcasecmp (Makefile.am): Likewise.
66049         * modules/memchr (Makefile.am): Likewise.
66050         * modules/memcmp (Makefile.am): Likewise.
66051         * modules/memcoll (Makefile.am): Likewise.
66052         * modules/memcpy (Makefile.am): Likewise.
66053         * modules/memmem (Makefile.am): Likewise.
66054         * modules/memmove (Makefile.am): Likewise.
66055         * modules/mempcpy (Makefile.am): Likewise.
66056         * modules/memrchr (Makefile.am): Likewise.
66057         * modules/memset (Makefile.am): Likewise.
66058         * modules/memxor (Makefile.am): Likewise.
66059         * modules/mkancesdirs (Makefile.am): Likewise.
66060         * modules/mkdir-p (Makefile.am): Likewise.
66061         * modules/mkdir (Makefile.am): Likewise.
66062         * modules/mkdtemp (Makefile.am): Likewise.
66063         * modules/mkstemp (Makefile.am): Likewise.
66064         * modules/mktime (Makefile.am): Likewise.
66065         * modules/modechange (Makefile.am): Likewise.
66066         * modules/mountlist (Makefile.am): Likewise.
66067         * modules/nanosleep (Makefile.am): Likewise.
66068         * modules/obstack (Makefile.am): Likewise.
66069         * modules/openat (Makefile.am): Likewise.
66070         * modules/pagealign_alloc (Makefile.am): Likewise.
66071         * modules/pathmax (Makefile.am): Likewise.
66072         * modules/physmem (Makefile.am): Likewise.
66073         * modules/poll (Makefile.am): Likewise.
66074         * modules/posixtm (Makefile.am): Likewise.
66075         * modules/posixver (Makefile.am): Likewise.
66076         * modules/putenv (Makefile.am): Likewise.
66077         * modules/quote (Makefile.am): Likewise.
66078         * modules/quotearg (Makefile.am): Likewise.
66079         * modules/raise (Makefile.am): Likewise.
66080         * modules/read-file (Makefile.am): Likewise.
66081         * modules/readline (Makefile.am): Likewise.
66082         * modules/readlink (Makefile.am): Likewise.
66083         * modules/readtokens (Makefile.am): Likewise.
66084         * modules/readutmp (Makefile.am): Likewise.
66085         * modules/realloc (Makefile.am): Likewise.
66086         * modules/regex (Makefile.am): Likewise.
66087         * modules/rename-dest-slash (Makefile.am): Likewise.
66088         * modules/rename (Makefile.am): Likewise.
66089         * modules/rijndael (Makefile.am): Likewise.
66090         * modules/rmdir (Makefile.am): Likewise.
66091         * modules/rpmatch (Makefile.am): Likewise.
66092         * modules/safe-read (Makefile.am): Likewise.
66093         * modules/safe-write (Makefile.am): Likewise.
66094         * modules/same-inode (Makefile.am): Likewise.
66095         * modules/same (Makefile.am): Likewise.
66096         * modules/save-cwd (Makefile.am): Likewise.
66097         * modules/savedir (Makefile.am): Likewise.
66098         * modules/setenv (Makefile.am): Likewise.
66099         * modules/settime (Makefile.am): Likewise.
66100         * modules/sha1 (Makefile.am): Likewise.
66101         * modules/sig2str (Makefile.am): Likewise.
66102         * modules/snprintf (Makefile.am): Likewise.
66103         * modules/stat-macros (Makefile.am): Likewise.
66104         * modules/stat-time (Makefile.am): Likewise.
66105         * modules/stdbool (Makefile.am): Likewise.
66106         * modules/stdint (Makefile.am): Likewise.
66107         * modules/stdlib-safer (Makefile.am): Likewise.
66108         * modules/stpcpy (Makefile.am): Likewise.
66109         * modules/stpncpy (Makefile.am): Likewise.
66110         * modules/strcase (Makefile.am): Likewise.
66111         * modules/strcasestr (Makefile.am): Likewise.
66112         * modules/strchrnul (Makefile.am): Likewise.
66113         * modules/strcspn (Makefile.am): Likewise.
66114         * modules/strdup (Makefile.am): Likewise.
66115         * modules/strerror (Makefile.am): Likewise.
66116         * modules/strftime (Makefile.am): Likewise.
66117         * modules/strndup (Makefile.am): Likewise.
66118         * modules/strnlen (Makefile.am): Likewise.
66119         * modules/strpbrk (Makefile.am): Likewise.
66120         * modules/strsep (Makefile.am): Likewise.
66121         * modules/strstr (Makefile.am): Likewise.
66122         * modules/strtod (Makefile.am): Likewise.
66123         * modules/strtoimax (Makefile.am): Likewise.
66124         * modules/strtok_r (Makefile.am): Likewise.
66125         * modules/strtol (Makefile.am): Likewise.
66126         * modules/strtoll (Makefile.am): Likewise.
66127         * modules/strtoul (Makefile.am): Likewise.
66128         * modules/strtoull (Makefile.am): Likewise.
66129         * modules/strtoumax (Makefile.am): Likewise.
66130         * modules/strverscmp (Makefile.am): Likewise.
66131         * modules/sys_socket (Makefile.am): Likewise.
66132         * modules/sys_stat (Makefile.am): Likewise.
66133         * modules/sysexits (Makefile.am): Likewise.
66134         * modules/time_r (Makefile.am): Likewise.
66135         * modules/timegm (Makefile.am): Likewise.
66136         * modules/timespec (Makefile.am): Likewise.
66137         * modules/tmpfile-safer (Makefile.am): Likewise.
66138         * modules/trim (Makefile.am): Likewise.
66139         * modules/unistd-safer (Makefile.am): Likewise.
66140         * modules/unlinkdir (Makefile.am): Likewise.
66141         * modules/unlocked-io (Makefile.am): Likewise.
66142         * modules/userspec (Makefile.am): Likewise.
66143         * modules/utime (Makefile.am): Likewise.
66144         * modules/utimecmp (Makefile.am): Likewise.
66145         * modules/utimens (Makefile.am): Likewise.
66146         * modules/vasnprintf (Makefile.am): Likewise.
66147         * modules/vasprintf (Makefile.am): Likewise.
66148         * modules/vsnprintf (Makefile.am): Likewise.
66149         * modules/xalloc (Makefile.am): Likewise.
66150         * modules/xgetcwd (Makefile.am): Likewise.
66151         * modules/xnanosleep (Makefile.am): Likewise.
66152         * modules/xreadlink (Makefile.am): Likewise.
66153         * modules/xstrtod (Makefile.am): Likewise.
66154         * modules/xstrtol (Makefile.am): Likewise.
66155         * modules/xstrtold (Makefile.am): Likewise.
66156         * modules/yesno (Makefile.am): Likewise.
66157         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66158
66159 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66160
66161         * modules/error (Makefile.am): Distribute files through
66162         EXTRA_DIST, not lib_SOURCES.
66163
66164 2006-10-12  Eric Blake  <ebb9@byu.net>
66165
66166         * modules/error (Makefile.am): Distribute files in /lib.
66167         * modules/obstack (Makefile.am): Likewise.
66168
66169 2006-10-12  Bruno Haible  <bruno@clisp.org>
66170
66171         * modules/acl (Makefile.am): Distribute all files in lib/ through
66172         EXTRA_DIST.
66173         * modules/arcfour (Makefile.am): Likewise.
66174         * modules/arctwo (Makefile.am): Likewise.
66175         * modules/argmatch (Makefile.am): Likewise.
66176         * modules/argz (Makefile.am): Likewise.
66177         * modules/atexit (Makefile.am): Likewise.
66178         * modules/backupfile (Makefile.am): Likewise.
66179         * modules/c-strtod (Makefile.am): Likewise.
66180         * modules/c-strtold (Makefile.am): Likewise.
66181         * modules/calloc (Makefile.am): Likewise.
66182         * modules/canon-host (Makefile.am): Likewise.
66183         * modules/canonicalize (Makefile.am): Likewise.
66184         * modules/chdir-long (Makefile.am): Likewise.
66185         * modules/chdir-safer (Makefile.am): Likewise.
66186         * modules/check-version (Makefile.am): Likewise.
66187         * modules/chown (Makefile.am): Likewise.
66188         * modules/cloexec (Makefile.am): Likewise.
66189         * modules/close-stream (Makefile.am): Likewise.
66190         * modules/closeout (Makefile.am): Likewise.
66191         * modules/crc (Makefile.am): Likewise.
66192         * modules/cycle-check (Makefile.am): Likewise.
66193         * modules/des (Makefile.am): Likewise.
66194         * modules/dirfd (Makefile.am): Likewise.
66195         * modules/dirname (Makefile.am): Likewise.
66196         * modules/dup2 (Makefile.am): Likewise.
66197         * modules/euidaccess (Makefile.am): Likewise.
66198         * modules/exclude (Makefile.am): Likewise.
66199         * modules/exitfail (Makefile.am): Likewise.
66200         * modules/fcntl-safer (Makefile.am): Likewise.
66201         * modules/file-type (Makefile.am): Likewise.
66202         * modules/fileblocks (Makefile.am): Likewise.
66203         * modules/filemode (Makefile.am): Likewise.
66204         * modules/filenamecat (Makefile.am): Likewise.
66205         * modules/fnmatch (Makefile.am): Likewise.
66206         * modules/fopen-safer (Makefile.am): Likewise.
66207         * modules/fpending (Makefile.am): Likewise.
66208         * modules/fprintftime (Makefile.am): Likewise.
66209         * modules/free (Makefile.am): Likewise.
66210         * modules/fsusage (Makefile.am): Likewise.
66211         * modules/ftruncate (Makefile.am): Likewise.
66212         * modules/fts (Makefile.am): Likewise.
66213         * modules/gc (Makefile.am): Likewise.
66214         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66215         * modules/getaddrinfo (Makefile.am): Likewise.
66216         * modules/getcwd (Makefile.am): Likewise.
66217         * modules/getdelim (Makefile.am): Likewise.
66218         * modules/getdomainname (Makefile.am): Likewise.
66219         * modules/getgroups (Makefile.am): Likewise.
66220         * modules/gethostname (Makefile.am): Likewise.
66221         * modules/gethrxtime (Makefile.am): Likewise.
66222         * modules/getline (Makefile.am): Likewise.
66223         * modules/getloadavg (Makefile.am): Likewise.
66224         * modules/getlogin_r (Makefile.am): Likewise.
66225         * modules/getopt (Makefile.am): Likewise.
66226         * modules/getpass (Makefile.am): Likewise.
66227         * modules/getpass-gnu (Makefile.am): Likewise.
66228         * modules/getsubopt (Makefile.am): Likewise.
66229         * modules/gettime (Makefile.am): Likewise.
66230         * modules/gettimeofday (Makefile.am): Likewise.
66231         * modules/getugroups (Makefile.am): Likewise.
66232         * modules/getusershell (Makefile.am): Likewise.
66233         * modules/glob (Makefile.am): Likewise.
66234         * modules/group-member (Makefile.am): Likewise.
66235         * modules/hard-locale (Makefile.am): Likewise.
66236         * modules/hash (Makefile.am): Likewise.
66237         * modules/hmac-md5 (Makefile.am): Likewise.
66238         * modules/hmac-sha1 (Makefile.am): Likewise.
66239         * modules/human (Makefile.am): Likewise.
66240         * modules/idcache (Makefile.am): Likewise.
66241         * modules/imaxabs (Makefile.am): Likewise.
66242         * modules/imaxdiv (Makefile.am): Likewise.
66243         * modules/inet_ntop (Makefile.am): Likewise.
66244         * modules/inet_pton (Makefile.am): Likewise.
66245         * modules/inttostr (Makefile.am): Likewise.
66246         * modules/isapipe (Makefile.am): Likewise.
66247         * modules/lchown (Makefile.am): Likewise.
66248         * modules/long-options (Makefile.am): Likewise.
66249         * modules/lstat (Makefile.am): Likewise.
66250         * modules/malloc (Makefile.am): Likewise.
66251         * modules/mathl (Makefile.am): Likewise.
66252         * modules/mbchar (Makefile.am): Likewise.
66253         * modules/md2 (Makefile.am): Likewise.
66254         * modules/md4 (Makefile.am): Likewise.
66255         * modules/md5 (Makefile.am): Likewise.
66256         * modules/memcasecmp (Makefile.am): Likewise.
66257         * modules/memchr (Makefile.am): Likewise.
66258         * modules/memcmp (Makefile.am): Likewise.
66259         * modules/memcoll (Makefile.am): Likewise.
66260         * modules/memcpy (Makefile.am): Likewise.
66261         * modules/memmem (Makefile.am): Likewise.
66262         * modules/memmove (Makefile.am): Likewise.
66263         * modules/mempcpy (Makefile.am): Likewise.
66264         * modules/memrchr (Makefile.am): Likewise.
66265         * modules/memset (Makefile.am): Likewise.
66266         * modules/memxor (Makefile.am): Likewise.
66267         * modules/mkancesdirs (Makefile.am): Likewise.
66268         * modules/mkdir (Makefile.am): Likewise.
66269         * modules/mkdir-p (Makefile.am): Likewise.
66270         * modules/mkdtemp (Makefile.am): Likewise.
66271         * modules/mkstemp (Makefile.am): Likewise.
66272         * modules/mktime (Makefile.am): Likewise.
66273         * modules/modechange (Makefile.am): Likewise.
66274         * modules/mountlist (Makefile.am): Likewise.
66275         * modules/nanosleep (Makefile.am): Likewise.
66276         * modules/openat (Makefile.am): Likewise.
66277         * modules/pagealign_alloc (Makefile.am): Likewise.
66278         * modules/physmem (Makefile.am): Likewise.
66279         * modules/poll (Makefile.am): Likewise.
66280         * modules/posixtm (Makefile.am): Likewise.
66281         * modules/posixver (Makefile.am): Likewise.
66282         * modules/putenv (Makefile.am): Likewise.
66283         * modules/quote (Makefile.am): Likewise.
66284         * modules/quotearg (Makefile.am): Likewise.
66285         * modules/raise (Makefile.am): Likewise.
66286         * modules/read-file (Makefile.am): Likewise.
66287         * modules/readline (Makefile.am): Likewise.
66288         * modules/readlink (Makefile.am): Likewise.
66289         * modules/readtokens (Makefile.am): Likewise.
66290         * modules/readutmp (Makefile.am): Likewise.
66291         * modules/realloc (Makefile.am): Likewise.
66292         * modules/regex (Makefile.am): Likewise.
66293         * modules/rename (Makefile.am): Likewise.
66294         * modules/rename-dest-slash (Makefile.am): Likewise.
66295         * modules/rijndael (Makefile.am): Likewise.
66296         * modules/rmdir (Makefile.am): Likewise.
66297         * modules/rpmatch (Makefile.am): Likewise.
66298         * modules/safe-read (Makefile.am): Likewise.
66299         * modules/safe-write (Makefile.am): Likewise.
66300         * modules/same (Makefile.am): Likewise.
66301         * modules/save-cwd (Makefile.am): Likewise.
66302         * modules/savedir (Makefile.am): Likewise.
66303         * modules/setenv (Makefile.am): Likewise.
66304         * modules/settime (Makefile.am): Likewise.
66305         * modules/sha1 (Makefile.am): Likewise.
66306         * modules/sig2str (Makefile.am): Likewise.
66307         * modules/snprintf (Makefile.am): Likewise.
66308         * modules/stdlib-safer (Makefile.am): Likewise.
66309         * modules/stpcpy (Makefile.am): Likewise.
66310         * modules/stpncpy (Makefile.am): Likewise.
66311         * modules/strcase (Makefile.am): Likewise.
66312         * modules/strcasestr (Makefile.am): Likewise.
66313         * modules/strchrnul (Makefile.am): Likewise.
66314         * modules/strcspn (Makefile.am): Likewise.
66315         * modules/strdup (Makefile.am): Likewise.
66316         * modules/strerror (Makefile.am): Likewise.
66317         * modules/strftime (Makefile.am): Likewise.
66318         * modules/strndup (Makefile.am): Likewise.
66319         * modules/strnlen (Makefile.am): Likewise.
66320         * modules/strpbrk (Makefile.am): Likewise.
66321         * modules/strsep (Makefile.am): Likewise.
66322         * modules/strstr (Makefile.am): Likewise.
66323         * modules/strtod (Makefile.am): Likewise.
66324         * modules/strtoimax (Makefile.am): Likewise.
66325         * modules/strtok_r (Makefile.am): Likewise.
66326         * modules/strtol (Makefile.am): Likewise.
66327         * modules/strtoll (Makefile.am): Likewise.
66328         * modules/strtoul (Makefile.am): Likewise.
66329         * modules/strtoull (Makefile.am): Likewise.
66330         * modules/strtoumax (Makefile.am): Likewise.
66331         * modules/strverscmp (Makefile.am): Likewise.
66332         * modules/time_r (Makefile.am): Likewise.
66333         * modules/timegm (Makefile.am): Likewise.
66334         * modules/tmpfile-safer (Makefile.am): Likewise.
66335         * modules/unistd-safer (Makefile.am): Likewise.
66336         * modules/unlinkdir (Makefile.am): Likewise.
66337         * modules/userspec (Makefile.am): Likewise.
66338         * modules/utime (Makefile.am): Likewise.
66339         * modules/utimecmp (Makefile.am): Likewise.
66340         * modules/utimens (Makefile.am): Likewise.
66341         * modules/vasnprintf (Makefile.am): Likewise.
66342         * modules/vasprintf (Makefile.am): Likewise.
66343         * modules/vsnprintf (Makefile.am): Likewise.
66344         * modules/xalloc (Makefile.am): Likewise.
66345         * modules/xgetcwd (Makefile.am): Likewise.
66346         * modules/xnanosleep (Makefile.am): Likewise.
66347         * modules/xreadlink (Makefile.am): Likewise.
66348         * modules/xstrtod (Makefile.am): Likewise.
66349         * modules/xstrtol (Makefile.am): Likewise.
66350         * modules/xstrtold (Makefile.am): Likewise.
66351         * modules/yesno (Makefile.am): Likewise.
66352
66353 2006-10-12  Jim Meyering  <jim@meyering.net>
66354
66355         * m4/getloadavg.m4: Revert the change below.
66356
66357         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66358         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66359         fail with a symlink, which is what coreutils' ./bootstrap now
66360         creates by default.
66361
66362 2006-10-12  Bruno Haible  <bruno@clisp.org>
66363
66364         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66365         mingw.
66366         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66367         MSVC and mingw explicitly.
66368
66369 2006-10-11  Simon Josefsson  <jas@extundo.com>
66370             Bruno Haible  <bruno@clisp.org>
66371
66372         Add support for multiple gnulib-tool invocations in the scope of a
66373         single configure.ac file.
66374         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66375         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66376         with the same contents as the _LIBADD variable.
66377         (func_emit_initmacro_start, func_emit_initmacro_end,
66378         func_emit_initmacro_done): New functions.
66379         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66380         gl_LIBOBJS and gl_LTLIBOBJS.
66381
66382 2006-10-11  Bruno Haible  <bruno@clisp.org>
66383
66384         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66385         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66386         autoreconf. Instead, invoke autopoint explicitly but move back the
66387         *.m4 files from gnulib.
66388
66389 2006-10-11  Bruno Haible  <bruno@clisp.org>
66390
66391         * gnulib-tool (func_usage): Make module names after --create-testdir
66392         optional.
66393         (func_create_testdir): If no module was specified, use nearly all
66394         modules.
66395
66396 2006-10-12  Jim Meyering  <jim@meyering.net>
66397
66398         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66399         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66400         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66401         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66402         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66403         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66404         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66405         (fts_set_stat_required): New function.
66406         (fts_open): Defer the calls to fts_stat, if possible or requested.
66407         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66408         into fts_stat itself.
66409         (fts_read): Perform any required (deferred) fts_stat call.
66410         (fts_build): Likewise, for the directory we're about to open and read.
66411         In the readdir loop, carefully decide whether each entry will require
66412         an eventual call to fts_stat, using dirent.d_type info if available.
66413         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66414         a command line argument into this function.  Update all callers.
66415         Map a return value of FTS_DOT to FTS_D for a command line argument.
66416         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66417         Thanks to Miklos Szeredi for his tenacity and for the initial
66418         bug report about "find" failing on a FUSE-based file system.
66419
66420         * lib/fts.c (fts_open): Use consistent indentation.
66421
66422 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66423
66424         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66425         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66426         reported by Jim Meyering.  All uses of cache variables renamed
66427         to match Autoconf's.
66428         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66429         the other one.
66430
66431         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66432         Fix misspelling in diagnostic.
66433
66434 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66435
66436         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66437         defined.  Problem reported by Matthew Woehlke.
66438
66439         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66440         Add support for Tandem NonStop R series.
66441         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66442         Use new macro.
66443
66444         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66445         (has_trailing_slash): Omit size arg; all callers changed.
66446         Omit 'inline', since it doesn't help performance and we'd
66447         need to configure it.
66448         Don't count //, ///, etc. as having a trailing slash.
66449         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66450         (rpl_rename_dest_slash): On failure, use rename's errno rather
66451         than (in some cases) an incorrect or junk errno.
66452         Simplify code by removing need to compute length; this does
66453         cause it to make two passes instead of one over the file name,
66454         but it's worth it.
66455
66456         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66457         change, since Autoconf's version may no longer be appropriate now
66458         that we are using CVS Autoconf's version.  Add support for Tandem.
66459
66460 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66461             Bruno Haible  <bruno@clisp.org>
66462
66463         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66464         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66465         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66466         gl_AC_TYPE_LONG_LONG.
66467
66468         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
66469         instead of HAVE_LONG_LONG.
66470         * lib/printf-args.c (printf_fetchargs): Likewise.
66471         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
66472         * lib/vasnprintf.c (VASNPRINTF): Likewise.
66473         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
66474         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
66475         gl_AC_TYPE_LONG_LONG.
66476
66477 2006-10-11  Bruno Haible  <bruno@clisp.org>
66478
66479         * m4/longlong.m4: Add comments.
66480         * m4/ulonglong.m4: Likewise.
66481
66482 2006-10-10  Bruno Haible  <bruno@clisp.org>
66483
66484         Make it possible to #define stpcpy, strdup to aliases.
66485         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
66486         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
66487
66488 2006-10-10  Bruno Haible  <bruno@clisp.org>
66489
66490         Make it possible to #define gcd to an alias.
66491         * lib/gcd.c: Include config.h.
66492
66493 2006-10-10  Bruno Haible  <bruno@clisp.org>
66494
66495         Make it possible to #define c_isascii to an alias.
66496         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
66497         defined. Undefine the macros before defining them, to avoid gcc
66498         warnings.
66499         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
66500         define NO_C_CTYPE_MACROS early.
66501
66502 2006-10-10  Bruno Haible  <bruno@clisp.org>
66503
66504         Make it possible to #define set_program_name to an alias.
66505         * lib/progname.c: Don't undefine set_program_name; instead, undefine
66506         ENABLE_RELOCATABLE early.
66507
66508 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66509
66510         Port to Tandem NSK OSS, which has 64-bit signed int but at most
66511         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
66512         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
66513         More generally, don't assume that 64-bit signed int is available
66514         if unsigned int is, and vice versa.
66515         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
66516         unsigned symbols, not on their signed counterparts.
66517         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
66518         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
66519         (UINT64_C, UINTMAX_C):
66520         Likewise.
66521         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
66522         unsigned counterparts.
66523         (Have_long_long, Unsigned): New macros.
66524         (Int): Renamed from INT.
66525         (strtoimax): Use the new macros.
66526         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
66527         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
66528         * modules/inttypes (inttypes.h): Substitute
66529         HAVE_UNSIGNED_LONG_LONG_INT.
66530         * modules/stdint (stdint.h): Likewise.
66531         (Files): Add m4/ulonglong.m4.
66532
66533 2006-10-10  Bruno Haible  <bruno@clisp.org>
66534
66535         Fix a gcc -Wshadow warning.
66536         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
66537         to 'bucket'.
66538         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
66539         gl_linked_indexof_from_to): Likewise.
66540         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
66541         Likewise.
66542         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
66543         Likewise.
66544         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
66545         Reported by Eric Blake.
66546
66547 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
66548
66549         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
66550         for NetBSD.  Problem reported by Bruno Haible.
66551
66552 2006-10-09  Jim Meyering  <jim@meyering.net>
66553
66554         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
66555         Patch from Bruno Haible.
66556
66557 2006-10-09  Jim Meyering  <jim@meyering.net>
66558
66559         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
66560         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
66561         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
66562
66563 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66564
66565         Don't include <config.h> twice; this doesn't work in some cases,
66566         e.g., when config.h has "#define intmax_t long long int" and
66567         we include <config.h>, <inttypes.h>, <config.h> in that order.
66568         Problem reported by Matthew Woehlke in:
66569         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
66570         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
66571         * lib/fts-cycle.c: Don't include config.h.
66572         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
66573         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
66574         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
66575         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
66576         inttypes.h.
66577         * lib/xstrtoumax.c: Likewise.
66578         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
66579         __strtol and the like, so that this module is more like its siblings.
66580         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
66581         Remove; no longer needed now that we assume gnulib inttypes.h.
66582
66583 2006-10-08  Bruno Haible  <bruno@clisp.org>
66584
66585         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
66586         option.
66587
66588 2006-10-07  Jim Meyering  <jim@meyering.net>
66589
66590         * modules/inttypes (inttypes.h): Revert what seems to have been
66591         an inadvertent part of today's change: use "|", not "/" in the
66592         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
66593
66594 2006-10-07  Bruno Haible  <bruno@clisp.org>
66595
66596         * modules/sublist: New file.
66597
66598 2006-10-07  Bruno Haible  <bruno@clisp.org>
66599
66600         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
66601         * modules/argz (argz.h): Likewise.
66602         * modules/arpa_inet (arpa/inet.h): Likewise.
66603         * modules/byteswap (byteswap.h): Likewise.
66604         * modules/configmake (configmake.h): Likewise.
66605         * modules/fcntl (fcntl.h): Likewise.
66606         * modules/fnmatch (fnmatch.h): Likewise.
66607         * modules/getopt (getopt.h): Likewise.
66608         * modules/glob (glob.h): Likewise.
66609         * modules/inttypes (inttypes.h): Likewise.
66610         * modules/netinet_in (netinet/in.h): Likewise.
66611         * modules/poll (poll.h): Likewise.
66612         * modules/stdbool (stdbool.h): Likewise.
66613         * modules/stdint (stdint.h): Likewise.
66614         * modules/sys_select (sys/select.h): Likewise.
66615         * modules/sys_socket (sys/socket.h): Likewise.
66616         * modules/sys_stat (sys/stat.h): Likewise.
66617         * modules/sysexits (sysexits.h): Likewise.
66618         * modules/unistd (unistd.h): Likewise.
66619         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66620         Add a "DO NOT EDIT" comment to the generated file.
66621         (func_import): Likewise for gnulib-comp.m4.
66622
66623 2006-10-07  Bruno Haible  <bruno@clisp.org>
66624
66625         * lib/gl_sublist.h: New file.
66626         * lib/gl_sublist.c: New file.
66627
66628 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66629
66630         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
66631         name (relative to the original working directory) and the file
66632         name component (relative to the temporary working directory).  All
66633         callers changed.
66634         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
66635         * lib/mkdir-p.c (make_dir_parents): Likewise.
66636         * lib/mkdir-p.h (make_dir_parents): Likewise.
66637
66638 2006-10-06  Eric Blake  <ebb9@byu.net>
66639
66640         Define several macros for use by the clean-temp module.
66641         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
66642         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
66643         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
66644
66645         * lib/clean-temp.h (close_stream_temp): New declaration.
66646         * lib/clean-temp.c (includes): Pull in headers according to what
66647         other modules are in use.
66648         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
66649
66650 2006-10-06  Bruno Haible  <bruno@clisp.org>
66651
66652         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
66653         instead of fopen, fwriteerror.
66654
66655 2006-10-06  Bruno Haible  <bruno@clisp.org>
66656
66657         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
66658         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
66659         int.
66660         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
66661         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
66662         Return an error indicator.
66663         Suggested by Eric Blake.
66664
66665 2006-10-06  Bruno Haible  <bruno@clisp.org>
66666
66667         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
66668         Reported by Eric Blake.
66669
66670 2006-10-06  Bruno Haible  <bruno@clisp.org>
66671
66672         * modules/closeout (Description): Mention stderr too.
66673
66674 2006-10-06  Bruno Haible  <bruno@clisp.org>
66675         and Paul Eggert  <eggert@cs.ucla.edu>
66676
66677         * lib/closeout.c (close_stdout): Also close stderr.
66678         * lib/closeout.h: Update comment.
66679
66680 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
66681
66682         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
66683         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
66684         * lib/dirchownmod.c: Include lchown.h.
66685         * lib/lchown.c: Don't include files that lchown.h now includes.
66686         Don't declare chown, since lchown.h now does that.
66687         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
66688         (lchown): Define to rpl_chown if lchown is declared but
66689         does not exist.  Declare using a prototype if lchown is not
66690         declared.  Add a copyright notice.
66691         * lib/mkstemp.h: Include <unistd.h>.
66692         * lib/openat.c: Include lchown.h.
66693
66694         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
66695         we now test for that separately.
66696         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
66697         rather than O_NOFOLLOW, when testing whether it's possible to
66698         avoid a race condition reliably.
66699         * lib/savewd.c (savewd_chdir): Likewise.
66700
66701         Remove macros that are no longer needed now that stdint.h is
66702         reliable.
66703         * lib/fsusage.c (UINTMAX_MAX): Remove.
66704         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
66705         * lib/utimecmp.c (SIZE_MAX): Remove.
66706
66707         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
66708
66709         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
66710         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
66711         O_NOATIME works.
66712
66713 2006-10-05  Bruno Haible  <bruno@clisp.org>
66714
66715         * lib/gl_list.h (gl_sortedlist_search_from_to,
66716         gl_sortedlist_indexof_from_to): New declarations.
66717         (gl_list_implementation): New fields sortedlist_search_from_to,
66718         sortedlist_indexof_from_to.
66719         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
66720         inline functions.
66721         * lib/gl_list.c (gl_sortedlist_search_from_to,
66722         gl_sortedlist_indexof_from_to): New functions.
66723         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
66724         function.
66725         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
66726         (gl_array_sortedlist_search_from_to): New function.
66727         (gl_array_list_implementation): Update.
66728         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
66729         function.
66730         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
66731         (gl_carray_sortedlist_search_from_to): New function.
66732         (gl_carray_list_implementation): Update.
66733         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
66734         gl_linked_sortedlist_indexof_from_to): New functions.
66735         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
66736         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
66737         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
66738         gl_tree_sortedlist_indexof_from_to): New functions.
66739         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
66740         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
66741         Update.
66742         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
66743         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
66744         Update.
66745
66746 2006-10-05  Bruno Haible  <bruno@clisp.org>
66747
66748         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
66749         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
66750         (struct gl_list_implementation): Add fields search_from_to,
66751         indexof_from_to. Remove fields search, indexof.
66752         (gl_list_search): Use the search_from_to method.
66753         (gl_list_search_from, gl_list_search_from_to): New functions.
66754         (gl_list_indexof): Use the indexof_from_to method.
66755         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
66756         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
66757         (gl_list_search_from, gl_list_search_from_to): New functions.
66758         (gl_list_indexof): Use the indexof_from_to method.
66759         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
66760         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
66761         gl_array_indexof. Add start_index, end_index arguments.
66762         (gl_array_search_from_to): Renamed from gl_array_search. Add
66763         start_index, end_index arguments.
66764         (gl_array_remove, gl_array_list_implementation): Update.
66765         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
66766         gl_carray_indexof. Add start_index, end_index arguments.
66767         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
66768         start_index, end_index arguments.
66769         (gl_carray_remove, gl_carray_list_implementation): Update.
66770         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
66771         gl_linked_search. Add start_index, end_index arguments.
66772         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
66773         start_index, end_index arguments.
66774         (gl_linked_remove): Update.
66775         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
66776         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
66777         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
66778         field to 'size_t'.
66779         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
66780         gl_tree_search. Add start_index, end_index arguments.
66781         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
66782         start_index, end_index arguments.
66783         (gl_tree_remove): Update.
66784         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
66785         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
66786         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
66787         function.
66788         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
66789         gl_tree_search. Add start_index, end_index arguments.
66790         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
66791         start_index, end_index arguments.
66792         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
66793         Update.
66794         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
66795
66796 2006-10-05  Bruno Haible  <bruno@clisp.org>
66797
66798         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
66799
66800         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
66801         fwriteerror_temp): New declarations.
66802         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
66803         (descriptors): New variable.
66804         (cleanup): First, close the descriptors.
66805         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
66806         fclose_temp, fwriteerror_temp): New functions.
66807
66808 2006-10-04  Jim Meyering  <jim@meyering.net>
66809
66810         * lib/fts.c (fts_open): Tiny comment change.
66811
66812 2006-10-04  Bruno Haible  <bruno@clisp.org>
66813
66814         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
66815         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
66816         gl_LOCK_BODY.
66817         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
66818         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
66819         gl_LOCK_EARLY_BODY.
66820         (gl_LOCK): Require gl_LOCK_BODY.
66821
66822 2006-10-04  Bruno Haible  <bruno@clisp.org>
66823
66824         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
66825         (gl_oset_search_atleast): New declaration.
66826         (struct gl_oset_implementation): Add field 'search_atleast'.
66827         (gl_oset_search_atleast): New inline function.
66828         * lib/gl_oset.c (gl_oset_search_atleast): New function.
66829         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
66830         (gl_array_oset_implementation): Update.
66831         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
66832         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
66833         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
66834
66835 2006-10-04  Bruno Haible  <bruno@clisp.org>
66836
66837         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
66838
66839 2006-10-03  Bruno Haible  <bruno@clisp.org>
66840
66841         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
66842         from gl_avltreehash_list_implementation.
66843
66844 2006-10-03  Bruno Haible  <bruno@clisp.org>
66845
66846         * lib/gl_oset.c (gl_oset_add): Fix return type.
66847
66848 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
66849
66850         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
66851
66852 2006-10-02  Eric Blake  <ebb9@byu.net>
66853
66854         * modules/strnlen (Depends-on): Add extensions.
66855
66856 2006-10-02  Eric Blake  <ebb9@byu.net>
66857
66858         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
66859         definition in 2.60+.
66860
66861 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
66862
66863         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
66864         checks.
66865
66866 2006-10-02  Bruno Haible  <bruno@clisp.org>
66867
66868         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
66869         to the AUTOMAKE_OPTIONS.
66870         Reported by Jim Meyering.
66871
66872 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
66873
66874         Work around bug in Solaris 10 /proc file system:
66875         /proc/self/fd/NNN/.. isn't the parent directory of
66876         the directory whose file descriptor is NNN.  This needs to
66877         be worked around at run time, not compile time, since a
66878         program might be built on Solaris 8, where things work, and
66879         run on Solaris 10.
66880         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
66881         to use the following interface instead:
66882         (OPENAT_BUFFER_SIZE): New macro.
66883         (openat_proc_name): New function.
66884         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
66885         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
66886         Likewise.
66887         * lib/openat-proc.c: New file.
66888         * modules/openat (Files): Add lib/openat-proc.c.
66889         (Depends-on): Add same-inode, stdbool.
66890         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
66891
66892 2006-09-29  Bruno Haible  <bruno@clisp.org>
66893
66894         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
66895         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
66896         argument. Set stdout_closed before testing for ferror, not after.
66897         (fwriteerror, fwriteerror_no_ebadf): New functions.
66898
66899 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66900
66901         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
66902
66903 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
66904
66905         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
66906         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
66907
66908 2006-09-28  Jim Meyering  <jim@meyering.net>
66909
66910         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
66911         Include <unistd.h>.
66912
66913 2006-09-28  Bruno Haible  <bruno@clisp.org>
66914
66915         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
66916         * modules/linkedhash-list (Depends-on): Likewise.
66917         * modules/rbtreehash-list (Depends-on): Likewise.
66918
66919 2006-09-28  Bruno Haible  <bruno@clisp.org>
66920
66921         * lib/strndup.h: Simplify the redefinition of strndup.
66922         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
66923         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
66924
66925 2006-09-28  Bruno Haible  <bruno@clisp.org>
66926
66927         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
66928         * lib/gl_linkedhash_list.c: Likewise.
66929         * lib/gl_rbtreehash_list.c: Likewise.
66930
66931 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
66932
66933         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
66934         getaddrinfo.
66935
66936         * lib/__fpending.h: Don't include <stdio_ext.h> unless
66937         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
66938         it causes <stdio_ext.h> to cause a compile-time error.
66939         Problem reported by Nelson H. F. Beebe.
66940         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
66941         of HAVE_DECL___PENDING.
66942
66943         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
66944         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
66945         declaration.
66946
66947 2006-09-27  Jim Meyering  <jim@meyering.net>
66948
66949         This file could end up with a definition for a function
66950         named __strndup, rather than rpl_strndup on a system with
66951         incomplete weak_alias support.
66952         * lib/strndup.c (strndup): Rename from __strndup.
66953         Remove #defines that used to map __strndup to strndup.
66954         Don't use K&R prototypes.
66955         Remove LIBC-related code, since this file is not sync'd with glibc.
66956         * lib/strndup.h: Revamp, accordingly.
66957         * m4/strndup.m4: Modernize.
66958
66959 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
66960
66961         * modules/savewd (Depends-on): Add 'raise'.
66962         * lib/savewd.c: Include <signal.h>, for 'raise'.
66963
66964 2006-09-26  Jim Meyering  <jim@meyering.net>
66965
66966         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
66967         when we detect Darwin 8.7.0's acl_get_file bug.
66968         Rearrange to perform the new (below) run-test while $LIBS
66969         contains any acl-related library.  Set USE_ACL at the end.
66970         (gl_ACL_GET_FILE): New function.
66971
66972 2006-09-26  Eric Blake  <ebb9@byu.net>
66973
66974         * lib/verror.c: Include <config.h> unconditionally.
66975
66976 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
66977
66978         * modules/clock-time (Maintainer): Add self.
66979         * modules/getlogin_r (Depends-on): Add extensions.
66980
66981 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66982
66983         * modules/clock-time: New module.
66984         * modules/nanosleep (Depends-on): Add clock-time.
66985         * modules/gethrxtime (Depends-on): Likewise.
66986         * modules/gettime (Depends-on): Likewise.
66987         * modules/settime (Depends-on): Likewise.
66988
66989         * modules/fts-lgpl: Depend on openat.
66990         * modules/mkancesdirs: Depend on savewd.
66991         * modules/mkdir-p: Likewise.
66992
66993 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66994
66995         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
66996
66997         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
66998         `gl_have_arbitrary_file_name_length_limit' to
66999         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67000         actually works between configure runs.
67001
67002 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67003             Bruno Haible  <bruno@clisp.org>
67004
67005         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67006
67007 2006-09-25  Jim Meyering  <jim@meyering.net>
67008
67009         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67010         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67011
67012 2006-09-25  Eric Blake  <ebb9@byu.net>
67013
67014         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67015         exec's in 2006-09-18 patch when shuffling fds.
67016
67017 2006-09-25  Bruno Haible  <bruno@clisp.org>
67018
67019         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67020         Reported by Jim Meyering.
67021
67022 2006-09-24  Jim Meyering  <jim@meyering.net>
67023
67024         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67025         compare a pointer against a literal "0".  That caused failures with
67026         at least HP-UX's hpcc.
67027
67028 2006-09-22  Simon Josefsson  <jas@extundo.com>
67029
67030         * modules/gc-sha1:
67031         * modules/gc-md4:
67032         * modules/gc-hmac-sha1:
67033         * modules/gc-hmac-md5:
67034         * modules/gc-des:
67035         * modules/gc-arcfour: Distribute more files.
67036
67037 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67038
67039         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67040         (gl_linked_iterator_from_to): Initialize struct completely.
67041         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67042         (gl_tree_iterator_from_to): Likewise
67043         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67044         * lib/gl_array_list.c [lint] (gl_array_iterator)
67045         (gl_array_iterator_from_to): Likewise.
67046         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67047         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67048         (gl_carray_iterator_from_to): Likewise.
67049
67050         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67051         * lib/md4.c (md4_process_block): Remove unused variable.
67052         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67053         parentheses for clarity.
67054
67055 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67056
67057         * modules/bison-i18n (Depends-on): Add gettext.
67058
67059 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67060
67061         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67062         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67063         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67064         also add missing comma that caused broken test.
67065         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67066         stdlib.h, for `abort'.
67067         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67068         variables.
67069         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67070         include unistd.h if present, for `rmdir'.
67071         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67072         variables.
67073         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67074         in the process include standard headers for prototypes.
67075         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67076         gets declared on GNU/Linux.
67077         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67078         unistd.h, for `rmdir'.
67079         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67080
67081         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67082         always true.
67083         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67084
67085         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67086
67087 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67088
67089         * gnulib-tool (func_version): Create output all at once.  This
67090         may help avoid triggering unnecessary SIGPIPEs, and at any
67091         rate it doesn't hurt.
67092
67093 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67094             Bruno Haible  <bruno@clisp.org>
67095
67096         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67097         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67098         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67099
67100         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67101         (gl_FUNC_VASPRINTF): Invoke it.
67102
67103 2006-09-22  Bruno Haible  <bruno@clisp.org>
67104
67105         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67106         getloadavg.c as first argument.
67107
67108 2006-09-22  Bruno Haible  <bruno@clisp.org>
67109
67110         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67111         at the beginning of the gl_INIT macro.
67112         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67113         gl_GETLOADAVG.
67114
67115 2006-09-22  Bruno Haible  <bruno@clisp.org>
67116
67117         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67118         module.
67119         Suggested by Ralf Wildenhues.
67120
67121 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67122
67123         Import this patch from libc:
67124
67125         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67126
67127         * lib/regex_internal.c (re_string_reconstruct): Handle
67128         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67129         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67130         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67131         re_string_context_at.
67132
67133         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67134         now requires it.
67135         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67136         gl_REGEX now does it for us.
67137         (gl_REGEX): Add test taken from
67138         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67139
67140         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67141         Check that large offsets work.  Modernize Autoconf usages.
67142         Prefer "yes" to mean a good thing rather than a bad.
67143         Don't put "#define mkstemp" in config.h, as this might interfere
67144         with standard system headers that "#define mkstemp mkstemp64".
67145
67146         * modules/mkstemp (Depends-on): Add extensions, so that
67147         mkstemp is visible on some platforms.
67148         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67149         (Include): Change to "mkstemp.h" from <stdlib.h>.
67150         (Files): Add mkstemp.h.
67151
67152         * lib/mkstemp.h: New file, since some standard headers
67153         #define mkstemp.
67154         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67155         Include "mkstemp.h".
67156         Make the _LIBC code resemble glibc original more,
67157         e.g., use K&R style.
67158         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67159         (mkstemp): Remove, since mkstemp.h does this for us.
67160         * lib/stdlib--.h: Include mkstemp.h.
67161
67162         Import this patch from libc:
67163
67164         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67165
67166         * lib/tempname.c (__gen_tempname): Change attempts_min
67167         into a macro.  Use preprocessor to decide how to initialize
67168         attempts [Coverity CID 67].
67169
67170 2006-09-20  Bruno Haible  <bruno@clisp.org>
67171
67172         * lib/mkdtemp.c: Import from libc.
67173         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67174                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67175                 attempts_min into a macro.  Use preprocessor to decide how to
67176                 initialize attempts [Coverity CID 67].
67177         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67178                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67179                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67180
67181 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67182
67183         * gnulib-tool (func_exit): New function, to allow to pass the
67184         exit status portably through the trap.  Use everywhere.
67185         (--help, --version): Signal a write error.
67186         (trap): catch SIGPIPE, for write errors.
67187         Exit at the end of the trap, with the correct exit status.
67188
67189 2006-09-19  Karl Berry  <karl@gnu.org>
67190
67191         * doc/gnulib.texi: note about the license texinfo files.
67192
67193 2006-09-19  Eric Blake  <ebb9@byu.net>
67194
67195         * gnulib-tool: Avoid space-tab.
67196
67197 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67198
67199         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67200         that prevented coreutils 6.1 from building.  Problem reported
67201         by Petter Reinholdtsen.
67202
67203 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67204
67205         * gnulib-tool (avoidlist): Fix typo that broke options like
67206         --avoid=lock that are used by coreutils bootstrap.
67207
67208 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67209
67210         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67211         more systematically.
67212
67213 2006-09-18  Jim Meyering  <jim@meyering.net>
67214
67215         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67216
67217 2006-09-18  Bruno Haible  <bruno@clisp.org>
67218
67219         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67220
67221 2006-09-18  Bruno Haible  <bruno@clisp.org>
67222
67223         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67224         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67225         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67226         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67227         * m4/gettext.m4: Require autoconf >= 2.52.
67228         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67229         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67230         of gl_cv_header_inttypes_h.
67231
67232 2006-09-18  Bruno Haible  <bruno@clisp.org>
67233
67234         * lib/javaversion.c: Include configmake.h.
67235
67236 2006-09-18  Bruno Haible  <bruno@clisp.org>
67237
67238         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67239         avoid that the while loops be executed in a subshell.
67240
67241 2006-09-18  Bruno Haible  <bruno@clisp.org>
67242
67243         * MODULES.html.sh (func_module): Break long lines.
67244         Suggested by Bruce Korb <bkorb@gnu.org>.
67245
67246 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67247
67248         Speed up by a factor of 1.12.
67249         * gnulib-tool (nl): New variable.
67250         (func_import): Rewrite include directive extraction to only read each
67251         directive once.
67252
67253 2006-09-17  Bruno Haible  <bruno@clisp.org>
67254
67255         * modules/javaversion (Makefile.am): Remove DEFS setting.
67256         (Depends-on): Add configmake, for PKGDATADIR definition.
67257
67258 2006-09-17  Bruno Haible  <bruno@clisp.org>
67259
67260         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67261
67262 2006-09-17  Bruno Haible  <bruno@clisp.org>
67263
67264         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67265         (func_modules_transitive_closure, func_modules_add_dummy,
67266         func_modules_to_filelist, func_import, func_create_testdir,
67267         func_create_megatestdir, ...): Use it wherever possible.
67268         Suggested by Ralf Wildenhues.
67269
67270 2006-09-16  Karl Berry  <karl@gnu.org>
67271
67272         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67273         to avoid sectioning errors.
67274         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67275         [ifinfo]: blank line after @center-ed titles.
67276         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67277         Spell FSF address consistently with others.
67278         (These changes approved by rms.)
67279
67280 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67281
67282         Speed up by a factor of 1.61.
67283         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67284         already checked module names again.
67285
67286 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67287
67288         Speed up by a factor of 1.13.
67289         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67290         for new_files, and the input to func_add_or_update.
67291
67292 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67293
67294         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67295         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67296
67297 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67298
67299         * modules/mkancesdirs (Depends-on): Add fcntl.
67300         * modules/savewd: New file.
67301         * MODULES.html.sh (File system functions): Add savewd.
67302
67303         * modules/configmake (Makefile.am): Add support for the
67304         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67305
67306 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67307
67308         * m4/savewd.m4: New file.
67309
67310 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67311
67312         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67313         (dirchownmod): New arg FD.  All callers changed.
67314         Use FD rather than opening the directory ourself, as opening is
67315         now the caller's responsibility.
67316         * lib/dirchownmod.h: Likewise.
67317         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67318         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67319         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67320         (test_dir): Remove.
67321         (mkancesdirs): Return length of prefix of FILE that has already
67322         been made, or -2 if there is a child doing the work.  Redo
67323         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67324         ".", and treat ".." specially since it might stray back into
67325         already-created areas.  Use a subprocess if necessary.  New arg
67326         WD; all users changed.  MAKE_DIR function should now return 1
67327         if it creates a directory that is not readable.  Return -2 if
67328         a child process is spun off.
67329         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67330         Adjust signature to match code.
67331         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67332         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67333         all users changed.
67334         * lib/savewd.c, lib/savewd.h: New files.
67335
67336 2006-09-15  Jim Meyering  <jim@meyering.net>
67337
67338         * modules/rename-dest-slash: New module.
67339         * MODULES.html.sh (posix_compat): Add it here.
67340
67341         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67342
67343 2006-09-15  Jim Meyering  <jim@meyering.net>
67344
67345         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67346         file.
67347
67348         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67349
67350 2006-09-15  Jim Meyering  <jim@meyering.net>
67351
67352         * lib/rename-dest-slash.c (has_trailing_slash): Use
67353         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67354         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67355         test before testing whether SRC is a directory.
67356         Suggestions from Bruno Haible.
67357
67358         Avoid a warning about an unused variable.
67359         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67360         into the #ifdef block where it's used.
67361
67362         * lib/rename-dest-slash.c: New file.
67363
67364 2006-09-14  Bruno Haible  <bruno@clisp.org>
67365
67366         * lib/allocsa.c: Include <config.h> unconditionally.
67367         * lib/asnprintf.c: Likewise.
67368         * lib/asprintf.c: Likewise.
67369         * lib/c-strcasecmp.c: Likewise.
67370         * lib/c-strcasestr.c: Likewise.
67371         * lib/c-strncasecmp.c: Likewise.
67372         * lib/c-strstr.c: Likewise.
67373         * lib/classpath.c: Likewise.
67374         * lib/clean-temp.c: Likewise.
67375         * lib/concatpath.c: Likewise.
67376         * lib/copy-file.c: Likewise.
67377         * lib/csharpcomp.c: Likewise.
67378         * lib/csharpexec.c: Likewise.
67379         * lib/execute.c: Likewise.
67380         * lib/fatal-signal.c: Likewise.
67381         * lib/findprog.c: Likewise.
67382         * lib/fwriteerror.c: Likewise.
67383         * lib/gl_array_list.c: Likewise.
67384         * lib/gl_array_oset.c: Likewise.
67385         * lib/gl_avltree_list.c: Likewise.
67386         * lib/gl_avltree_oset.c: Likewise.
67387         * lib/gl_avltreehash_list.c: Likewise.
67388         * lib/gl_carray_list.c: Likewise.
67389         * lib/gl_linked_list.c: Likewise.
67390         * lib/gl_linkedhash_list.c: Likewise.
67391         * lib/gl_list.c: Likewise.
67392         * lib/gl_oset.c: Likewise.
67393         * lib/gl_rbtree_list.c: Likewise.
67394         * lib/gl_rbtree_oset.c: Likewise.
67395         * lib/gl_rbtreehash_list.c: Likewise.
67396         * lib/imaxabs.c: Likewise.
67397         * lib/imaxdiv.c: Likewise.
67398         * lib/javacomp.c: Likewise.
67399         * lib/javaexec.c: Likewise.
67400         * lib/javaversion.c: Likewise.
67401         * lib/linebreak.c: Likewise.
67402         * lib/localcharset.c: Likewise.
67403         * lib/lock.c: Likewise.
67404         * lib/mbchar.c: Likewise.
67405         * lib/mbswidth.c: Likewise.
67406         * lib/mkdtemp.c: Likewise.
67407         * lib/pipe.c: Likewise.
67408         * lib/printf-args.c: Likewise.
67409         * lib/printf-parse.c: Likewise.
67410         * lib/progname.c: Likewise.
67411         * lib/progreloc.c: Likewise.
67412         * lib/readlink.c: Likewise.
67413         * lib/sh-quote.c: Likewise.
67414         * lib/stpcpy.c: Likewise.
67415         * lib/stpncpy.c: Likewise.
67416         * lib/strcasecmp.c: Likewise.
67417         * lib/strcasestr.c: Likewise.
67418         * lib/strcspn.c: Likewise.
67419         * lib/striconv.c: Likewise.
67420         * lib/strncasecmp.c: Likewise.
67421         * lib/strnlen1.c: Likewise.
67422         * lib/strstr.c: Likewise.
67423         * lib/strtok_r.c: Likewise.
67424         * lib/tls.c: Likewise.
67425         * lib/tmpdir.c: Likewise.
67426         * lib/unicodeio.c: Likewise.
67427         * lib/unsetenv.c: Likewise.
67428         * lib/vasnprintf.c: Likewise.
67429         * lib/vasprintf.c: Likewise.
67430         * lib/wait-process.c: Likewise.
67431         * lib/xallocsa.c: Likewise.
67432         * lib/xsetenv.c: Likewise.
67433         * lib/xstriconv.c: Likewise.
67434
67435 2006-09-13  Simon Josefsson  <jas@extundo.com>
67436
67437         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67438         that internally, suggested by Ralf Wildenhues
67439         <Ralf.Wildenhues@gmx.de>.
67440
67441 2006-09-13  Simon Josefsson  <jas@extundo.com>
67442
67443         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67444         @LIBOBJS@.
67445         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67446
67447 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67448
67449         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67450         longer worry about uses that don't define HAVE_CONFIG_H.
67451         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67452         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67453         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67454         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67455         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67456         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67457         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67458         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67459         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67460         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67461         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67462         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67463         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67464         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67465         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67466         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67467         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67468         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
67469         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
67470         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
67471         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
67472         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
67473         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
67474         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
67475         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
67476         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
67477         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
67478         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
67479         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
67480         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
67481         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
67482         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
67483         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
67484         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
67485         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
67486         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
67487         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
67488         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
67489         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
67490         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
67491         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
67492         Likewise.
67493
67494 2006-09-13  Eric Blake  <ebb9@byu.net>
67495
67496         * lib/getopt.c: Fix typo in last commit.
67497
67498 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67499
67500         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
67501         dgettext.
67502
67503 2006-09-12  Jim Meyering  <jim@meyering.net>
67504
67505         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
67506         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
67507         Reported by Nelson H. F. Beebe.
67508
67509 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67510
67511         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
67512         program_invocation_name and program_invocation_short_name are
67513         initialized.
67514         * lib/argp-namefrob.h: Move declarations of program_invocation_name
67515         and program_invocation_short_name to argp.h, so they are visible
67516         to user programs.
67517         * lib/argp.h: Likewise
67518
67519 2006-09-10  Bruno Haible  <bruno@clisp.org>
67520
67521         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67522         m4/inttypes_h.m4, m4/uintmax_t.m4.
67523
67524 2006-09-10  Bruno Haible  <bruno@clisp.org>
67525
67526         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
67527         gl_AC_TYPE_UINTMAX_T.
67528
67529 2006-09-10  Bruno Haible  <bruno@clisp.org>
67530
67531         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
67532
67533 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67534
67535         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
67536         convention.  Text proposed by Bruno Haible.
67537         (struct argp_option): Document the use of N_() wrappers.
67538
67539         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
67540         '\v', and translate the two parts separately, instead of feeding
67541         the whole string to gettext.  This allows to exclude
67542         '\v' from the strings visible to the translator by writing doc
67543         strings as N_("..") "\v" N_("..").
67544
67545 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
67546
67547         * config/srclist.txt: Undo latest change; the bug was fixed.
67548
67549 2006-09-09  Bruno Haible  <bruno@clisp.org>
67550
67551         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
67552         assignments if building a library without libtool.
67553         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
67554         in func_emit_lib_Makefile_am.
67555         (func_import): When building a static library libfoo.a, arrange to
67556         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
67557         (func_create_testdir): Likewise.
67558         * modules/gc (configure.ac, Makefile.am): If building statically,
67559         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
67560         * modules/iconvme (configure.ac, Makefile.am): Likewise.
67561         * modules/striconv (configure.ac, Makefile.am): Likewise.
67562         Based on a suggestion by Ralf Wildenhues.
67563
67564 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67565
67566         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67567         Check for unistd.h too, since Autoconf doesn't assume POSIX.
67568         Also:
67569
67570         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67571         Add year_2050_test to catch glibc bug 2821
67572         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67573
67574         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67575         Prefer #ifdef to #if.
67576
67577         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
67578         Return from 'main' instead of calling 'exit'.
67579
67580 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67581
67582         * lib/mktime.c (guess_time_tm): Fix bug where mktime
67583         returned the maximum time_t value rather than (time_t) -1.
67584         Problem originally reported by William Bardwell
67585         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67586
67587         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67588         Moved to here ...
67589         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67590         ... from here.
67591
67592 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67593
67594         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
67595         2821 is fixed.
67596
67597 2006-09-08  Jim Meyering  <jim@meyering.net>
67598
67599         Don't make generated files read-only.  That would bother too many
67600         people.  However, do retain the ability to work when targets are
67601         read-only: remove the destination and temporary files before writing
67602         them (when generated via sed or echo), or by using the -f option for
67603         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
67604         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67605         * modules/byteswap, modules/configmake, modules/fcntl:
67606         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67607         * modules/localcharset, modules/netinet_in, modules/poll:
67608         * modules/stdbool, modules/stdint, modules/sys_select:
67609         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67610
67611 2006-09-08  Jim Meyering  <jim@meyering.net>
67612
67613         Avoid new build failure on FreeBSD 6.0.
67614         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
67615         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
67616         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
67617
67618 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67619
67620         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
67621
67622 2006-09-07  Jim Meyering  <jim@meyering.net>
67623
67624         Fix global typo in last change: use chmod u-w, not chmod u-x.
67625         Spotted by Paul Eggert and Bruce Korb.
67626         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67627         * modules/byteswap, modules/configmake, modules/fcntl:
67628         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67629         * modules/localcharset, modules/netinet_in, modules/poll:
67630         * modules/stdbool, modules/stdint, modules/sys_select:
67631         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67632
67633 2006-09-06  Jim Meyering  <jim@meyering.net>
67634
67635         Make generated files be read-only.
67636         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
67637         Ensure that each generated file is now read-only.
67638         * modules/argz: Likewise.
67639         * modules/arpa_inet: Likewise.
67640         * modules/byteswap: Likewise.
67641         * modules/configmake: Likewise.
67642         * modules/fcntl: Likewise.
67643         * modules/fnmatch: Likewise.
67644         * modules/getopt: Likewise.
67645         * modules/glob: Likewise.
67646         * modules/inttypes: Likewise.
67647         * modules/netinet_in: Likewise.
67648         * modules/poll: Likewise.
67649         * modules/stdbool: Likewise.
67650         * modules/stdint: Likewise.
67651         * modules/sys_select: Likewise.
67652         * modules/sys_socket: Likewise.
67653         * modules/sys_stat: Likewise.
67654         * modules/sysexits: Likewise.
67655         * modules/localcharset: Same as above, but continue using temporary
67656         file named "t-$@" (why different?) rather than the "$@-t" used
67657         everywhere else.
67658
67659         * modules/sysexits (Makefile.am): Replace literal occurrences
67660         of "sysexit.h" more readable, and more consistent, "$@".
67661
67662 2006-09-06  Bruno Haible  <bruno@clisp.org>
67663
67664         * modules/striconv: New file.
67665         * modules/xstriconv: New file.
67666         * MODULES.html.sh (Internationalization functions): Add striconv,
67667         xstriconv.
67668
67669 2006-09-06  Bruno Haible  <bruno@clisp.org>
67670
67671         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
67672         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
67673         not using libtool correctly.
67674
67675 2006-09-06  Bruno Haible  <bruno@clisp.org>
67676
67677         * lib/striconv.h: New file.
67678         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
67679         iconvstring.c.
67680         * lib/xstriconv.h: New file.
67681         * lib/xstriconv.c: New file.
67682
67683 2006-09-06  Bruno Haible  <bruno@clisp.org>
67684
67685         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67686         lib_..._LDFLAGS.
67687
67688 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67689
67690         * lib/argz_.h: Sync from Libtool.
67691
67692         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
67693                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
67694
67695         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
67696
67697 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
67698
67699         * modules/trim: New file.
67700
67701 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
67702
67703         * lib/trim.h: New file.
67704         * lib/trim.c: New file.
67705
67706 2006-09-05  Bruno Haible  <bruno@clisp.org>
67707
67708         * MODULES.html.sh (String handling): Add trim.
67709
67710 2006-09-04  Karl Berry  <karl@gnu.org>
67711
67712         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
67713         until next release.
67714
67715 2006-09-03  Bruno Haible  <bruno@clisp.org>
67716
67717         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
67718         correctly.
67719
67720 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67721
67722         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
67723         not gl_GETLOADAVG.  Omit unneeded semicolons.
67724         Problems reported by Ralf Wildenhues in
67725         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
67726         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
67727         at the end, which is the usual gnulib style.
67728
67729         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
67730         of doing all the work ourselves.
67731         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
67732         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
67733
67734 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67735
67736         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
67737         Problem reported by Ralf Wildenhues in
67738         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
67739
67740         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
67741         HAVE_STRUCT_STATFS_F_FSTYPENAME.
67742
67743 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67744
67745         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
67746         yesterday's patch by changing test -n to test -z.
67747
67748 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67749
67750         * modules/getloadavg (Files): Add m4/getloadavg.m4.
67751         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
67752         the former is now obsolescent.
67753
67754         * modules/chdir-long (Depends-on): Add fcntl.
67755
67756 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67757
67758         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
67759         obsolescent, and programs should use gnulib instead.
67760         * m4/getloadavg.m4: New file, with contents taken from Autoconf
67761         but with prefixes changed.
67762
67763 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67764
67765         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
67766         or stdbool.h, because they might not exist while configuring.
67767
67768         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
67769         Don't include unistd.h or limits.h; not needed, since chdir-long.h
67770         does that for us.
67771         (O_DIRECTORY): Remove.
67772
67773 2006-08-31  Eric Blake  <ebb9@byu.net>
67774
67775         * gnulib-tool: Don't let emacs change spaces to TAB.
67776
67777 2006-08-31  Bruno Haible  <bruno@clisp.org>
67778
67779         * gnulib-tool: When calling func_import more than once, do it in a
67780         subshell.
67781         Reported by Eric Blake <ebb9@byu.net>.
67782
67783 2006-08-31  Bruno Haible  <bruno@clisp.org>
67784
67785         * gnulib-tool (nl): Remove variable.
67786         (sed_transform_lib_file): Use more robust test for config-h module.
67787         (func_import): Fix typo in 2006-08-25 patch.
67788
67789 2006-08-31  Bruno Haible  <bruno@clisp.org>
67790
67791         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
67792         specified, augment Makefile.am variables instead of assigning them.
67793
67794 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67795
67796         Work around a bug in both the Linux and SunOS 64-bit kernels:
67797         nanosleep mishandles sleeps for longer than 2**31 seconds.
67798         Problem reported by Frank v Waveren in
67799         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
67800         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
67801         Check for nanosleep bug.
67802         (LIB_NANOSLEEP): Append clock_gettime library if needed.
67803
67804 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67805
67806         Work around a bug in both the Linux and SunOS 64-bit kernels:
67807         nanosleep mishandles sleeps for longer than 2**31 seconds.
67808         Problem reported by Frank v Waveren in
67809         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
67810         * lib/nanosleep.c (BILLION): New constant.
67811         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
67812         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
67813         implementation.
67814
67815 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67816
67817         * modules/nanosleep (Depends-on): Add gettime.
67818
67819 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67820         and Simon Josefsson  <jas@extundo.com>
67821         and Oskar Liljeblad  <oskar@osk.mine.nu>
67822
67823         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
67824         * gnulib-tool (func_import): New license type 'unmodifiable license
67825         text'.
67826         * modules/fdl: Use it.  Longer description.
67827         * module/gpl, module/lgpl: New files.
67828
67829 2006-08-30  Jim Meyering  <jim@meyering.net>
67830
67831         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
67832         shadowing the parameter.
67833
67834 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67835
67836         Sync from Libtool:
67837
67838         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67839
67840         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
67841         sharing with gnulib.  Report by Eric Blake.
67842
67843 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67844
67845         * modules/isapipe: New file.
67846         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
67847
67848 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67849
67850         * modules/configmake (Makefile.am): Add a comment, and omit
67851         the CONFIGMAKE_ prefix from generated macro names.  Suggested
67852         by Bruno Haible.
67853
67854 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67855
67856         * m4/isapipe.m4: New file.
67857
67858 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67859
67860         * lib/isapipe.c, lib/isapipe.h: New files.
67861
67862 2006-08-29  Jim Meyering  <jim@meyering.net>
67863
67864         * modules/configmake (Makefile.am): Make configmake.h depend on
67865         Makefile.  Otherwise, a stale configmake.h could hang around.
67866
67867 2006-08-29  Eric Blake  <ebb9@byu.net>
67868
67869         * lib/error.c (error_at_line, print_errno_message): Match libc, after
67870         resolution of upstream bug 3044.
67871
67872 2006-08-29  Bruno Haible  <bruno@clisp.org>
67873
67874         * modules/localcharset (Depends-on): Add configmake.
67875         (Makefile.am): Remove setting of LIBDIR through DEFS.
67876
67877 2006-08-29  Bruno Haible  <bruno@clisp.org>
67878
67879         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
67880         defined.
67881
67882 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67883
67884         * modules/fcntl: New file.
67885         * modules/chdir-safer (Depends-on): Add fcntl.
67886         * modules/fts: Likewise.
67887         * modules/mkdir-p: Likewise.
67888
67889         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
67890         This undoes the most recent change, since we're now addressing the
67891         problem in a different way.
67892
67893         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
67894         into output, since the output might be called Makefile.am even
67895         if $makefile_name is something different.
67896         (func_import): Use $makefile_am rather than
67897         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
67898         empty.
67899
67900         * modules/inttypes (Files): Add m4/inttypes-h.m4.
67901
67902 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67903
67904         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
67905         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
67906         recent change to stdint.m4, since we're now addressing the problem in a
67907         different way.
67908
67909 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67910
67911         * m4/fcntl_h.m4: New file.
67912
67913 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67914
67915         * lib/fcntl_.h: New file.
67916         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
67917         the fcntl module.
67918         * lib/dirchownmod.c: Likewise.
67919         * lib/fts.c: Likewise.
67920
67921         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
67922         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
67923         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
67924         just before including <inttypes.h>, to avoid circular inclusion.
67925
67926 2006-08-28  Jim Meyering  <jim@meyering.net>
67927
67928         * doc/visibility.texi: Actually read and correct the grammar of the
67929         sentence affected by yesterday's change.
67930
67931 2006-08-28  Eric Blake  <ebb9@byu.net>
67932
67933         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
67934         needs wrapper.
67935
67936 2006-08-28  Eric Blake  <ebb9@byu.net>
67937
67938         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
67939
67940 2006-08-28  Eric Blake  <ebb9@byu.net>
67941
67942         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
67943
67944 2006-08-28  Bruno Haible  <bruno@clisp.org>
67945
67946         * modules/c-strstr: New file, from GNU gettext.
67947         * MODULES.html.sh (String handling): Add c-strstr.
67948
67949 2006-08-28  Bruno Haible  <bruno@clisp.org>
67950
67951         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
67952         macros.
67953         Reported by Eric Blake.
67954
67955 2006-08-28  Bruno Haible  <bruno@clisp.org>
67956
67957         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
67958         (VASNPRINTF): Return a string of length > INT_MAX without failing.
67959         * lib/vasprintf.c: Include errno.h, limits.h.
67960         (EOVERFLOW): New fallback definition.
67961         (vasprintf): Test here whether the string length is > INT_MAX.
67962         * lib/vsnprintf.c: Include errno.h, limits.h.
67963         (EOVERFLOW): New fallback definition.
67964         (vsnprintf): Fix bug when generated string was too long for the buffer.
67965         Test here whether the string length is > INT_MAX.
67966
67967 2006-08-28  Bruno Haible  <bruno@clisp.org>
67968
67969         * lib/inttypes_.h (SCNX*): Remove definitions.
67970         Reported by Eric Blake.
67971
67972 2006-08-28  Bruno Haible  <bruno@clisp.org>
67973
67974         * lib/c-strstr.h: New file, from GNU gettext.
67975         * lib/c-strstr.c: New file, from GNU gettext.
67976
67977 2006-08-28  Bruno Haible  <bruno@clisp.org>
67978
67979         * gnulib-tool: Reorder some statements.
67980
67981 2006-08-28  Bruno Haible  <bruno@clisp.org>
67982
67983         * gnulib-tool: New option --makefile-name.
67984         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
67985         $makefile_name.
67986         (func_import): Write $makefile_name to the cache file, and read it from
67987         there unless explicitly specified. Use $makefile_name as file name
67988         instead of Makefile.am. Adjust the recommendations accordingly.
67989
67990 2006-08-28  Bruno Haible  <bruno@clisp.org>
67991
67992         * gnulib-tool (func_verify_module): Check against misapplying patch.
67993
67994 2006-08-28  Bruno Haible  <bruno@clisp.org>
67995
67996         * gnulib-tool (func_relativize, func_relconcat): New functions.
67997         Give an error if --local-dir is given with --update.
67998         Remove trailing slashes from $local_gnulib_dir.
67999         (func_import): Store the relativized $local_gnulib_dir in
68000         gnulib-cache.m4, and read it from there if not specified explicitly.
68001
68002 2006-08-28  Bruno Haible  <bruno@clisp.org>
68003
68004         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68005         is the current directory. Respect also $local_gnulib_dir.
68006
68007 2006-08-28  Bruno Haible  <bruno@clisp.org>
68008             Simon Josefsson  <jas@extundo.com>
68009
68010         BeOS portability.
68011         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68012
68013 2006-08-27  Jim Meyering  <jim@meyering.net>
68014
68015         * doc/visibility.texi: Remove duplicate word: "pointer".
68016
68017 2006-08-26  Bruno Haible  <bruno@clisp.org>
68018
68019         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68020         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68021         (Makefile.am): Create inttypes.h from inttypes_.h.
68022         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68023
68024         * modules/imaxabs: New file.
68025
68026         * modules/imaxdiv: New file.
68027
68028 2006-08-26  Bruno Haible  <bruno@clisp.org>
68029
68030         * m4/inttypes.m4: New file.
68031         * m4/_inttypes_h.m4: Remove file.
68032         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68033         PRI_MACROS_BROKEN.
68034         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68035
68036         * m4/imaxabs.m4: New file.
68037
68038         * m4/imaxdiv.m4: New file.
68039
68040 2006-08-26  Bruno Haible  <bruno@clisp.org>
68041
68042         * lib/inttypes_.h: New file.
68043         * lib/inttypes.h: Remove file.
68044         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68045
68046         * lib/imaxabs.c: New file.
68047
68048         * lib/imaxdiv.c: New file.
68049
68050 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68051
68052         New config-h module, so that "make" output needn't be cluttered
68053         by -DHAVE_CONFIG_H.
68054         * MODULES.html.sh (Support for building libraries and executables):
68055         Add config-h.
68056         * modules/config-h: New file.
68057         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68058         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68059         the config-h module is used.
68060
68061         New configmake module, so that "make" output needn't be cluttered
68062         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68063         * MODULES.html.sh (Support for building libraries and executables):
68064         Add configmake.
68065         * modules/configmake: New file.
68066
68067 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68068
68069         * m4/config-h.m4: New file.
68070
68071 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68072
68073         * config/srclist.txt: Add elisp-comp.
68074
68075 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68076
68077         * MODULES.html.sh (Support for building libraries and executables):
68078         Add elisp-comp.
68079         * build-aux/elisp-comp: New file.
68080         * modules/elisp-comp: New file.
68081
68082 2006-08-24  Bruno Haible  <bruno@clisp.org>
68083
68084         * gnulib-tool (func_create_testdir): Use non-default values of
68085         sourcebase and m4base.
68086
68087 2006-08-24  Bruno Haible  <bruno@clisp.org>
68088
68089         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68090         HTML structure.
68091
68092 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68093
68094         * modules/openat (Depends-on): Add lchown.
68095
68096 2006-08-23  Bruno Haible  <bruno@clisp.org>
68097
68098         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68099         of gl_LOCK_EARLY instead of gl_LOCK.
68100
68101 2006-08-23  Bruno Haible  <bruno@clisp.org>
68102
68103         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68104         on OSF/1 to no.
68105         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68106
68107 2006-08-23  Bruno Haible  <bruno@clisp.org>
68108
68109         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68110         as unusable.
68111
68112         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68113         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68114         (gl_LOCK): New macro.
68115
68116 2006-08-22  Simon Josefsson  <jas@extundo.com>
68117
68118         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68119         to md5 module.
68120
68121 2006-08-22  Simon Josefsson  <jas@extundo.com>
68122
68123         * MODULES.html.sh: Add "Support for maintaining and release
68124         projects".
68125
68126         * build-aux/gnupload: New file, from coreutils.
68127
68128 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68129
68130         Avoid the need for AC_LIBSOURCES in m4 macros.
68131         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68132         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68133         * modules/check-version (EXTRA_DIST): Add check-version.h.
68134         * modules/crc (EXTRA_DIST): Add crc.h.
68135         * modules/des (EXTRA_DIST): Add des.h.
68136         * modules/gc (EXTRA_DIST): Add gc.h.
68137         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68138         * modules/getline (EXTRA_DIST): Add getline.h.
68139         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68140         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68141         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68142         * modules/md2 (EXTRA_DIST): Add md2.h.
68143         * modules/md4 (EXTRA_DIST): Add md4.h.
68144         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68145         * modules/read-file (EXTRA_DIST): Add read-file.h.
68146         * modules/readline (EXTRA_DIST): Add readline.h.
68147         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68148         rijndael-api-fst.h.
68149
68150 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68151
68152         * m4/rijndael.m4 (gl_ARCFOUR):
68153         * m4/arctwo.m4 (gl_ARCTWO):
68154         * m4/check-version.m4 (gl_CHECK_VERSION):
68155         * m4/crc.m4 (gl_CRC):
68156         * m4/des.m4 (gl_DES):
68157         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68158         * m4/gc.m4 (gl_GC):
68159         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68160         * m4/getline.m4 (gl_FUNC_GETLINE):
68161         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68162         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68163         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68164         * m4/md2.m4 (gl_MD2):
68165         * m4/md4.m4 (gl_MD4):
68166         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68167         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68168         * m4/readline.m4 (gl_FUNC_READLINE):
68169         * m4/rijndael.m4 (gl_RIJNDAEL):
68170         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68171         to get the necessary .h files and whatnot.
68172
68173 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68174
68175         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68176         gnulib rather than the other way around.
68177         * config/srclistvars.sh (COREUTILS): Remove.
68178
68179 2006-08-22  Jim Meyering  <jim@meyering.net>
68180
68181         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68182
68183         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68184
68185 2006-08-22  Eric Blake  <ebb9@byu.net>
68186
68187         * modules/regexprops-generic: New file.
68188         * MODULES.html.sh (Support for building documentation): List it.
68189
68190 2006-08-22  Eric Blake  <ebb9@byu.net>
68191
68192         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68193         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68194         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68195         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68196
68197 2006-08-22  Bruno Haible  <bruno@clisp.org>
68198
68199         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68200         and lib_LTLIBRARIES like the other lib_* variables.
68201
68202 2006-08-22  Bruno Haible  <bruno@clisp.org>
68203
68204         * build-aux/x-to-1.in: New file, from GNU gettext.
68205
68206 2006-08-22  Bruno Haible  <bruno@clisp.org>
68207
68208         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68209         <utmpx.h> exists.
68210
68211 2006-08-22  Bruno Haible  <bruno@clisp.org>
68212
68213         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68214         <utmpx.h> exists.
68215
68216 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68217
68218         BeOS portability.
68219         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68220         exist.
68221         Problem reported by Bruno Haible.
68222
68223 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68224
68225         Avoid the need for AC_LIBSOURCES in m4 macros.
68226         * modules/acl (EXTRA_DIST): Add acl.h.
68227         * modules/argmatch (Files): Add m4/argmatch.m4.
68228         (configure.ac): Add gl_ARGMATCH.
68229         (EXTRA_DIST): Renamed from lib_SOURCES, for
68230         consistency with the other modules.  Remove argmatch.c.
68231         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68232         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68233         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68234         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68235         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68236         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68237         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68238         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68239         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68240         * modules/closeout (EXTRA_DIST): Add closeout.h.
68241         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68242         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68243         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68244         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68245         dirname.h; remove basename.c and stripslash.c.
68246         * modules/exclude (EXTRA_DIST): Add exclude.h.
68247         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68248         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68249         * modules/file-type (EXTRA_DIST): Add file-type.h.
68250         * modules/filemode (EXTRA_DIST): Add filemode.h.
68251         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68252         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68253         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68254         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68255         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68256         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68257         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68258         * modules/getdate (EXTRA_DIST): Add getdate.c.
68259         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68260         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68261         * modules/getpass (EXTRA_DIST): Add getpass.h.
68262         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68263         * modules/group-member (EXTRA_DIST): Add group-member.h.
68264         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68265         * modules/hash (EXTRA_DIST): Add hash.h.
68266         * modules/human (EXTRA_DIST): Add human.h.
68267         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68268         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68269         * modules/lchown (EXTRA_DIST): Add lchown.h.
68270         * modules/long-options (EXTRA_DIST): Add long-options.h.
68271         * modules/lstat (EXTRA_DIST): Add lstat.h.
68272         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68273         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68274         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68275         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68276         * modules/memxor (EXTRA_DIST): Add memxor.h.
68277         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68278         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68279         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68280         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68281         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68282         * modules/physmem (EXTRA_DIST): Add physmem.h.
68283         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68284         * modules/posixver (EXTRA_DIST): Add posixver.h.
68285         * modules/quote (EXTRA_DIST): Add quote.h.
68286         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68287         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68288         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68289         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68290         regex_internal.h regexec.c.
68291         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68292         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68293         * modules/same (EXTRA_DIST): Add same.h.
68294         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68295         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68296         * modules/savedir (EXTRA_DIST): Add savedir.h.
68297         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68298         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68299         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68300         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68301         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68302         * modules/strdup (EXTRA_DIST): Add strdup.h.
68303         * modules/strftime (EXTRA_DIST): Add strftime.h.
68304         * modules/strndup (EXTRA_DIST): Add strndup.h.
68305         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68306         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68307         * modules/time_r (EXTRA_DIST): Add time_r.h.
68308         * modules/timespec (EXTRA_DIST): Add timespec.h.
68309         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68310         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68311         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68312         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68313         * modules/userspec (EXTRA_DIST): Add userspec.h.
68314         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68315         * modules/utimens (EXTRA_DIST): Add utimens.h.
68316         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68317         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68318         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68319         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68320         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68321         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68322         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68323         * modules/yesno (EXTRA_DIST): Add yesno.h.
68324
68325 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68326
68327         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68328
68329         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68330         * m4/dev-ino.m4, same-inode.m4: Remove.
68331
68332         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68333         * m4/acl.m4 (AC_FUNC_ACL):
68334         * m4/backupfile.m4 (gl_BACKUPFILE):
68335         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68336         * m4/canon-host.m4 (gl_CANON_HOST):
68337         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68338         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68339         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68340         * m4/cloexec.m4 (gl_CLOEXEC):
68341         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68342         * m4/closeout.m4 (gl_CLOSEOUT):
68343         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68344         * m4/dirname.m4 (gl_DIRNAME):
68345         * m4/exclude.m4 (gl_EXCLUDE):
68346         * m4/exitfail.m4 (gl_EXITFAIL):
68347         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68348         * m4/file-type.m4 (gl_FILE_TYPE):
68349         * m4/filemode.m4 (gl_FILEMODE):
68350         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68351         * m4/fpending.m4 (gl_FUNC_FPENDING):
68352         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68353         * m4/fts.m4 (gl_FUNC_FTS):
68354         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68355         * m4/getdate.m4 (gl_GETDATE):
68356         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68357         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68358         * m4/getpass.m4 (gl_FUNC_GETPASS):
68359         * m4/gettime.m4 (gl_GETTIME):
68360         * m4/getugroups.m4 (gl_GETUGROUPS):
68361         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68362         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68363         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68364         * m4/hash.m4 (gl_HASH):
68365         * m4/idcache.m4 (gl_IDCACHE):
68366         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68367         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68368         * m4/long-options.m4 (gl_LONG_OPTIONS):
68369         * m4/lstat.m4 (gl_FUNC_LSTAT):
68370         * m4/md5.m4 (gl_MD5):
68371         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68372         * m4/memcoll.m4 (gl_MEMCOLL):
68373         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68374         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68375         * m4/memxor.m4 (gl_MEMXOR):
68376         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68377         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68378         * m4/modechange.m4 (gl_MODECHANGE):
68379         * m4/mountlist.m4 (gl_MOUNTLIST):
68380         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68381         * m4/openat.m4 (gl_FUNC_OPENAT):
68382         * m4/pathmax.m4 (gl_PATHMAX):
68383         * m4/physmem.m4 (gl_PHYSMEM):
68384         * m4/posixtm.m4 (gl_POSIXTM):
68385         * m4/posixver.m4 (gl_POSIXVER):
68386         * m4/quote.m4 (gl_QUOTE):
68387         * m4/quotearg.m4 (gl_QUOTEARG):
68388         * m4/readtokens.m4 (gl_READTOKENS):
68389         * m4/readutmp.m4 (gl_READUTMP):
68390         * m4/regex.m4 (gl_REGEX):
68391         * m4/safe-read.m4 (gl_SAFE_READ):
68392         * m4/safe-write.m4 (gl_SAFE_WRITE):
68393         * m4/same.m4 (gl_SAME):
68394         * m4/save-cwd.m4 (gl_SAVE_CWD):
68395         * m4/savedir.m4 (gl_SAVEDIR):
68396         * m4/settime.m4 (gl_SETTIME):
68397         * m4/sha1.m4 (gl_SHA1):
68398         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68399         * m4/stat-macros.m4 (gl_STAT_MACROS):
68400         * m4/stat-time.m4 (gl_STAT_TIME):
68401         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68402         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68403         * m4/strdup.m4 (gl_FUNC_STRDUP):
68404         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68405         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68406         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68407         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68408         * m4/time_r.m4 (gl_TIME_R):
68409         * m4/timespec.m4 (gl_TIMESPEC):
68410         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68411         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68412         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68413         * m4/userspec.m4 (gl_USERSPEC):
68414         * m4/utimecmp.m4 (gl_UTIMECMP):
68415         * m4/utimens.m4 (gl_UTIMENS):
68416         * m4/xalloc.m4 (gl_XALLOC):
68417         * m4/xgetcwd.m4 (gl_XGETCWD):
68418         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68419         * m4/xreadlink.m4 (gl_XREADLINK):
68420         * m4/xstrtod.m4 (gl_XSTRTOD):
68421         * m4/yesno.m4 (gl_YESNO):
68422         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68423         to get the necessary .h files and whatnot.
68424
68425 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68426             Bruno Haible  <bruno@clisp.org>
68427
68428         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68429         /bin/sh understanding of '!' conditional negation.
68430
68431 2006-08-21  Jim Meyering  <jim@meyering.net>
68432
68433         * modules/openat (Depends-on): Really alphabetize.
68434
68435         * modules/acl (Depends-on): Add error and quote.
68436
68437         * check-module (find_included_lib_files): Add at-func.c to the
68438         ok-to-include-more-than-once white list.
68439
68440         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68441
68442 2006-08-21  Bruno Haible  <bruno@clisp.org>
68443
68444         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68445         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68446         Reported by Martin Lambers <marlam@marlam.de>.
68447
68448 2006-08-21  Bruno Haible  <bruno@clisp.org>
68449
68450         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68451         specify an installation location, don't emit a noinst_LIBRARIES or
68452         noinst_LTLIBRARIES assignment.
68453
68454 2006-08-21  Bruno Haible  <bruno@clisp.org>
68455
68456         BeOS portability.
68457         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68458         BeOS has mbrtowc() but no <wctype.h>.
68459
68460 2006-08-21  Bruno Haible  <bruno@clisp.org>
68461
68462         BeOS portability.
68463         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68464         exist.
68465
68466 2006-08-21  Bruno Haible  <bruno@clisp.org>
68467
68468         BeOS portability.
68469         * lib/mbchar.h: Include <wctype.h> only if it exists.
68470
68471 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68472
68473         Remove files that are no longer needed by their respective modules.
68474         * m4/obstack.m4: Remove.
68475         * m4/strerror_r.m4: Remove.
68476         * m4/uint32_t.m4: Remove.
68477         * m4/uintptr_t.m4: Remove.
68478         * m4/ullong_max.m4: Remove.
68479         * m4/xstrtoimax.m4: Remove.
68480         * m4/xstrtoumax.m4: Remove.
68481
68482         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
68483         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
68484         dependencies now capture this.
68485
68486         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
68487         Do not use AC_LIBSOURCES, since gnulib modules now do this.
68488         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
68489         * m4/human.m4 (gl_HUMAN): Likewise.
68490         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
68491         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
68492
68493         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
68494
68495         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
68496         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
68497         stdint.
68498         * m4/human.m4 (gl_HUMAN): Likewise.
68499         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
68500         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
68501         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68502         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68503         * m4/xstrtol (gl_XSTRTOL): Likewise.
68504
68505         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
68506         AC_TYPE_LONG_LONG_INT.
68507         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68508         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
68509         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
68510         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68511
68512         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
68513         on stdbool.
68514
68515         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
68516         (gl_PREREQ_XSTRTOUL): Remove.
68517
68518         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
68519
68520         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
68521         mode.
68522
68523 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68524
68525         Add and change modules to make it easier for coreutils to use
68526         gnulib-tool.
68527         * modules/backupfile (Files): Remove m4/d-ino.m4.
68528         (Depends-on): Add d-ino.
68529         * modules/cycle-check (Depends-on): Add stdint.
68530         (lib_SOURCES): Add cycle-check.h.
68531         * modules/d-ino: New module.
68532         * modules/d-type: New module.
68533         * modules/error (Files): Remove m4/strerror_r.m4.
68534         * modules/filemode (Files): Add m4/st_dm_mode.m4.
68535         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68536         m4/inttypes_h.m4, m4/uintmax_t.m4.
68537         (Depends-on): Add stdint.
68538         (lib_SOURCES): Add fsusage.h.
68539         * modules/getcwd (Files): Remove d-ino.m4.
68540         (Depends-on): Add d-ino.
68541         * modules/getndelim2 (Depends-on): Add stdint.
68542         * modules/glob (Files): Remove m4/d-type.m4.
68543         (Depends-on): Add d-type.
68544         * modules/host-os: New module.
68545         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
68546         m4/inttypes_h.m4, m4/uintmax_t.m4.
68547         * Depends-on: Add stdint.
68548         (lib_SOURCES): Add human.h.
68549         * modules/inttostr (Files): Remove m4/intmax_t.m4,
68550         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
68551         m4/uintmax_t.m4, m4/ulonglong.m4.
68552         (Depends-on): Add stdint.
68553         (EXTRA_DIST): Add inttostr.h.
68554         * modules/lchmod: New module.
68555         * modules/link-follow: New module.
68556         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
68557         (Depends-on): Add lchmod.
68558         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
68559         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
68560         (Depends-on): Add stdint.
68561         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
68562         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
68563         (Depends-on): Add stdint.
68564         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
68565         * modules/perl: New module.
68566         * modules/regex (Depends-on): Add stdint.
68567         * modules/rmdir-errno: New module.
68568         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68569         m4/intmax_t.m4.
68570         (Depends-on): Add stdint.
68571         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68572         m4/uintmax_t.m4.
68573         (Depends-on): Add stdint.
68574         * modules/unlink-busy: New module.
68575         * modules/utimecmp (Depends-on): Add stdint.
68576         * modules/uptime: New module.
68577         * modules/winsz-ioctl: New module.
68578         * modules/winsz-termios: New module.
68579         * modules/xnanosleep (Depends-on): Add nanosleep.
68580         * modules/ullong_max: Remove.
68581         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
68582         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
68583         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
68584         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
68585         (Depends-on): Add inttypes.
68586         (lib_SOURCES): Add xstrtol.h.
68587         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
68588         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
68589         * MODULES.html.sh: Move 'assert' into the assert section.
68590         Move 'dummy' into the linking section.
68591         Remove ullong_max.
68592         Add section for compatibility checks for POSIX:2001 functions,
68593         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
68594         winsz-ioctl, and winsz-termios into it.
68595         Add lchmod.
68596         Add top-level Misc section and put host-os, perl, and uptime
68597         into it.
68598
68599 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68600
68601         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
68602         now assume the stdint module.  Do not include inttypes.h.
68603         * lib/fsusage.h: Likewise.
68604         * lib/getndelim2.c: Likewise.
68605         * lib/human.h: Likewise.
68606         * lib/inttostr.h: Likewise.
68607         * lib/obstack.c: Likewise.
68608         * lib/regex_internal.h: Likewise.
68609         * lib/tempname.c: Likewise.
68610         * lib/utimecmp.c: Likewise.
68611         * lib/xstrtol.h: Likewise.
68612
68613         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
68614
68615         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
68616         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
68617         * lib/xtime.h: Likewise.
68618
68619 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68620
68621         * modules/openat (Files): Add lib/fchmodat.c.
68622         Fixes problem reported by Jay Youngman.
68623
68624 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68625
68626         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
68627         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
68628
68629 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
68630             Bruno Haible  <bruno@clisp.org>
68631
68632         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
68633         and is a script that invokes bison. Tighten the code. Add comments.
68634
68635 2006-08-18  Jim Meyering  <jim@meyering.net>
68636
68637         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
68638         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
68639         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
68640         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
68641
68642 2006-08-18  Bruno Haible  <bruno@clisp.org>
68643
68644         * modules/bison-i18n: New file.
68645         * MODULES.html.sh (Internationalization functions): Add it.
68646
68647 2006-08-18  Bruno Haible  <bruno@clisp.org>
68648
68649         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
68650         sys/statvfs.h. When getmntinfo was found, check its declaration and
68651         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
68652
68653 2006-08-18  Bruno Haible  <bruno@clisp.org>
68654
68655         * m4/bison-i18n.m4: New file, from bison.
68656
68657 2006-08-18  Bruno Haible  <bruno@clisp.org>
68658
68659         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
68660         (ME_DUMMY): Treat "kernfs" as a dummy.
68661         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
68662
68663 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68664
68665         Update from coreutils.
68666
68667         2006-08-15  Jim Meyering  <jim@meyering.net>
68668
68669         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
68670
68671         2006-01-17  Jim Meyering  <jim@meyering.net>
68672
68673         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
68674
68675         2006-01-11  Jim Meyering  <jim@meyering.net>
68676
68677         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
68678         Check for the lchmod function.
68679
68680 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68681
68682         Update from coreutils.
68683
68684         * lib/__fpending.h: Add copyright notice.
68685         * lib/fprintftime.h: Likewise.
68686         * lib/savedir.c: Use (C) in copyright notice.
68687         * lib/savedir.h: Likewise.
68688
68689         2006-08-15  Jim Meyering  <jim@meyering.net>
68690
68691         * lib/at-func.c: New file, with the logic of all emulated at-functions.
68692         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
68693         in support of the EXPECTED_ERRNO macro.
68694         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
68695         definitions.  Instead, define the appropriate symbols and include
68696         "at-func.c".
68697         * lib/mkdirat.c (mkdirat): Likewise.
68698         * lib/fchmodat.c (fchmodat): Likewise.
68699         (ENOSYS): Remove definition.
68700         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
68701         it.  Don't include "unistd--.h" -- it wasn't ever used.
68702
68703         2006-01-17  Jim Meyering  <jim@meyering.net>
68704
68705         Rewrite fts.c not to change the current working directory,
68706         by using openat, fstatat, fdopendir, etc..
68707
68708         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
68709         (HAVE_OPENAT_SUPPORT): Define.
68710         [_LIBC] (fchdir): Don't undef or define; no longer used.
68711         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
68712         Now, this `function' always succeeds, and consumes its file descriptor
68713         parameter -- so callers must not close such FDs.  Update callers.
68714         (diropen_fd, opendirat, cwd_advance_fd): New functions.
68715         (diropen): Add parameter, SP.  Adjust all callers.
68716         Implement using diropen_fd, rather than open.
68717         (fts_open): Initialize new member, fts_cwd_fd.
68718         Remove fts_rft-setting code.
68719         (fts_close): Close fts_cwd_fd, if necessary.
68720         (__opendir2): Define in terms of opendir or opendirat,
68721         depending on whether the FST_NOCHDIR flag is set.
68722         (fts_build): Since fts_safe_changedir consumes its FD, and since
68723         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
68724         and close the dup'd file descriptor upon failure.
68725         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
68726         (fts_safe_changedir): Tweak semantics to reflect that this function
68727         now calls cwd_advance_fd and hence consumes its FD argument.
68728         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
68729         [struct FTS] (fts_rft): Remove now-unused member.
68730         [struct FTS] (fts_cycle.state): Improve comment.
68731
68732         * lib/openat.c (openat_needs_fchdir): New function.
68733         * lib/openat.h (openat_needs_fchdir): Declare it.
68734
68735 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
68736
68737         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
68738         Problem and fix reported by Pádraig Brady in
68739         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
68740
68741 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68742
68743         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
68744
68745 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68746
68747         * lib/memcoll.c (memcoll): Optimize for the common case where the
68748         arguments are bytewise equal.
68749
68750 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68751
68752         * doc/regexprops-generic.texi: Add a copyright notice.
68753
68754 2006-08-15  Bruno Haible  <bruno@clisp.org>
68755
68756         * modules/tmpdir (License): Change to LGPL.
68757
68758 2006-08-15  Bruno Haible  <bruno@clisp.org>
68759
68760         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
68761         module.
68762
68763 2006-08-14  Simon Josefsson  <jas@extundo.com>
68764
68765         * config/srclist.txt: Add gnupload.
68766
68767 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68768
68769         Change copyright notice from LGPL 2 to GPL 2, since that's the
68770         standard form used in the gnulib repository.
68771         * tests/test-lock.c: Likewise.
68772         * tests/test-stdint.c: Likewise.
68773         * tests/test-tls.c: Likewise.
68774
68775         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
68776         prelude-manager.  User shorter URLs for GNU projects, without '?'.
68777         Add copyright notice.
68778
68779         * check-module: Add copyright notice.  Output a copyright
68780         notice if "--version" is specified.
68781         * modules/COPYING: New file.
68782         * tests/test-getaddrinfo.c: Add copyright notice.
68783         * tests/test-verify.c: Likewise.
68784
68785 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68786
68787         Change copyright notice from LGPL 2 to GPL 2, since that's the
68788         standard form used in the gnulib repository.
68789         * lib/lock.c: LGPL -> GPL.
68790         * lib/lock.h: Likewise.
68791         * lib/strnlen1.c: Likewise.
68792         * lib/strnlen1.h: Likewise.
68793         * lib/tls.c: Likewise.
68794         * lib/tls.h: Likewise.
68795         * lib/tmpdir.c: Likewise.
68796
68797         * lib/TODO: Remove; this belongs only in coreutils.
68798
68799 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68800
68801         Add copyright notices to long-enough files that lack them, since
68802         otherwise the files aren't clearly free.  Use the same notice that
68803         getdate.texi already uses.
68804         * doc/alloca-opt.texi: Add copyright notice.
68805         * doc/alloca.texi: Likewise.
68806         * doc/ctime.texi: Likewise.
68807         * doc/functions.texi: Likewise.
68808         * doc/gcd.texi: Likewise.
68809         * doc/gnulib-tool.texi: Likewise.
68810         * doc/inet_ntoa.texi: Likewise.
68811         * doc/visibility.texi: Likewise.
68812
68813         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
68814         * doc/quote.texi: Add copyright notice.
68815
68816         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
68817         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
68818         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
68819         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
68820         is now obsolete, and give a pointer to the Sun list.
68821         Add copyright notice.
68822
68823 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68824
68825         * config/srclistvars.sh: Add copyright notice.
68826
68827 2006-08-14  Eric Blake  <ebb9@byu.net>
68828
68829         Import the following change from libc:
68830
68831         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
68832
68833         Upstream bug 2997.
68834         * lib/misc/error.c: Add space between program name and message if file
68835         name is missing.
68836
68837 2006-08-12  Karl Berry  <karl@gnu.org>
68838
68839         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
68840         remove, these originate in gnulib now.
68841
68842 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68843
68844         * doc/Makefile (standards.info standards.html standards.dvi):
68845         Also depend on make-stds.texi.
68846
68847 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68848
68849         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
68850         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
68851
68852         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
68853         in wchar_t.  Problem reported by Eric Blake.
68854
68855         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
68856         LEN is smaller than SIZE.  Suggested by Bruno Haible.
68857         Also, help the compiler to keep LEN in a register.
68858
68859 2006-08-11  Eric Blake  <ebb9@byu.net>
68860
68861         * users.txt: Sort.  Add tar.
68862
68863 2006-08-11  Bruno Haible  <bruno@clisp.org>
68864
68865         * users.txt: New file.
68866
68867 2006-08-11  Bruno Haible  <bruno@clisp.org>
68868
68869         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
68870         before <wchar.h>. Needed for OSF/1 and BSD/OS.
68871
68872 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
68873
68874         * modules/snprintf (Depends-on): Remove minmax.
68875         (Maintainer): Add self and Bruno.
68876
68877 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
68878
68879         * lib/.cppi-disable: Add snprintf.h, socket_.h.
68880         * lib/snprintf.c: Include <errno.h> and <limits.h>.
68881         (EOVERFLOW): Define if the system does not.
68882         Do not include "minmax.h"; it wasn't used.
68883         (snprintf): Don't assume size_t promotes to an unsigned type.
68884         Fix bug when generated string was too long for the buffer: the
68885         buffer's contents are supposed to be the initial prefix of the
68886         output.  Don't assume vasnprintf returns EOVERFLOW if the size
68887         exceeds INT_MAX; do the check ourselves.
68888
68889         Import the following changes from libc:
68890
68891         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
68892
68893         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
68894         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
68895         set wc to the byte which couldn't be converted.
68896         (re_string_reconstruct): Don't clear valid_raw_len before calling
68897         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
68898         tip_context using re_string_context_at.
68899
68900         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
68901
68902         * lib/posix/regex.h: g++ still cannot handled [restrict].
68903
68904         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
68905
68906         * lib/posix/regex.h: Remove special handling for VMS.
68907
68908 2006-08-10  Jim Meyering  <jim@meyering.net>
68909
68910         * modules/same-inode: New module.
68911         * modules/dev-ino: New module.
68912         * modules/cycle-check: Depend on these modules, rather than simply
68913         including their .h files.
68914         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
68915         required via m4/cycle-check.m4.
68916         * modules/same: Depend on new same-inode module, rather than
68917         including same-inode.h.
68918         * modules/chdir-safer: New file.
68919
68920         * modules/chown (Depends-on): Add stat-macros.
68921
68922 2006-08-10  Jim Meyering  <jim@meyering.net>
68923
68924         * m4/cycle-check.m4: New file.
68925         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
68926         * m4/dev-ino.m4, m4/same-inode.m4: New files.
68927
68928 2006-08-10  Eric Blake  <ebb9@byu.net>
68929
68930         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
68931         in from original proposal.
68932
68933 2006-08-10  Eric Blake  <ebb9@byu.net>
68934         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68935
68936         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
68937         namespace.
68938
68939 2006-08-10  Bruno Haible  <bruno@clisp.org>
68940
68941         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
68942         as well.
68943
68944 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68945
68946         Sync from coreutils.
68947
68948         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
68949
68950         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
68951         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
68952
68953 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68954
68955         * modules/restrict: Remove; no longer needed now that we assume
68956         Autoconf 2.59 or later.
68957         * MODULES.html.sh: Remove 'restrict'.
68958         * modules/argp (Depends-on): Remove 'restrict'.
68959         * modules/base64 (Depends-on): Likewise.
68960         * modules/gc (Depends-on): Likewise.
68961         * modules/getaddrinfo (Depends-on): Likewise.
68962         * modules/glob (Depends-on): Likewise.
68963         * modules/inet_ntop (Depends-on): Likewise.
68964         * modules/inet_pton (Depends-on): Likewise.
68965         * modules/memxor (Depends-on): Likewise.
68966         * modules/regex (Depends-on): Likewise.
68967         * modules/strtok_r (Depends-on): Likewise.
68968         * modules/time_r (Depends-on): Likewise.
68969
68970 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68971
68972         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
68973         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
68974         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
68975         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
68976         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
68977         * m4/memxor.m4 (gl_MEMXOR): Likewise.
68978         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
68979         gl_C_RESTRICT replaced by AC_C_RESTRICT.
68980
68981         Merge from coreutils.
68982         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
68983         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
68984         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68985         * m4/time_r.m4 (gl_TIME_R): Likewise.
68986
68987 2006-08-09  Karl Berry  <karl@gnu.org>
68988
68989         * config/srclist.txt: no more gettext-tools, per Bruno.
68990
68991 2006-08-08  Eric Blake  <ebb9@byu.net>
68992
68993         * modules/verror: New module.
68994         * MODULES.html.sh: Document it.
68995
68996 2006-08-08  Eric Blake  <ebb9@byu.net>
68997
68998         * lib/verror.h, lib/verror.c: New files.
68999
69000 2006-08-08  Eric Blake  <ebb9@byu.net>
69001
69002         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69003         verror_at_line output complies with GNU Coding Standards even when
69004         file is NULL.
69005
69006 2006-08-07  Bruno Haible  <bruno@clisp.org>
69007
69008         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69009         versions of AIX.
69010         Reported by Ralf Wildenhues.
69011
69012 2006-08-07  Bruno Haible  <bruno@clisp.org>
69013
69014         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69015         in an AC_DEFUN. Needed so that the autoconf snippets can use
69016         AC_REQUIRE.
69017
69018 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69019
69020         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69021         Initialize pkgdata_DATA.
69022         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69023         overriding it.
69024
69025 2006-08-06  Eric Blake  <ebb9@byu.net>
69026
69027         * lib/error.h: Fold in some upstream changes from glibc.
69028         * lib/error.c: Likewise.
69029
69030 2006-08-04  Bruno Haible  <bruno@clisp.org>
69031
69032         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69033         Make the mostlyclean-local rule depend on mostlyclean-generic.
69034         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69035
69036 2006-07-31  Bruno Haible  <bruno@clisp.org>
69037
69038         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69039         <stdlib.h>, <string.h>.
69040
69041 2006-07-30  Bruno Haible  <bruno@clisp.org>
69042
69043         * modules/readlink (License): Change to LGPL.
69044
69045 2006-07-30  Bruno Haible  <bruno@clisp.org>
69046
69047         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69048         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69049         set PKGDATADIR to point to it.
69050
69051 2006-07-30  Bruno Haible  <bruno@clisp.org>
69052
69053         * modules/csharpexec (configure.ac): Comment out macro invocation.
69054         * modules/javaexec (configure.ac): Likewise.
69055         * modules/javacomp-script (configure.ac): Likewise.
69056
69057         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69058
69059 2006-07-30  Bruno Haible  <bruno@clisp.org>
69060
69061         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69062         linked-list.
69063
69064 2006-07-30  Bruno Haible  <bruno@clisp.org>
69065
69066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69067
69068 2006-07-30  Bruno Haible  <bruno@clisp.org>
69069
69070         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69071         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69072         get removed.
69073
69074 2006-07-29  Bruno Haible  <bruno@clisp.org>
69075
69076         Make it possible for gnulib-tool to work with locally modified or
69077         augmented gnulib repositories.
69078         * gnulib-tool (func_usage): Document --local-dir option.
69079         (local_gnulib_dir): New variable.
69080         Handle --local-dir option.
69081         (func_lookup_file): New function.
69082         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69083         (func_get_description, func_get_filelist, func_get_description,
69084         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69085         func_get_automake_snippet, func_get_include_directive,
69086         func_get_license, func_get_maintainer): Use func_lookup_file.
69087         (func_import, func_create_testdir): Use func_lookup_file.
69088
69089 2006-07-29  Bruno Haible  <bruno@clisp.org>
69090
69091         * modules/setenv (Depends-on): Add unistd.
69092
69093 2006-07-29  Bruno Haible  <bruno@clisp.org>
69094
69095         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69096
69097 2006-07-29  Bruno Haible  <bruno@clisp.org>
69098
69099         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69100
69101 2006-07-29  Bruno Haible  <bruno@clisp.org>
69102
69103         * gnulib-tool (import, update): If there is no Makefile.am, look at
69104         aclocal.m4, instead of bailing out.
69105
69106 2006-07-29  Bruno Haible  <bruno@clisp.org>
69107
69108         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69109         Categorize the options by when they are useful.
69110
69111 2006-07-29  Bruno Haible  <bruno@clisp.org>
69112
69113         * gnulib-tool (func_usage): Document option --no-libtool.
69114         Handle option --no-libtool.
69115         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69116         for changed semantics of $libtool variable.
69117         (func_import): Likewise. If libtool is not used, show this through
69118         an option --no-libtool.
69119         (func_create_testdir): Update.
69120
69121 2006-07-29  Bruno Haible  <bruno@clisp.org>
69122
69123         * gnulib-tool (func_import): Extend error message about missing
69124         --doc-base.
69125
69126 2006-07-29  Bruno Haible  <bruno@clisp.org>
69127
69128         * gnulib-tool (func_import): Don't create the $docbase directory if
69129         there is no file to store there.
69130
69131 2006-07-29  Bruno Haible  <bruno@clisp.org>
69132
69133         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69134         relevant, look for configure.ac there, not in the current directory.
69135         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69136
69137 2006-07-29  Bruno Haible  <bruno@clisp.org>
69138
69139         * gnulib-tool (SORT): New variable.
69140         (func_usage): Undocument --assume-autoconf option.
69141         Remove --assume-autoconf option handling.
69142         (autoconf_minversion): Determine from the contents of configure.ac.
69143         (func_import): Remove autoconf_minversion handling.
69144         Suggested by Eric Blake.
69145
69146 2006-07-29  Bruno Haible  <bruno@clisp.org>
69147
69148         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69149
69150 2006-07-29  Bruno Haible  <bruno@clisp.org>
69151
69152         * config/srclist.txt (*setenv.[ch]): Remove rules.
69153
69154 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69155
69156         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69157
69158 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69159
69160         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69161         arpa/inet.h.
69162
69163 2006-07-28  Simon Josefsson  <jas@extundo.com>
69164
69165         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69166         * modules/inet_pton (Depends-on): Likewise.
69167
69168 2006-07-28  Simon Josefsson  <jas@extundo.com>
69169
69170         * m4/netinet_in_h.m4: New file.
69171
69172 2006-07-28  Simon Josefsson  <jas@extundo.com>
69173
69174         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69175         #include's.
69176
69177 2006-07-28  Simon Josefsson  <jas@extundo.com>
69178
69179         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69180         #include's.
69181
69182 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69183
69184         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69185         setgid on directories only if they set these bits.
69186         * lib/modechange.h: Remove obsolete comment about masks.
69187
69188 2006-07-28  Eric Blake  <ebb9@byu.net>
69189
69190         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69191         macro expansion.
69192
69193 2006-07-28  Bruno Haible  <bruno@clisp.org>
69194
69195         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69196
69197 2006-07-28  Bruno Haible  <bruno@clisp.org>
69198
69199         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69200
69201 2006-07-28  Bruno Haible  <bruno@clisp.org>
69202
69203         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69204         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69205         Define fallbacks.
69206         Avoids link error on FreeBSD 4.x.
69207         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69208
69209         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69210         encoding.
69211         * lib/mbswidth.c (iswcntrl): Likewise.
69212
69213 2006-07-27  Bruno Haible  <bruno@clisp.org>
69214
69215         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69216         test.
69217
69218 2006-07-27  Bruno Haible  <bruno@clisp.org>
69219
69220         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69221         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69222         defined.
69223
69224 2006-07-26  Eric Blake  <ebb9@byu.net>
69225
69226         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69227
69228 2006-07-26  Eric Blake  <ebb9@byu.net>
69229
69230         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69231         like mingw that lack mkstemp.
69232         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69233         avoid compilation warning on mingw.
69234
69235 2006-07-26  Bruno Haible  <bruno@clisp.org>
69236
69237         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69238         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69239         INT_FAST*_MIN, INTPTR_MIN.
69240
69241 2006-07-25  Bruno Haible  <bruno@clisp.org>
69242
69243         * modules/version-etc (Depends-on): Add stdarg.
69244
69245 2006-07-25  Bruno Haible  <bruno@clisp.org>
69246
69247         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69248         complex commands.
69249
69250 2006-07-25  Bruno Haible  <bruno@clisp.org>
69251
69252         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69253         defined in <stdarg.h> or config.h.
69254
69255 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69256
69257         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69258         (gl_STDIO_SAFER): Remove.
69259
69260 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69261
69262         * MODULES.html.sh (File stream based Input/Output):
69263         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69264         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69265         * modules/fopen-safer, modules/tmpfile-safer: New files.
69266         * modules/stdio-safer: Remove.
69267
69268 2006-07-24  Bruno Haible  <bruno@clisp.org>
69269
69270         * modules/tmpdir: New file.
69271         * MODULES.html.sh (File system functions): Add it.
69272
69273 2006-07-24  Bruno Haible  <bruno@clisp.org>
69274
69275         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69276         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69277
69278 2006-07-24  Bruno Haible  <bruno@clisp.org>
69279
69280         * modules/clean-temp: New file.
69281
69282 2006-07-24  Bruno Haible  <bruno@clisp.org>
69283
69284         * m4/tmpdir.m4: New file, from GNU gettext.
69285
69286 2006-07-24  Bruno Haible  <bruno@clisp.org>
69287
69288         * lib/tmpdir.h: New file, from GNU gettext.
69289         * lib/tmpdir.c: New file, from GNU gettext.
69290
69291 2006-07-24  Bruno Haible  <bruno@clisp.org>
69292
69293         * lib/clean-temp.h: New file, from GNU gettext.
69294         * lib/clean-temp.c: New file, from GNU gettext.
69295
69296 2006-07-23  Eric Blake  <ebb9@byu.net>
69297
69298         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69299         (Depends-on): Add binary-io.
69300
69301 2006-07-23  Eric Blake  <ebb9@byu.net>
69302
69303         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69304
69305 2006-07-23  Eric Blake  <ebb9@byu.net>
69306
69307         * lib/tmpfile-safer.c: New file.
69308         * lib/stdio-safer.h (fopen_safer): Add prototype.
69309         * lib/stdio--.h (tmpfile): Make safer.
69310
69311 2006-07-23  Bruno Haible  <bruno@clisp.org>
69312
69313         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69314         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69315         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69316         gl_linked_remove_at): Use it.
69317
69318 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69319         and Simon Josefsson <jas@extundo.com>
69320
69321         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69322
69323         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69324
69325 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69326
69327         * modules/close-stream: New file.
69328         * modules/closeout (Description): Make it clear that it exits
69329         with a diagnostic on error.
69330         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69331         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69332
69333 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69334
69335         * m4/close-stream.m4: New file.
69336
69337 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69338
69339         * lib/close-stream.c, lib/close-stream.h: New files.
69340
69341 2006-07-22  Bruno Haible  <bruno@clisp.org>
69342
69343         Merge from GNU gettext 0.15.
69344
69345         2006-05-01  Bruno Haible  <bruno@clisp.org>
69346
69347                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69348
69349         2006-07-22  Bruno Haible  <bruno@clisp.org>
69350
69351                 * modules/javaversion: New file.
69352                 * MODULES.html.sh (Java): Add javaversion.
69353
69354         2006-03-12  Bruno Haible  <bruno@clisp.org>
69355
69356                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69357
69358         2005-12-04  Bruno Haible  <bruno@clisp.org>
69359
69360                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69361                 (untested).
69362
69363         2006-06-21  Bruno Haible  <bruno@clisp.org>
69364
69365                 Avoid warnings from recent versions of mcs.
69366                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69367                 -o, -L, -r any more. Use options documented since mcs-1.0
69368                 instead. Similarly for -g.
69369
69370         2005-12-04  Bruno Haible  <bruno@clisp.org>
69371
69372                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69373                 .resources, not .resource.
69374
69375         2005-07-09  Bruno Haible  <bruno@clisp.org>
69376
69377                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69378                 add a .dll suffix.
69379                 Reported by Mark Junker <mjscod@gmx.de>.
69380
69381         2006-07-22  Bruno Haible  <bruno@clisp.org>
69382
69383                 * modules/gettext: Upgrade to gettext-0.15.
69384                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69385                 m4/visibility.m4.
69386                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69387
69388 2006-07-22  Bruno Haible  <bruno@clisp.org>
69389
69390         Merge from GNU gettext 0.15.
69391
69392         2006-03-25  Bruno Haible  <bruno@clisp.org>
69393
69394                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69395
69396         2006-07-21  Bruno Haible  <bruno@clisp.org>
69397
69398                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69399                 "1.1".
69400
69401         2006-05-09  Bruno Haible  <bruno@clisp.org>
69402
69403                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69404                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69405                 for the conftestver execution.
69406
69407         2006-05-01  Bruno Haible  <bruno@clisp.org>
69408
69409                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69410                 optional target-version argument. Verify that the compiler
69411                 groks source of the specified source-version, or add -source
69412                 option as necessary. Verify that the compiler produces
69413                 bytecode in the specified target-version, or add -target and
69414                 -source options as necessary. Make the result of the test
69415                 available as variable CONF_JAVAC. Also log error output in
69416                 config.log.
69417
69418         2006-03-11  Bruno Haible  <bruno@clisp.org>
69419
69420                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69421
69422         2006-05-09  Bruno Haible  <bruno@clisp.org>
69423
69424                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69425                 CLASSPATH_SEPARATOR to a semicolon.
69426
69427         2006-03-12  Bruno Haible  <bruno@clisp.org>
69428
69429                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69430                 available as variable CONF_JAVA, for subsequent autoconf
69431                 tests. Also log error output in config.log.
69432
69433         2006-07-19  Bruno Haible  <bruno@clisp.org>
69434
69435                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69436                 that getline works on glibc2 systems. Needed to avoid trouble
69437                 in relocatable.c.
69438                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69439
69440         2005-12-04  Bruno Haible  <bruno@clisp.org>
69441
69442                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69443                 launcher (untested).
69444
69445         2005-12-04  Bruno Haible  <bruno@clisp.org>
69446
69447                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69448
69449         2006-07-22  Bruno Haible  <bruno@clisp.org>
69450
69451                 * gettext.m4: Update from GNU gettext-0.15.
69452                 * nls.m4: Likewise.
69453                 * po.m4: Likewise.
69454                 * inttypes-pri.m4: Likewise.
69455                 * inttypes-h.m4: Renamed from inttypes.m4.
69456                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69457
69458 2006-07-22  Bruno Haible  <bruno@clisp.org>
69459
69460         Merge from GNU gettext 0.15.
69461
69462         2005-07-05  Bruno Haible  <bruno@clisp.org>
69463
69464                 * printf-args.c (printf_fetchargs): Work around broken
69465                 definition of wint_t on mingw.
69466
69467         2005-02-12  Bruno Haible  <bruno@clisp.org>
69468
69469                 * xallocsa.h: Add extern "C" for C++.
69470
69471         2006-05-17  Bruno Haible  <bruno@clisp.org>
69472
69473                 Cygwin portability.
69474                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
69475
69476         2006-04-30  Bruno Haible  <bruno@clisp.org>
69477
69478                 * progreloc.c: Include <mach-o/dyld.h> if available.
69479                 (find_executable): Use _NSGetExecutablePath when possible.
69480
69481         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69482
69483                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
69484                 function.
69485
69486         2005-12-29  Bruno Haible  <bruno@clisp.org>
69487
69488                 * progreloc.c (set_program_name_and_installdir): Fix
69489                 compilation error.
69490
69491         2005-12-04  Bruno Haible  <bruno@clisp.org>
69492
69493                 Cygwin portability.
69494                 * progreloc.c: Include <windows.h> also on Cygwin.
69495                 (find_executable): Add support for Cygwin.
69496                 (set_program_name_and_installdir): Handle also platforms with
69497                 nonempty EXEEXT.
69498
69499         2006-07-11  Bruno Haible  <bruno@clisp.org>
69500
69501                 * javacomp.c: Fix a comment.
69502                 Reported by Jim Meyering.
69503
69504         2006-04-30  Bruno Haible  <bruno@clisp.org>
69505
69506                 * javacomp.h (compile_java_class): Add source_version,
69507                 target_version arguments.
69508                 * javacomp.c: Rewritten to choose only a compiler that
69509                 respects the specified source_version and target_version.
69510
69511         2006-06-27  Bruno Haible  <bruno@clisp.org>
69512
69513                 Assume correct S_ISDIR macro.
69514                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
69515
69516         2006-07-22  Bruno Haible  <bruno@clisp.org>
69517
69518                 * javaversion.h: New file, from GNU gettext.
69519                 * javaversion.c: New file, from GNU gettext.
69520                 * javaversion.java: New file, from GNU gettext.
69521                 * javaversion.class: New file, from GNU gettext.
69522
69523         2006-05-17  Bruno Haible  <bruno@clisp.org>
69524
69525                 Cygwin portability.
69526                 * javaexec.c (execute_java_class): Test for jview program
69527                 also on Cygwin.
69528
69529         2006-04-09  Bruno Haible  <bruno@clisp.org>
69530
69531                 * fatal-signal.c: Don't include string.h.
69532                 (at_fatal_signal): Use a copying loop instead of memcpy.
69533
69534         2005-12-04  Bruno Haible  <bruno@clisp.org>
69535
69536                 * csharpexec.c: Add support for 'clix' launcher (untested).
69537                 (execute_csharp_using_sscli): New function.
69538                 (execute_csharp_program): Call it.
69539
69540         2006-06-21  Bruno Haible  <bruno@clisp.org>
69541
69542                 Avoid warnings from recent versions of mcs.
69543                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
69544                 -o, -L, -r any more. Use options documented since mcs-1.0
69545                 instead. Similarly for -g.
69546
69547         2005-07-09  Bruno Haible  <bruno@clisp.org>
69548
69549                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
69550                 add a .dll suffix.
69551                 Reported by Mark Junker <mjscod@gmx.de>.
69552
69553         2006-06-17  Bruno Haible  <bruno@clisp.org>
69554
69555                 * config.charset: Update for NetBSD 3.0.
69556
69557         2006-05-17  Bruno Haible  <bruno@clisp.org>
69558
69559                 Cygwin portability.
69560                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
69561
69562         2006-05-16  Bruno Haible  <bruno@clisp.org>
69563
69564                 * localcharset.c [CYGWIN]: Include <windows.h>.
69565                 (get_charset_aliases): For Cygwin, return the same CPxxx
69566                 aliases list as under WIN32.
69567                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
69568                 the environment variables. Fall back to GetACP().
69569
69570         2006-04-05  Bruno Haible  <bruno@clisp.org>
69571
69572                 * config.charset: Update Juan Manuel Guerrero's address.
69573
69574         2005-02-12  Bruno Haible  <bruno@clisp.org>
69575
69576                 * allocsa.h: Add extern "C" for C++.
69577
69578         2005-02-10  Bruno Haible  <bruno@clisp.org>
69579
69580                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
69581                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
69582
69583         2006-07-22  Bruno Haible  <bruno@clisp.org>
69584
69585                 * gettext.h: Update to GNU gettext-0.15.
69586
69587 2006-07-22  Bruno Haible  <bruno@clisp.org>
69588
69589         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
69590         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
69591         lib-prefix.m4, longdouble.m4, ssize_t.m4.
69592
69593 2006-07-21  Eric Blake  <ebb9@byu.net>
69594
69595         * modules/stdlib-safer: New file.
69596         * MODULES.html.sh (File stream based Input/Output): Add
69597         stdlib-safer.
69598
69599 2006-07-21  Eric Blake  <ebb9@byu.net>
69600
69601         * lib/stdlib-safer.h: New file from coreutils, required by
69602         stdlib--.h.
69603
69604 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
69605
69606         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
69607
69608 2006-07-20  Bruno Haible  <bruno@clisp.org>
69609
69610         * gnulib-tool: Recognize new option --assume-autoconf.
69611         (autoconf_minversion): New variable.
69612         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
69613
69614 2006-07-20  Bruno Haible  <bruno@clisp.org>
69615
69616         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
69617
69618 2006-07-19  Derek R. Price  <derek@ximbiot.com>
69619
69620         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
69621         Reindent and repaginate.
69622
69623 2006-07-19  Derek Price  <derek@ximbiot.com>
69624
69625         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
69626         Correct grammar.
69627
69628 2006-07-17  Bruno Haible  <bruno@clisp.org>
69629
69630         * modules/list: New file.
69631         * modules/array-list: New file.
69632         * modules/carray-list, modules/carray-list-tests: New files.
69633         * modules/linked-list, modules/linked-list-tests: New files.
69634         * modules/avltree-list, modules/avltree-list-tests: New files.
69635         * modules/rbtree-list, modules/rbtree-list-tests: New files.
69636         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
69637         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
69638         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
69639         * modules/oset: New file.
69640         * modules/array-oset: New file.
69641         * modules/avltree-oset, modules/avltree-oset-tests: New files.
69642         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
69643         * tests/test-carray_list.c: New file.
69644         * tests/test-linked_list.c: New file.
69645         * tests/test-avltree_list.c: New file.
69646         * tests/test-rbtree_list.c: New file.
69647         * tests/test-linkedhash_list.c: New file.
69648         * tests/test-avltreehash_list.c: New file.
69649         * tests/test-rbtreehash_list.c: New file.
69650         * tests/test-avltree_oset.c: New file.
69651         * tests/test-rbtree_oset.c: New file.
69652         * MODULES.html.sh (Container data structures): New section.
69653
69654 2006-07-17  Bruno Haible  <bruno@clisp.org>
69655
69656         * m4/gl_list.m4: New file.
69657
69658 2006-07-17  Bruno Haible  <bruno@clisp.org>
69659
69660         * lib/gl_list.h: New file.
69661         * lib/gl_list.c: New file.
69662         * lib/gl_array_list.h: New file.
69663         * lib/gl_array_list.c: New file.
69664         * lib/gl_carray_list.h: New file.
69665         * lib/gl_carray_list.c: New file.
69666         * lib/gl_linked_list.h: New file.
69667         * lib/gl_linked_list.c: New file.
69668         * lib/gl_anylinked_list1.h: New file.
69669         * lib/gl_anylinked_list2.h: New file.
69670         * lib/gl_avltree_list.h: New file.
69671         * lib/gl_avltree_list.c: New file.
69672         * lib/gl_anyavltree_list1.h: New file.
69673         * lib/gl_anyavltree_list2.h: New file.
69674         * lib/gl_rbtree_list.h: New file.
69675         * lib/gl_rbtree_list.c: New file.
69676         * lib/gl_anyrbtree_list1.h: New file.
69677         * lib/gl_anyrbtree_list2.h: New file.
69678         * lib/gl_anytree_list1.h: New file.
69679         * lib/gl_anytree_list2.h: New file.
69680         * lib/gl_linkedhash_list.h: New file.
69681         * lib/gl_linkedhash_list.c: New file.
69682         * lib/gl_anyhash_list1.h: New file.
69683         * lib/gl_anyhash_list2.h: New file.
69684         * lib/gl_avltreehash_list.h: New file.
69685         * lib/gl_avltreehash_list.c: New file.
69686         * lib/gl_rbtreehash_list.h: New file.
69687         * lib/gl_rbtreehash_list.c: New file.
69688         * lib/gl_anytreehash_list1.h: New file.
69689         * lib/gl_anytreehash_list2.h: New file.
69690
69691         * lib/gl_oset.h: New file.
69692         * lib/gl_oset.c: New file.
69693         * lib/gl_array_oset.h: New file.
69694         * lib/gl_array_oset.c: New file.
69695         * lib/gl_avltree_oset.h: New file.
69696         * lib/gl_avltree_oset.c: New file.
69697         * lib/gl_rbtree_oset.h: New file.
69698         * lib/gl_rbtree_oset.c: New file.
69699         * lib/gl_anytree_oset.h: New file.
69700
69701 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69702
69703         * m4/mkancesdirs.m4: New file.
69704         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
69705         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
69706         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
69707         it.
69708
69709 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69710
69711         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
69712         * lib/mkancesdirs.h: New files.
69713         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
69714         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
69715         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
69716         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
69717         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
69718         callers changed.  Revamp internals significantly, by not
69719         attempting to create directories that are temporarily more
69720         permissive than the final results.  Do not attempt to use
69721         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
69722         This removes some race conditions, fixes some bugs, and simplifies
69723         things.  Use new dirchownmod function to do owner and mode changes.
69724         * lib/mkdir-p.h: Likewise.
69725         * lib/modechange.c (octal_to_mode): New function.
69726         (struct mode_change): New member mentioned.
69727         (make_node_op_equals): New arg mentioned.  All callers changed.
69728         (mode_compile): Keep track of which mode bits the user has explicitly
69729         mentioned.
69730         (mode_adjust): New arg DIR, so that we implement the X op correctly.
69731         New arg PMODE_BITS, to keep track of which mode bits the user
69732         mentioned; it treats S_ISUID and S_ISGID speciall.
69733         All callers changed.
69734         * lib/modechange.h: Likewise.
69735
69736 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69737
69738         * MODULES.html.sh: Add mkancestors.
69739         * modules/mkancesdirs: New module.
69740         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
69741         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
69742         The chdir-safer and afs files are now orphans; I'll remove them
69743         unless someone speaks up.
69744         Add lib/dirchownmod.c, lib/dirchownmod.h.
69745         (Depends-on): Remove alloca, chown, save-cwd, dirname.
69746         Add lchown, mkancesdirs.
69747         (Maintainer): Add self.
69748
69749 2006-07-15  Karl Berry  <karl@gnu.org>
69750
69751         * gnulib-tool: help message wording/arrangement.
69752
69753 2006-07-14  Simon Josefsson  <jas@extundo.com>
69754
69755         * doc/gnulib.texi (Libtool and Windows): New section.
69756
69757 2006-07-12  Simon Josefsson  <jas@extundo.com>
69758
69759         * modules/gendocs (License): Fix license, approved by Karl.
69760
69761 2006-07-12  Eric Blake  <ebb9@byu.net>
69762
69763         * MODULES.html.sh: Add gendocs.
69764
69765 2006-07-11  Eric Blake  <ebb9@byu.net>
69766
69767         * modules/fdl: New module, to install doc/fdl.texi.
69768         * MODULES.html.sh: Add new section for documentation modules.
69769         * gnulib-tool: Avoid space-tab.
69770         (--doc-base): New option, to manage files from doc.
69771
69772 2006-07-11  Eric Blake  <ebb9@byu.net>
69773
69774         * m4/absolute-header.m4: Fix comments to match recent change.
69775
69776 2006-07-11  Eric Blake  <ebb9@byu.net>
69777
69778         * gnulib-tool: List --doc-base before --tests-base.
69779
69780 2006-07-11  Derek R. Price  <derek@ximbiot.com>
69781
69782         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
69783
69784 2006-07-11  Bruno Haible  <bruno@clisp.org>
69785
69786         * README: Mention where to put documentation.
69787
69788 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69789
69790         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
69791
69792 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
69793
69794         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
69795         to stdint.m4.
69796
69797 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
69798
69799         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
69800         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
69801         "no/such/file/stdint.h" when there is no such file, so that
69802         the resulting C code can be parsed by dodgy compilers.
69803         Problems reported by Bob Proulx.
69804
69805 2006-07-10  Derek R. Price  <derek@ximbiot.com>
69806
69807         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
69808         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
69809         macros into the GNU _D_EXACT_NAMLEN.
69810         * lib/savedir.c:  Likewise.
69811         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
69812
69813 2006-07-10  Derek R. Price  <derek@ximbiot.com>
69814         and Paul Eggert  <eggert@cs.ucla.edu>
69815
69816         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
69817         * m4/savedir.m4:
69818         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
69819         macros into the GNU _D_EXACT_NAMLEN.
69820
69821 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69822
69823         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
69824         around the absolute name, to work around a problem with the HP-UX
69825         11.23 native C compiler, reported by Bob Proulx.
69826
69827 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69828
69829         * doc/maintain.texi, make-stds.texi: Sync from
69830         <http://savannah.gnu.org/projects/gnustandards>.
69831
69832 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69833
69834         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
69835
69836 2006-07-09  Jim Meyering  <jim@meyering.net>
69837
69838         * m4/glob.m4: Remove a doubled word in a comment.
69839
69840 2006-07-09  Jim Meyering  <jim@meyering.net>
69841
69842         * lib/argp-pv.c: Remove a doubled word in a comment.
69843         * lib/check-version.c (check_version): Likewise.
69844         * lib/javacomp.c (compile_java_class): Likewise.
69845
69846 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
69847
69848         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
69849         for the benefit of people using Autoconf 2.60.  If you want to
69850         support older Autoconf versions you can copy m4/onceonly_2_57.m4
69851         (or m4/onceonly.m4, if pre-2.57) manually.
69852
69853 2006-07-08  Jim Meyering  <jim@meyering.net>
69854
69855         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
69856         comment.
69857         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
69858         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
69859         comment.
69860
69861 2006-07-08  Jim Meyering  <jim@meyering.net>
69862
69863         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
69864
69865 2006-07-07  Simon Josefsson  <jas@extundo.com>
69866
69867         * tests/test-crc.c: Change expected crc value, the test vector
69868         were probably computed using the old broken crc.c?
69869
69870 2006-07-06  Simon Josefsson  <jas@extundo.com>
69871
69872         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
69873         now the canonical place for the M4 file).
69874
69875         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
69876         from the sys_socket dependency now.
69877
69878         * modules/inet_pton (Files): Ditto.
69879
69880         * modules/inet_ntop (Files): Ditto.
69881
69882 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69883
69884         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
69885         not gl_PREREQ_GETUSERSHELL.
69886
69887 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69888
69889         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
69890         with only one argument, for Autoconf 2.60.
69891         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
69892         expand to nothing, so add a shell command to avoid syntax error.
69893         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
69894
69895 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69896
69897         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
69898
69899 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69900
69901         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
69902         no longer needed.  Check for isblank decl.
69903         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
69904         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
69905         of existence.
69906
69907 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69908
69909         * lib/getloadavg.c: Use __VMS, not VMS.
69910         * lib/getopt.c: Likewise.
69911         * lib/getpagesize.h: Likewise.
69912         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
69913         and probably does not work.
69914
69915 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69916
69917         * lib/.cppi-disable: Add wcwidth.
69918         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
69919         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
69920         (ISGRAPH): Remove.  All uses changed to isgraph.
69921         (FOLD) [!defined _LIBC]: Remove special case.
69922         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
69923         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
69924         HAVE_ISBLANK.
69925         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
69926         case.
69927
69928 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
69929
69930         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
69931         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
69932         brackets.  Other minor changes to suppress some compiler
69933         warnings.
69934
69935 2006-07-06  Derek R. Price  <derek@ximbiot.com>
69936         and Paul Eggert  <eggert@cs.ucla.edu>
69937
69938         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
69939         of invoking obsolescent AC_HEADER_DIRENT macro.
69940         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
69941         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
69942         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
69943         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
69944         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
69945         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69946         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
69947         * m4/readdir.m4: Remove; no longer needed.
69948
69949 2006-07-06  Derek R. Price  <derek@ximbiot.com>
69950         and Paul Eggert  <eggert@cs.ucla.edu>
69951
69952         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
69953         Don't worry about this obsolete case any more.
69954         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
69955         directories.
69956         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
69957         worry about this obsolete case any more.
69958         * lib/fts.c: Likewise.
69959         * lib/getcwd.c: Likewise.
69960         * lib/glob.h: Likewise.
69961         * lib/savedir.c: Likewise.
69962
69963 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
69964
69965         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
69966         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
69967         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
69968         needed.
69969         All uses removed.
69970         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
69971         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
69972         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
69973         needed.
69974         * m4/getdate.m4 (gl_GETDATE): Likewise.
69975         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
69976         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
69977         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
69978         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
69979         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
69980         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69981         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
69982         needed.
69983
69984 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
69985
69986         * lib/memcasecmp.c: Include <limits.h>.
69987         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
69988         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
69989         Don't assume isdigit succeeds only on '0' through '9'.
69990
69991 2006-07-05  Eric Blake  <ebb9@byu.net>
69992
69993         * modules/getaddrinfo (Depends-on): Add snprintf.
69994
69995 2006-07-05  Eric Blake  <ebb9@byu.net>
69996
69997         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
69998         to avoid 'header present but could not be compiled' on cygwin.
69999
70000 2006-07-05  Eric Blake  <ebb9@byu.net>
70001
70002         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70003         missing from netdb.h.
70004         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70005
70006 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70007
70008         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70009         no longer needed.
70010         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70011         * m4/getdate.m4 (gl_GETDATE): Likewise.
70012         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70013         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70014         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70015         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70016         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70017
70018 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70019
70020         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70021         All uses of is_space replaced by isspace.
70022         * lib/exit.h: Don't talk about STDC_HEADERS.
70023         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70024         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70025         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70026         replaced by isprint etc.
70027         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70028         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70029         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70030         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70031         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70032         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70033
70034 2006-07-05  Bruno Haible  <bruno@clisp.org>
70035
70036         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70037         the function exists, before testing against AIX.
70038         Reported by Martin Lambers <marlam@marlam.de>.
70039
70040 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70041
70042         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70043         From Mark D. Baushke.
70044
70045 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70046
70047         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70048         to the absolute name, not just one, to bypass Sun C 5.8's
70049         "warning: #include of /usr/include/... may be non-portable".
70050
70051 2006-07-04  Eric Blake  <ebb9@byu.net>
70052
70053         * modules/dirname-tests: New test module.
70054         * tests/test-dirname.c: New file, replacing dirname.c
70055         TEST_DIRNAME section that was recently deleted.
70056
70057 2006-07-04  Bruno Haible  <bruno@clisp.org>
70058
70059         Assume ANSI C header files and <ctype.h> functions.
70060         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70061         (mbsnwidth): Use isprint, iscntrl instead.
70062
70063 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70064
70065         Merge from coreutils.
70066         * MODULES.html.sh: Add xstrtold.
70067         * modules/xstrtold: New file.
70068         * modules/cycle-check (Files): Add lib/same-inode.h.
70069         * modules/dirname (Files): Add m4/double-slash-root.m4.
70070         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70071         * modules/mkdir-p (Files): Add lib/same-inode.h.
70072         * modules/same (Files): Add lib/same-inode.h.
70073
70074 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70075
70076         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70077         This is to keep the terminology clean; POSIX talks about
70078         "absolute pathnames", not "full pathnames", but the GNU
70079         Coding Standards say to use "path" for something else;
70080         so use "absolute" to keep both sides happy.
70081         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70082         Set gl_absolute_header, not gl_full_header_path.
70083         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70084         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70085         All uses changed.
70086
70087         Merge from coreutils.
70088
70089         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70090
70091         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70092         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70093         want to require the building of c-strtod.o.
70094         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70095         needs -lm directly.
70096         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70097
70098         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70099
70100         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70101         --as-needed option if available.  Problem reported by Albert Chin in
70102         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70103         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70104         cc merely issues a bunch of annoying warnings for --as-needed
70105         (this problem was reported by Bob Proulx).  Also, try linking with
70106         -lm to detect a bug in binutils 2.16 (this problem was reported
70107         by Ralf Wildenhues).
70108
70109         2006-06-18  Jim Meyering  <jim@meyering.net>
70110
70111         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70112         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70113         macro.
70114         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70115         also check for glibc-2.4's abort-inducing bug.
70116
70117         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70118         Low-probability clean-up should be to use rmdir to get rid of
70119         the just-created directory, not unlink.
70120
70121         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70122         configure fail, and request a bug report to inform us about it.
70123         Add a comment that, barring reports to the contrary, in 2007 we'll
70124         assume ftruncate is universally available.
70125
70126         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70127
70128         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70129
70130         2006-03-12  Jim Meyering  <jim@meyering.net>
70131
70132         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70133         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70134         * m4/same.m4 (gl_SAME): Likewise.
70135         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70136
70137         2006-03-11  Eric Blake  <ebb9@byu.net>
70138
70139         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70140         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70141         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70142         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70143
70144 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70145
70146         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70147         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70148         reported by Mark D. Baushke, one in
70149         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70150
70151         Merge from coreutils.
70152
70153         * lib/.cppi-disable: Add stdint_.h.
70154         * lib/.cvsignore: Add stdint.h.
70155
70156         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70157
70158         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70159         both double and long double versions.
70160         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70161         * lib/xstrtold.c: New file.
70162         * lib/xstrtod.h (xstrtold): New decl.
70163
70164         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70165
70166         * lib/filemode.c (setst): Remove.
70167         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70168         (arguably) clearer, and the generated code is a bit smaller on my
70169         Debian GNU/Linux stable x86 host.
70170
70171         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70172
70173         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70174         Assume that filemode.h includes sys/types.h and sys/stat.h.
70175         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70176         (ftypelet): Reorder to put common cases first, for efficiency.
70177         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70178         to do 'M'.
70179         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70180         of 10, for compatibility with FreeBSD.  All callers changed.
70181         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70182         types that can't be deduced solely from st_mode.  First arg is now a
70183         const pointer.
70184         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70185         (strmode): Renamed from mode_string.
70186         (filemodestring): New decl.
70187         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70188         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70189         needed.
70190         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70191
70192         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70193
70194         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70195         fsusage.h now does that.  Include fsusage.h first, to test interface.
70196         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70197         at most one method (the old code could have generated decls that
70198         didn't conform to C89, not that this was ever exercised).
70199         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70200
70201         2006-03-19  Jim Meyering  <jim@meyering.net>
70202
70203         Work even in a chroot where d_ino values for entries in "/"
70204         don't match the stat.st_ino values for the same names.
70205         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70206         number, iterate through all entries again, using lstat instead.
70207         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70208         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70209
70210         * lib/getcwd.c (__getcwd): Clarify a comment.
70211         Use memcpy in place of a call to strcpy.
70212
70213         2006-03-12  Jim Meyering  <jim@meyering.net>
70214
70215         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70216         matches that of the current directory (which we're about to chdir ".."
70217         out of), then save the dev-ino of the parent, instead.
70218
70219         * lib/same-inode.h (SAME_INODE): New file/macro.
70220         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70221         Include "same-inode.h", instead.
70222         * lib/same.c: Likewise.
70223         * lib/cycle-check.h: Include "same-inode.h".
70224         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70225         * lib/cycle-check.c (SAME_INODE): Remove definition.
70226         * lib/root-dev-ino.h: Include "same-inode.h".
70227
70228         2006-03-11  Eric Blake  <ebb9@byu.net>
70229
70230         * lib/same.c (same_name): s/base_name/last_component/
70231         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70232         * lib/filenamecat.c (file_name_concat): Likewise.
70233
70234         2006-03-11  Eric Blake  <ebb9@byu.net>,
70235                     Paul Eggert  <eggert@cs.ucla.edu>
70236
70237         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70238         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70239         drive prefix.
70240         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70241         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70242         (last_component): New method.
70243         * lib/dirname.c (dir_len): Determine when drive letters need a
70244         subsequent slash.  Preserve // when it is special.
70245         (dir_name): Don't append dot when drive letter is absolute.
70246         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70247         * lib/basename.c (base_name): New semantics - malloc the result.
70248         Preserve // when it is special.  Preserve relative files that look
70249         like drive letters.
70250         (base_len): Preserve // when it is special.
70251         (last_component): New method, similar to old base_name semantics.
70252         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70253         base_name.  Strip redundant slashes from ///.
70254
70255 2006-07-03  Jim Meyering  <jim@meyering.net>
70256
70257         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70258         macro is used before the first cycle_check call.
70259
70260 2006-07-03  Eric Blake  <ebb9@byu.net>
70261
70262         * modules/dirname (Depends-on): Add xstrndup.
70263
70264 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70265
70266         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70267         test cases, so that config.log is a bit easier to follow.
70268
70269 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70270
70271         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70272         both are 64 bits, since this seems to be the tradition, and this
70273         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70274         we ever run into a host that prefers long long to long in this
70275         case, we'll need another configure-time test.  Problem reported by
70276         Jim Meyering.
70277
70278 2006-07-02  Eric Blake  <ebb9@byu.net>
70279
70280         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70281
70282 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70283
70284         * modules/inttypes (Depends-on): No longer depends on stdint.
70285         * modules/stdint (Description): Say more about assumptions.
70286         Say that the fast types might differ.  Say macros are used.
70287         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70288         (Makefile.am): Revise list of substituted symbols to match
70289         new stdint.m4.
70290         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70291         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70292         * tests/test-stdint.c (verify_same_types)
70293         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70294         the code conforms to C99/C89.
70295         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70296         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70297
70298 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70299
70300         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70301         but fix a bug, by requiring at least 64 bits.
70302         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70303         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70304         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70305         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70306
70307         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70308         changes.  Make 2.59 a prerequisite.  Check and substitute for
70309         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70310         inttypes.h.  Do not use special include files; just use the
70311         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70312         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70313         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70314         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70315         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70316         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70317         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70318         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70319         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70320         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70321         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70322         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70323         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70324         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70325         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70326         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70327         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70328         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70329         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70330         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70331         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70332         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70333         not check for things that C99 does not require, e.g., int8_t.  If
70334         a test isn't needed unless <stdint.h> isn't working, and is
70335         unlikely to be needed for any other reason, then don't do it
70336         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70337         size_t, since we assume C89 freestanding at least.  Do not check
70338         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70339         the right thing even if the types are not defined.  Instead use:
70340         (gl_STDINT_TYPE_PROPERTIES): New macro.
70341         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70342         testing whether <sys/types.h> clashes, as Autoconf does this for
70343         us now.  All uses removed.
70344         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70345         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70346         (gl_CHECK_TYPE_SAME):
70347         Remove; no longer needed.
70348         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70349         exists, since we'll return 0 anyway in that case.
70350         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70351
70352 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70353
70354         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70355         possible collision with system files.
70356         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70357         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70358         WCHAR_MIN and WCHAR_MAX in this case.
70359         (<stddef.h>): Do not include; no longer needed.
70360         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70361         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70362         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70363         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70364         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70365         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70366         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70367         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70368         !defined(__c99))]: Include in this case too, since it's harmless
70369         now.
70370         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70371         dangerous to do so.
70372         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70373         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70374         (_STDINT_MIN, _STDINT_MAX): New macros.
70375         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70376         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70377         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70378         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70379         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70380         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70381         macros, not typedefs; this simplifies things quite a bit.
70382         Use long int for all types narrower than int64_t.
70383         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70384         Define in terms of long long int or int64_t or long int,
70385         not int64_t or int32_t.  This saves some compile-time testing.
70386         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70387         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70388         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70389         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70390         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70391         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70392         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70393         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70394         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70395         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70396         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70397         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70398         undef any previous version and define our own version, for
70399         simplicity and consistency with the new macros for types.
70400         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70401         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70402         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70403         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70404         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70405         @WINT_T_SUFFIX@ to keep things simple here.
70406         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70407         Simplify by assuming typical 8/16/32/64 host, since we're
70408         already doing that elsewhere anyway.
70409         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70410         and assume long long int is 64 bits if available.  This
70411         speeds up 'configure'.
70412
70413 2006-07-01  Eric Blake  <ebb9@byu.net>
70414
70415         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70416         Reported by Andreas Buening.
70417
70418 2006-07-01  Eric Blake  <ebb9@byu.net>
70419
70420         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70421
70422 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70423
70424         * lib/getaddrinfo.c: fixed typo
70425
70426 2006-06-29  Jim Meyering  <jim@meyering.net>
70427
70428         * modules/strftime (Maintainer): Add my name, since with the
70429         FPRINTFTIME changes strftime.c has forked from glibc.
70430
70431 2006-06-29  Eric Blake  <ebb9@byu.net>
70432
70433         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70434
70435 2006-06-29  Eric Blake  <ebb9@byu.net>
70436
70437         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70438
70439 2006-06-29  Eric Blake  <ebb9@byu.net>
70440
70441         * lib/stat_.h: New file.
70442
70443 2006-06-29  Eric Blake  <ebb9@byu.net>
70444
70445         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70446         unused static function.
70447
70448 2006-06-29  Eric Blake  <ebb9@byu.net>
70449
70450         * doc/functions.texi (Function Portability): Document missing lstat
70451         on mingw.
70452
70453 2006-06-29  Eric Blake  <ebb9@byu.net>
70454
70455         * MODULES.html.sh: Add sys_stat.
70456         * modules/sys_stat: New module.
70457         * modules/mkstemp (Depends-on): Add sys_stat.
70458
70459 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70460
70461         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70462
70463 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70464
70465         * m4/c-bs-a.m4: Removed.
70466
70467 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70468
70469         * lib/strftime.c: Assume strftime() exists.
70470
70471 2006-06-29  Derek Price  <derek@ximbiot.com>
70472
70473         * modules/c-bs-a: Removed - \a is C89.
70474         * MODULES.html.sh: Remove c-bs-a.
70475
70476 2006-06-29  Bruno Haible  <bruno@clisp.org>
70477
70478         * modules/wcwidth (License): Change to LGPL.
70479
70480 2006-06-28  Simon Josefsson  <jas@extundo.com>
70481
70482         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
70483         on _WIN32.
70484
70485         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
70486         getnameinfo.
70487
70488 2006-06-28  Simon Josefsson  <jas@extundo.com>
70489
70490         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
70491
70492 2006-06-28  Simon Josefsson  <jas@extundo.com>
70493
70494         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
70495         functions there.  It will succeed on Windows XP, but on Windows
70496         2000 and (presumably) earlier, it will fail, and use the internal
70497         re-implementation.
70498         (use_win32_p): New function.
70499         (getaddrinfo): Use strtoul on servname, to support numeric ports.
70500         Support AI_NUMERICSERV to disable getservbyname.
70501         (getnameinfo): New function, only supports
70502         NI_NUMERICHOST|NI_NUMERICSERV for now.
70503
70504         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
70505         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
70506         getnameinfo.
70507
70508 2006-06-28  Eric Blake  <ebb9@byu.net>
70509
70510         * modules/wcwidth: New file.
70511         * modules/mbchar (Depends-on): Add wcwidth.
70512         * modules/mbswidth (Depends-on): Add wcwidth.
70513         * MODULES.html.sh: Add wcwidth.
70514
70515 2006-06-28  Eric Blake  <ebb9@byu.net>
70516
70517         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
70518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
70519
70520 2006-06-28  Eric Blake  <ebb9@byu.net>
70521
70522         * lib/xvasprintf.h: Fix comments.
70523
70524 2006-06-28  Eric Blake  <ebb9@byu.net>
70525
70526         * lib/mbchar.h (wcwidth): Include wcwidth.h.
70527         * lib/mbswidth.c (wcwidth): Move from here...
70528         * lib/wcwidth.h: ...to this new file.
70529
70530 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70531
70532         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
70533
70534         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
70535         it's obsolete.
70536         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
70537
70538 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70539
70540         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
70541         Autoconf 2.60 says this stuff was obsolete.
70542
70543 2006-06-28  Bruno Haible  <bruno@clisp.org>
70544
70545         * modules/wcwidth (Files): Add m4/wchar_t.m4.
70546
70547 2006-06-28  Bruno Haible  <bruno@clisp.org>
70548
70549         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
70550         gt_TYPE_WCHAR_T.
70551
70552 2006-06-28  Bruno Haible  <bruno@clisp.org>
70553
70554         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
70555         declaration for wcwidth.
70556         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
70557
70558 2006-06-28  Bruno Haible  <bruno@clisp.org>
70559
70560         * lib/mkdtemp.c [MINGW]: Include <io.h>.
70561         (mkdir): Define using _mkdir.
70562
70563 2006-06-28  Bruno Haible  <bruno@clisp.org>
70564
70565         * lib/getaddrinfo.h: Fix POSIX URL.
70566         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
70567         _WIN32.
70568         (use_win32_p): Make static.
70569         (getaddrinfo): Reject service name if it is empty or does not consist
70570         solely of decimal digits, or if its value is > 65535.
70571         (getnameinfo): Remove useless casts.
70572
70573 2006-06-27  Simon Josefsson  <jas@extundo.com>
70574
70575         * modules/sys_select: New file, suggested by Bruno Haible, Paul
70576         Eggert and Martin Lambers.
70577
70578 2006-06-27  Simon Josefsson  <jas@extundo.com>
70579
70580         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
70581         Eggert and Martin Lambers.
70582
70583 2006-06-27  Bruno Haible  <bruno@clisp.org>
70584
70585         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
70586         result to 0, not to empty.
70587         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
70588
70589 2006-06-27  Bruno Haible  <bruno@clisp.org>
70590
70591         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
70592
70593 2006-06-26  Simon Josefsson  <jas@extundo.com>
70594
70595         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
70596         present.
70597
70598 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
70599
70600         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
70601         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
70602         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
70603
70604 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
70605
70606         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
70607
70608 2006-06-26  Bruno Haible  <bruno@clisp.org>
70609
70610         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
70611
70612 2006-06-26  Bruno Haible  <bruno@clisp.org>
70613
70614         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
70615
70616 2006-06-26  Bruno Haible  <bruno@clisp.org>
70617
70618         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
70619         SGI C compiler in pre-C99 mode.
70620         Suggested by Mark D. Baushke and Larry Jones.
70621
70622 2006-06-26  Bruno Haible  <bruno@clisp.org>
70623
70624         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
70625         WCHAR_MAX.
70626         Reported by Mark D. Baushke and Larry Jones.
70627
70628 2006-06-26  Bruno Haible  <bruno@clisp.org>
70629
70630         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
70631         in pre-C99 mode.
70632         Suggested by Mark D. Baushke and Larry Jones.
70633
70634 2006-06-23  Simon Josefsson  <jas@extundo.com>
70635             Bruno Haible  <bruno@clisp.org>
70636
70637         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
70638         Emit mostlyclean-local rule.
70639         (func_emit_tests_Makefile_am): Likewise.
70640         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
70641
70642 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
70643
70644         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
70645
70646 2006-06-23  Bruno Haible  <bruno@clisp.org>
70647
70648         * tests/test-stdint.c: Update to match ISO C 99 Technical
70649         Corrigendum 1.
70650
70651 2006-06-23  Bruno Haible  <bruno@clisp.org>
70652
70653         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
70654
70655 2006-06-23  Bruno Haible  <bruno@clisp.org>
70656
70657         * lib/stdint_.h: Treat IRIX like OpenBSD.
70658
70659 2006-06-23  Bruno Haible  <bruno@clisp.org>
70660
70661         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
70662         ISO C 99 Technical Corrigendum 1.
70663
70664 2006-06-22  Simon Josefsson  <jas@extundo.com>
70665
70666         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
70667         MinGW.
70668
70669 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70670
70671         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
70672         needed.  Some compiler complained about some of them.  Problem reported
70673         by Larry Jones in
70674         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
70675
70676 2006-06-21  Simon Josefsson  <jas@extundo.com>
70677
70678         * tests/test-getaddrinfo.c: New file.
70679
70680         * modules/getaddrinfo-tests: New file.
70681
70682         * MODULES.html.sh: Add inet_pton.
70683
70684         * modules/inet_pton: New file.
70685
70686 2006-06-21  Simon Josefsson  <jas@extundo.com>
70687
70688         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
70689         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
70690         of using the (limited) gnulib implementation on Windows XP.
70691
70692         * m4/inet_pton.m4: New file.
70693
70694 2006-06-21  Simon Josefsson  <jas@extundo.com>
70695
70696         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
70697         variable.
70698
70699         * lib/socket_.h: Don't define WINVER.
70700
70701         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
70702         slightly modified to work in gnulib.
70703
70704 2006-06-21  Simon Josefsson  <jas@extundo.com>
70705
70706         * doc/gnulib.texi (Windows sockets): Add.
70707
70708 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
70709
70710         * lib/read-file.c (fread_file): Start with buffer allocation of
70711         0 bytes rather than 1 byte; this simplifies the code.
70712         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
70713         code to free buffer and save/restore errno.
70714         (internal_read_file): Remove unused local.
70715
70716 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
70717
70718         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
70719         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
70720         Problem reported by Denis Excoffier in
70721         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
70722
70723 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70724
70725         * modules/sys_socket, modules/socklen: Include sys/types since
70726         FreeBSD 4.x's sys/socket.h needs it.
70727
70728 2006-06-19  Simon Josefsson  <jas@extundo.com>
70729
70730         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
70731
70732 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70733
70734         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
70735
70736 2006-06-19  Bruno Haible  <bruno@clisp.org>
70737
70738         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
70739         and FULL_PATH_INTTYPES_H in angle brackets.
70740         Reported by Mark D. Baushke <mdb@gnu.org>.
70741
70742 2006-06-17  Eric Blake  <ebb9@byu.net>
70743
70744         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
70745         errno.
70746
70747 2006-06-17  Bruno Haible  <bruno@clisp.org>
70748
70749         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
70750         <sys/inttypes.h>.
70751
70752 2006-06-17  Bruno Haible  <bruno@clisp.org>
70753
70754         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
70755         whether errno is declared. Assume <errno.h> declares errno.
70756
70757 2006-06-17  Bruno Haible  <bruno@clisp.org>
70758
70759         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
70760
70761 2006-06-17  Bruno Haible  <bruno@clisp.org>
70762
70763         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
70764         problem on Solaris 2.5.1.
70765
70766 2006-06-16  Eric Blake  <ebb9@byu.net>
70767
70768         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
70769         * lib/unicodeio.c [!defined errno]: Likewise.
70770         * lib/strtol.c [!defined errno]: Likewise.
70771         * lib/strtod.c [!defined errno]: Likewise.
70772
70773 2006-06-15  Eric Blake  <ebb9@byu.net>
70774
70775         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
70776
70777 2006-06-15  Eric Blake  <ebb9@byu.net>
70778
70779         * config/srclist.txt (ssize_t.m4): Lose sync.
70780
70781 2006-06-15  Bruno Haible  <bruno@clisp.org>
70782
70783         * modules/stdint (Files): Include m4/full-header-path.m4,
70784         m4/size_max.m4, m4/wchar_t.m4.
70785         (Makefile.am): Many more substitutions.
70786         * modules/stdint-tests: New file.
70787         * tests/test-stdint.c: New file.
70788
70789 2006-06-15  Bruno Haible  <bruno@clisp.org>
70790
70791         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
70792         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
70793         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
70794         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
70795         gl_CHECK_TYPE_SAME): New macros.
70796
70797 2006-06-15  Bruno Haible  <bruno@clisp.org>
70798
70799         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
70800
70801 2006-06-15  Bruno Haible  <bruno@clisp.org>
70802
70803         * lib/stdint_.h: Rewritten to be fully auto-configured.
70804         Fixes bug on HP-UX/IA64.
70805
70806 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
70807
70808         * lib/getdate.y (__attribute__): Don't define if already defined.
70809         Problem reported by Larry Jones.
70810         * lib/utimens.c (__attribute__): Likewise.
70811
70812 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
70813
70814         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
70815         reported by Andreas Schwab.
70816
70817 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70818             Bruno Haible  <bruno@clisp.org>
70819
70820         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
70821         check for the declaration of strnlen and a run test that exposes the
70822         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
70823         rpl_strndup.
70824
70825 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70826             Bruno Haible  <bruno@clisp.org>
70827
70828         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
70829
70830 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70831
70832         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
70833         compile test, for Tru64 4.0D.
70834
70835 2006-05-28  Karl Berry  <karl@gnu.org>
70836
70837         * config/srclist.txt (printf-args.c): lose sync.
70838
70839 2006-05-26  Martin Lambers  <marlam@marlam.de>
70840
70841         * lib/getpass.c: Updates the test for the native W32 API, and adds
70842         missing includes, thus fixing compilation warnings.
70843
70844 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
70845
70846         * lib/exclude.c (exclude_fnmatch): New function.
70847         (excluded_file_name): Call exclude_fnmatch.
70848         * lib/exclude.h (excluded_file_name): New prototype
70849
70850 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
70851
70852         * lib/tempname.c (small_open, large_open): New macros.
70853         (__open, __open64) [!_LIBC]: Remove.
70854         (__gen_tempname): Use small_open and large_open instead of __open
70855         and __open64.  This fixes a portability bug on HP-UX 11.11i
70856         reported by Simon Wing-Tang in
70857         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
70858
70859 2006-05-24  Bruno Haible  <bruno@clisp.org>
70860
70861         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
70862         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
70863         Reported by Thorsten Maerz <torte@netztorte.de> via
70864         Aaron Stone <aaron@serendipity.cx>.
70865
70866 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70867
70868         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
70869         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
70870         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
70871         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
70872         not really conditional on the cache.
70873         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
70874
70875 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70876
70877         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
70878         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
70879         (my_usleep): Don't mishandle maximum value.
70880
70881 2006-05-19  Jim Meyering  <jim@meyering.net>
70882
70883         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
70884
70885 2006-05-17  Bruno Haible  <bruno@clisp.org>
70886
70887         Cygwin portability.
70888         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
70889
70890 2006-05-17  Bruno Haible  <bruno@clisp.org>
70891
70892         * lib/stdint_.h: Fix recognition of Cygwin.
70893
70894 2006-05-15  Bruno Haible  <bruno@clisp.org>
70895
70896         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
70897         on libtool patch by Ralf Wildenhues.
70898
70899 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70900
70901         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
70902         test for C99 conformance; (bool) 0.5 is an integer constant
70903         expression, but (bool) -0.5 is not.  Problem reported by Fedor
70904         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
70905
70906 2006-05-11  Simon Josefsson  <jas@extundo.com>
70907
70908         * m4/xvasprintf.m4: Fix obvious typo.
70909
70910 2006-05-11  Jim Meyering  <jim@meyering.net>
70911
70912         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
70913         James Lemley.
70914
70915 2006-05-10  Simon Josefsson  <jas@extundo.com>
70916
70917         * lib/md4.c: Typo fix, update copyright years.
70918         (K1, K2): Don't use L because it turn computations into 64-bit on
70919         64-bit platforms.
70920
70921 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
70922
70923         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
70924         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
70925         unwanted sign propagation, e.g., on hosts with 64-bit int.
70926         There still are some problems with reeelly weird theoretical hosts
70927         (e.g., 33-bit int) but it's not worth worrying about now.
70928         * lib/sha1.c (rol): Likewise.
70929         (K1, K2, K3, K4): Remove unnecessary L suffix.
70930
70931 2006-05-10  Bruno Haible  <bruno@clisp.org>
70932
70933         * lib/des.c: Cast to avoid warnings.
70934
70935 2006-05-09  Bruno Haible  <bruno@clisp.org>
70936
70937         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
70938         (Depends-on): Depend also on xsize, stdarg.
70939         (configure.ac): Add gl_XVASPRINTF.
70940
70941 2006-05-09  Bruno Haible  <bruno@clisp.org>
70942
70943         * m4/xvasprintf.m4: New file.
70944
70945 2006-05-09  Bruno Haible  <bruno@clisp.org>
70946
70947         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
70948         (EOVERFLOW): Define fallback value.
70949         (xstrcat): New function.
70950         (xvasprintf): Recognize the special case of a string concatenation.
70951
70952 2006-05-08  Eric Blake  <ebb9@byu.net>
70953
70954         * gnulib-tool (func_version): Base copyright year on CVS date.
70955         (func_emit_copyright_notice): New function.
70956         (func_emit_lib_Makefile_am): Use it.
70957         (func_emit_tests_Makefile_am): Likewise.
70958         (func_import): Likewise.
70959
70960 2006-05-08  Bruno Haible  <bruno@clisp.org>
70961
70962         * modules/stdarg: New file.
70963         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
70964
70965 2006-05-08  Bruno Haible  <bruno@clisp.org>
70966
70967         * m4/stdarg.m4: New file, from GNU gettext.
70968
70969 2006-05-08  Bruno Haible  <bruno@clisp.org>
70970
70971         * config/srclist.txt (build-aux/config.rpath): different from latest
70972         release.
70973
70974 2006-05-08  Bruno Haible  <bruno@clisp.org>
70975
70976         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
70977
70978 2006-05-05  Jim Meyering  <jim@meyering.net>
70979
70980         * m4/warning.m4: New file, derived from bison's file by the same name.
70981
70982 2006-05-03  Bruno Haible  <bruno@clisp.org>
70983
70984         * lib/stdint_.h: Shorter URL.
70985         * lib/inttypes.h: Likewise.
70986
70987 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70988
70989         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
70990
70991 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70992
70993         * lib/verify.h: Document the internals better.  Most of this change
70994         was written by Bruno Haible.
70995
70996 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70997
70998         * doc/verify.texi: New file, partly based on a proposal by
70999         Bruno Haible.
71000
71001 2006-05-02  Bruno Haible  <bruno@clisp.org>
71002
71003         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71004         test from here...
71005         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71006
71007 2006-04-29  Bruno Haible  <bruno@clisp.org>
71008
71009         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71010         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71011
71012 2006-04-29  Bruno Haible  <bruno@clisp.org>
71013
71014         * gnulib-tool: Make --update option actually work.
71015
71016 2006-04-29  Bruno Haible  <bruno@clisp.org>
71017
71018         * doc/gcd.texi: New file.
71019         * doc/gnulib.texi: Include it.
71020
71021 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71022
71023         * lib/getdate.y (get_date): When adding relative date, start with the
71024         initial time, not with the result of the first mktime call.
71025
71026 2006-04-25  Bruno Haible  <bruno@clisp.org>
71027
71028         * gnulib-tool (func_import): Output the include directives in three
71029         blocks, sorted separately.
71030         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71031
71032 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71033
71034         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71035         to define main with arguments, for C++.  Reported by Eric Blake.
71036         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71037         Prefer 'int main ()' to 'int main (void)', for C++.
71038         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71039         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71040         for 'main', for C99 and C++.
71041
71042 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71043
71044         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71045         Don't assume that exit status -1 is valid.
71046         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71047         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71048         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71049         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71050         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71051         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71052         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71053         functions can be used without declaring them, or that you can
71054         exit with status -1.
71055         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71056
71057 2006-04-24  Karl Berry  <karl@gnu.org>
71058
71059         * config/srclist.txt (longdouble.m4): sync lost.
71060
71061 2006-04-24  Eric Blake  <ebb9@byu.net>
71062
71063         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71064
71065 2006-04-24  Bruno Haible  <bruno@clisp.org>
71066
71067         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71068         poll() implementation in AIX.
71069         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71070
71071 2006-04-24  Bruno Haible  <bruno@clisp.org>
71072
71073         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71074         assigned exactly once.
71075
71076 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71077             Bruno Haible  <bruno@clisp.org>
71078
71079         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71080         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71081         for AM_CPPFLAGS.
71082
71083 2006-04-23  Bruno Haible  <bruno@clisp.org>
71084
71085         * modules/copy-file: Depend on unistd.
71086         * modules/execute: Likewise.
71087         * modules/fatal-signal: Likewise.
71088         * modules/findprog: Likewise.
71089         * modules/mkdtemp : Likewise.
71090         * modules/pipe: Likewise.
71091         * modules/wait-process: Likewise.
71092
71093 2006-04-23  Bruno Haible  <bruno@clisp.org>
71094
71095         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71096         condition was already detected.
71097         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71098
71099 2006-04-23  Bruno Haible  <bruno@clisp.org>
71100
71101         * lib/copy-file.c: Include <unistd.h> unconditionally.
71102         * lib/execute.c: Likewise.
71103         * lib/fatal-signal.c: Likewise.
71104         * lib/findprog.c: Likewise.
71105         * lib/mkdtemp.c: Likewise.
71106         * lib/pipe.h: Likewise.
71107         * lib/pipe.c: Likewise.
71108         * lib/wait-process.h: Likewise.
71109
71110 2006-04-23  Bruno Haible  <bruno@clisp.org>
71111
71112         * gnulib-tool (func_usage): Fix --import description. Document
71113         --update.
71114         (func_import): Create temporary file in a temporary directory, if
71115         --dry-run is specified. Silence errors from 'grep' when there are no
71116         m4 files in $m4dir.
71117         (func_create_testdir): Silence errors from 'grep' when there are no
71118         m4 files in $m4dir.
71119         Reported by Karl Berry <karl@freefriends.org>.
71120
71121 2006-04-20  Bruno Haible  <bruno@clisp.org>
71122
71123         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71124         one argument, so that the code will be portable to Autoconf 2.60.
71125         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71126         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71127         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71128
71129 2006-04-19  Derek Price  <derek@ximbiot.com>
71130             Eric Blake  <ebb9@byu.net>
71131
71132         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71133         rather than "/full/path.h".  Update comment to match.  Shorten &
71134         generalize m4_translit call via AS_TR_CPP.
71135
71136 2006-04-19  Derek Price  <derek@ximbiot.com>
71137             Eric Blake  <ebb9@byu.net>
71138
71139         * lib/inttypes.h: Correct grammar in comment.
71140
71141 2006-04-18  Derek Price  <derek@ximbiot.com>
71142             Paul Eggert  <eggert@cs.ucla.edu>
71143
71144         * modules/inttypes: New file.
71145         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71146
71147 2006-04-18  Derek Price  <derek@ximbiot.com>
71148             Paul Eggert  <eggert@cs.ucla.edu>
71149
71150         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71151         New files.
71152
71153 2006-04-18  Derek Price  <derek@ximbiot.com>
71154             Paul Eggert  <eggert@cs.ucla.edu>
71155
71156         * lib/inttypes.h: New file.
71157         * lib/strtoimax.c: Assume <inttypes.h>.
71158
71159 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71160
71161         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71162         isn't mounted.  Problem reported by Kir Kolyshkin.
71163
71164 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71165
71166         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71167         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71168         Derek R. Price.
71169         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71170         implementation.
71171
71172 2006-04-12  Eric Blake  <ebb9@byu.net>
71173
71174         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71175         is now done automatically by the corresponding Autoconf macro.
71176
71177 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71178
71179         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71180         time_r.h.
71181
71182 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71183
71184         Merge regex changes from libc, removing some of our
71185         POSIX-conformance changes that were rejected and redoing them in a
71186         less-intrusive way.
71187
71188         * lib/regcomp.c (re_compile_internal, init_dfa):
71189         Length arg is now size_t, not Idx.  All uses changed.
71190         (peek_token): Forward decl now says internal_function.
71191         (__re_error_msgid, __re_error_msgid_idx):
71192         Now static rather than extern with attribute_hidden.
71193         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71194         For some reason libc prefers K&R style defns for external functions.
71195         (regerror) [!defined _LIBC]: Likewise.
71196         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71197         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71198         (build_range_exp, build_collating_symbol):
71199         Use K&R-style defn.
71200         (re_compile_fastmap): Use '\0' to memset, not 0.
71201         (utf8_sb_map): Make the calculations more obvious.
71202         (init_dfa, parse_bracket_exp, build_charclass_op):
71203         Call calloc and cast result, as glibc does.
71204         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71205         (build_range_exp, build_collating_symbol):
71206         Now internal functions.
71207
71208         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71209
71210         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71211         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71212         Don't depend on VMS; depend on __VMS instead, for POSIX
71213         namespace cleanness.
71214         (regoff_t): Define to ssize_t, not long int.
71215
71216         Remove the REG_ macros named below.  Instead, make the old names
71217         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71218         __USE_GNU_REGEX.
71219         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71220         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71221         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71222         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71223         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71224         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71225         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71226         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71227         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71228         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71229         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71230         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71231         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71232         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71233         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71234         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71235         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71236         (REG_NREGS):
71237         Remove.  All uses replaced by the old RE_* names.
71238         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71239         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71240         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71241         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71242         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71243         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71244         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71245         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71246         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71247         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71248         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71249         Don't bother having these macros be independent of each others'
71250         values, since they no longer exist in the POSIX name space.
71251
71252         Rename the following member names back to their old names,
71253         unless !__USE_GNU_REGEX.  All uses changed back.
71254         (buffer): Renamed from re_buffer.
71255         (allocated): Renamed from re_allocated.
71256         (used): Renamed from re_used.
71257         (syntax): Renamed from re_syntax.
71258         (fastmap): Renamed from re_fastmap.
71259         (translate): Renamed from re_translate.
71260         (can_be_null): Renamed from re_can_be_null.
71261         (regs_allocated): Renamed from re_regs_allocated.
71262         (fastmap_accurate): Renamed from re_fastmap_accurate.
71263         (no_sub): Renamed from re_no_sub.
71264         (not_bol): Renamed from re_not_bol.
71265         (not_eol): Renamed from re_not_eol.
71266         (newline_anchor): Renamed from re_newline_anchor.
71267         (num_regs): Renamed from rm_num_regs.
71268         (start): Renamed from rm_start.
71269         (end): Renamed from rm_end.
71270
71271         (free_state): Move up a bit.
71272
71273         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71274         #define to be empty.
71275         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71276         when that is what is intended.
71277         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71278         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71279         (MAX): New macro.
71280         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71281         All uses changed back to re_malloc, etc.  It's now the caller's
71282         responsibility to check for overflow; all callers changed.
71283         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71284         (re_x2nrealloc): Remove.
71285         (free_state): Remove decl.
71286
71287         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71288         (re_set_registers, re_exec):
71289         Use K&R-style defn.
71290
71291         2006-01-31  Roland McGrath  <roland@redhat.com>
71292
71293         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71294         Reported by Mike Frysinger <vapier@gentoo.org>.
71295
71296         2006-01-15  Andreas Jaeger  <aj@suse.de>
71297
71298         [BZ #1950]
71299         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71300         build_wcs_upper_buffer change.
71301         (build_wcs_upper_buffer): Change return type.
71302
71303         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71304
71305         * lib/regex_internal.h: Include <stdint.h> if available.
71306
71307         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71308
71309         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71310
71311         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71312
71313         * lib/regcomp.c: Adjust for changed secondary hash function.
71314
71315         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71316
71317         * lib/regex.h: Pretty printing.
71318         Clean up namespace a bit.
71319
71320         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71321
71322         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71323         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71324
71325         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71326                     Ulrich Drepper  <drepper@redhat.com>
71327
71328         [BZ #1302]
71329         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71330         changed.
71331         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71332
71333         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71334
71335         [BZ #281]
71336         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71337         * lib/regcomp.c: Remove unnecessary uses of
71338         unsigned RE_TRANSLATE_TYPE.
71339         * lib/regex_internal.h: Likewise.
71340         * lib/regex_internal.c: Likewise.
71341         * lib/regexec.c: Likewise.
71342         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71343
71344         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71345
71346         * lib/regexec.c (find_recover_state): Remove unnecessary
71347         initialization.
71348         (transit_state_bkref): Make DFA a const pointer.
71349         (get_subexp): Likewise.
71350         (check_arrival): Likewise.
71351         (update_cur_sifted_state): Likewise.
71352         (re_search_internal): Likewise.
71353         (prune_impossible_nodes): Likewise.
71354         (acquire_init_state_context): Likewise.
71355         (proceed_next_node): Likewise.
71356         (set_regs): Likewise.
71357         (free_fail_stack_return): Likewise.
71358         (check_arrival_expand_ecl): Mark DFA parameter as const.
71359         (check_arrival_expand_ecl_sub): Likewise.
71360         (check_subexp_limits): Likewise.
71361         (sub_epsilon_src_nodes):  Likewise.
71362         (add_epsilon_src_nodes):  Likewise.
71363         (merge_state_array): Likewise.
71364         (update_regs): Likewise.
71365         (build_trtable): Likewise.
71366         (sift_states_backward): Mark MCTX parameter as const.
71367         (build_sifted_states): Likewise.
71368         (update_cur_sifted_state): Likewise.
71369         (sift_states_mkref): Likewise.
71370         (check_arrival_expand_ecl): Mark eclosure as const.
71371         (check_dst_limits_calc_pos_1): Likewise.
71372         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71373         pointer.
71374
71375         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71376
71377         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71378         (transit_state_sb): Likewise.
71379         (transit_state_mb): Likewise.
71380         (sift_states_iter_mb): Likewise.
71381         (check_arrival_add_next_nodes): Likewise.
71382         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71383         [_LIBC] (re_search_2_stub): Use mempcpy.
71384
71385         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71386         mbrtowc for very simple UTF-8 case.
71387
71388         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71389         a pointer-to-const.
71390         (re_acquire_state_context): Likewise.
71391         * lib/regex_internal.h: Adjust prototypes.
71392
71393         * lib/regex.c: Prevent using C++ compilers.
71394
71395         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71396         (re_acquire_state_context): Likewise.
71397
71398 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71399
71400         * modules/regex (Depends-on): Add ssize_t.
71401
71402 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71403
71404         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71405         translation table.
71406
71407 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71408
71409         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71410
71411 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71412             Bruno Haible  <bruno@clisp.org>
71413
71414         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71415         <sys/types.h> and <inttypes.h>.
71416
71417 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71418
71419         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71420         `__error_t_defined', so argp.h will not typedef the former.
71421
71422 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71423
71424         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71425         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71426         glibc names.  Even if glibc is changed to conform to POSIX, the
71427         traditional names will be available anyway, since regex depends on
71428         the extensions module.  Also, fix a longstanding typo in the
71429         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71430         reported by Emanuele Giaquinta.  Also, change sense of cached
71431         variable, so that the message makes sense.
71432
71433 2006-03-24  Simon Josefsson  <jas@extundo.com>
71434
71435         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71436         including some doc fixes.
71437         (base64_encode_alloc): Fix +1 bug on allocation failures.
71438
71439 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71440
71441         * lib/base64.c (base64_encode): Do not read past end of array with
71442         unsanitized input on systems with CHAR_BIT > 8.
71443
71444 2006-03-24  Eric Blake  <ebb9@byu.net>
71445
71446         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71447
71448 2006-03-22  Karl Berry  <karl@gnu.org>
71449
71450         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71451         * config/srclistvars.sh (COREUTILS): new var.
71452
71453 2006-03-17  Jim Meyering  <jim@meyering.net>
71454
71455         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71456         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71457
71458 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71459
71460         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71461         no longer needs it.  Instead, check that regoff_t is as least
71462         as wide as ptrdiff_t.
71463
71464         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71465         so that our regex.h stays compatible with the installed regex.
71466         This is helpful for installers who configure --without-included-regex.
71467         Problem reported by Emanuele Giaquinta.
71468
71469 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71470
71471         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
71472         Typedef to long int, not to off_, as POSIX will likely change
71473         in that direction.
71474
71475 2006-03-15  Eric Blake  <ebb9@byu.net>
71476
71477         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
71478
71479 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71480
71481         * lib/argp-help.c (validate_uparams): Fix typo
71482         * lib/argp-parse.c (argp_default_options): Consistently begin help
71483         messages with a lowercase letter.
71484
71485 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
71486
71487         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
71488         overrun buffers and shouldn't be used (much as gets shouldn't be
71489         used).
71490         * lib/time_r.c (asctime_r, ctime_r): Likewise.
71491
71492 2006-03-08  Simon Josefsson  <jas@extundo.com>
71493
71494         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
71495         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71496
71497 2006-03-08  Simon Josefsson  <jas@extundo.com>
71498
71499         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
71500         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71501
71502 2006-03-08  Simon Josefsson  <jas@extundo.com>
71503
71504         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
71505         signal that configure disabled the device.
71506
71507 2006-03-08  Simon Josefsson  <jas@extundo.com>
71508
71509         * build-aux/maint.mk: Fix refresh-po, to handle no translated
71510         languages.
71511
71512 2006-03-07  Simon Josefsson  <jas@extundo.com>
71513
71514         * modules/getopt (Depends-on): Add unistd.
71515
71516         * modules/unistd: New file.
71517
71518 2006-03-07  Simon Josefsson  <jas@extundo.com>
71519
71520         * modules/gc-random: New file.
71521
71522 2006-03-07  Simon Josefsson  <jas@extundo.com>
71523
71524         * m4/unistd_h.m4: New file.
71525
71526 2006-03-07  Simon Josefsson  <jas@extundo.com>
71527
71528         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
71529         test to be side-effect free by storing the result in the cache
71530         variable gl_cv_lib_readline, and moving the assignment of
71531         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
71532         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71533
71534 2006-03-07  Simon Josefsson  <jas@extundo.com>
71535
71536         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
71537         error on missing devices (the functions will return an error).
71538
71539         * m4/gc.m4: Move random stuff to gc-random.m4
71540
71541 2006-03-07  Simon Josefsson  <jas@extundo.com>
71542
71543         * lib/unistd_.h: New file.
71544
71545 2006-03-07  Simon Josefsson  <jas@extundo.com>
71546
71547         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
71548
71549 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71550
71551         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
71552         Problem reported by Juan Manuel Guerrero.
71553
71554 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71555
71556         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
71557         the unistd module.
71558         * lib/getlogin_r.c: Likewise.
71559         * lib/getlogin_r.h: Likewise.
71560         * lib/glob.c: Likewise.
71561         * lib/pagealign_alloc.c: Likewise.
71562         * lib/unistd_.h: Remove; no longer needed.
71563
71564 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71565
71566         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71567         Add unistd.
71568         * modules/c-stack (Depends-on): Add unistd.
71569         * modules/getlogin_r: Likewise.
71570         * modules/glob: Likewise.
71571         * modules/pagealign_alloc: Likewise.
71572         * modules/unistd (Files): Remove lib/unistd_.h.
71573         (EXTRA_DIST): Remove.
71574         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
71575         need unistd_.h.
71576         (MOSTLYCLEANFILES): Remove unistd.h-t.
71577
71578 2006-03-03  Simon Josefsson  <jas@extundo.com>
71579
71580         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
71581
71582 2006-03-03  Simon Josefsson  <jas@extundo.com>
71583
71584         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
71585         libidn and bison.
71586
71587 2006-03-03  Simon Josefsson  <jas@extundo.com>
71588
71589         * build-aux/maint.mk: Add indent target.
71590
71591 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
71592
71593         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
71594         our replacement poll.h in any case, to avoid a differing
71595         declaration from a system header.  Seen on AIX.
71596
71597 2006-03-01  Simon Josefsson  <jas@extundo.com>
71598
71599         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
71600         <kasal@ucw.cz>.
71601
71602 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71603
71604         * modules/gettime (Depends-on): Add extensions module.
71605         * modules/nanosleep (Depends-on): Likewise.
71606         * modules/settime (Depends-on): Likewise.
71607
71608 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71609
71610         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
71611         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
71612         pedantically.
71613         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71614         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
71615
71616         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
71617         not "==".  Reported by Ralf Wildenhues.
71618
71619 2006-03-01  Karl Berry  <karl@gnu.org>
71620
71621         * doc/Copyright/request-*: new files, synced from gnuorg.
71622
71623 2006-03-01  Karl Berry  <karl@gnu.org>
71624
71625         * config/srclist.txt (Copyright/*): new entries.
71626
71627 2006-02-28  Simon Josefsson  <jas@extundo.com>
71628
71629         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
71630
71631 2006-02-27  Simon Josefsson  <jas@extundo.com>
71632
71633         * lib/base64.h: Indent #define's.  From Jim Meyering
71634         <jim@meyering.net>.
71635
71636 2006-02-27  Jim Meyering  <jim@meyering.net>
71637
71638         Revert the change of 2006-02-24, so these files can continue
71639         to be sync'd from gettext.
71640         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
71641         of `config.h'.
71642
71643 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
71644
71645         * modules/intprops: New file.
71646         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71647         Add intprops.
71648         * modules/getloadavg (Files): Remove lib/intprops.h.
71649         (Depends-on): Add intprops.
71650         * modules/human: Likewise.
71651         * modules/inttostr: Likewise.
71652         * modules/openat: Likewise.
71653         * modules/sig2str: Likewise.
71654         * modules/userspec: Likewise.
71655         * modules/utimecmp: Likewise.
71656         * modules/xnanosleep: Likewise.
71657         * modules/xstrtol: Likewise.
71658
71659 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
71660
71661         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
71662         * modules/lock-tests (TESTS): Use $(EXEEXT).
71663         * modules/tls-tests: Likewise.
71664         * modules/argp-tests: Likewise.
71665         (check_PROGRAMS): New var, replacing...
71666         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
71667
71668 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71669
71670         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
71671         `config.h'.
71672
71673 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
71674
71675         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
71676
71677 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71678
71679         Sync from coreutils.
71680         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
71681         gl_CHDIR_SAFER.
71682
71683 2006-02-22  Jim Meyering  <jim@meyering.net>
71684
71685         Sync from coreutils.
71686         * m4/chdir-safer.m4: New file.
71687
71688 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71689
71690         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
71691         AT_FDCWD exceeds INT_MAX.
71692         * lib/openat.h (AT_FDCWD): Likewise.
71693
71694 2006-02-17  Eric Blake  <address@hidden>
71695
71696         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
71697
71698 2006-02-16  Simon Josefsson  <jas@extundo.com>
71699
71700         * modules/getaddrinfo (Depends-on): Add sys_socket.
71701
71702 2006-02-15  Simon Josefsson  <jas@extundo.com>
71703
71704         * build-aux/maint.mk: Add dsyntax-check rule.
71705
71706 2006-02-15  Eric Blake  <ebb9@byu.net>
71707
71708         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
71709         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
71710         'present but cannot compile' warnings on cygwin.
71711         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
71712         use ws2tcpip.h if sys/socket.h works.
71713         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
71714         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
71715
71716 2006-02-14  Simon Josefsson  <jas@extundo.com>
71717
71718         * modules/maintainer-makefile (Files): Rename.
71719
71720         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
71721         and (the local) Makefile.cfg to maint-cfg.mk.
71722
71723         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
71724         to the latter.
71725
71726         * modules/maintainer-makefile: New module.
71727
71728         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
71729         severaly stripped to make it possible to build it up from scratch
71730         with reliable tests.
71731
71732         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
71733         fixes to permit overriding the default actions when configure and
71734         makefile are not available.
71735
71736 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
71737
71738         Sync from coreutils.
71739         * modules/lstat (Depends-on): Don't depend on xalloc.
71740         (License): Change from GPL to LGPL, since this is now simply a
71741         replacement for a libc function.
71742
71743 2006-02-14  Jim Meyering  <jim@meyering.net>
71744
71745         Sync from coreutils.
71746
71747         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
71748         failure on deficient systems, and simplify gnulib lgpl dependencies.
71749         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
71750         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
71751
71752         * lib/xalloc-die.c: Remove unused definition of N_.
71753
71754 2006-02-14  Jim Meyering  <jim@meyering.net>
71755
71756         Sync from coreutils.
71757         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
71758         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
71759         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
71760         double-quote uses of that variable, to accommodate the rare case in
71761         which getmntent is available in none of the libraries checked.  This
71762         happens at least on FreeBSD 5.0.
71763
71764 2006-02-13  Simon Josefsson  <jas@extundo.com>
71765
71766         * gnulib-tool (Usage): Fix --import, from
71767         karl@freefriends.org (Karl Berry).
71768
71769 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71770
71771         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
71772
71773 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
71774
71775         * lib/argp-namefrob.h: Restore changes accidentally lost during the
71776         "autoupdate" on 2005-12-12.
71777
71778 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
71779
71780         * modules/closeout (Depends-on): Remove atexit.
71781
71782 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
71783
71784         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
71785         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
71786
71787 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
71788
71789         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
71790         __EXTENSIONS__ if this causes compilation to fail.  Problem
71791         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
71792         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
71793
71794 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
71795
71796         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
71797         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
71798         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
71799         All uses changed.
71800
71801 2006-01-26  Simon Josefsson  <jas@extundo.com>
71802
71803         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
71804         prototype is visible on mingw32.
71805
71806         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
71807         for mingw32.
71808
71809         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
71810         mingw32).
71811
71812 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71813
71814         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
71815         attempt to open for write; this always fails, at least on POSIX
71816         hosts.  This reinstates the 2006-01-09 change, which was
71817         inadvertently removed.
71818
71819 2006-01-26  Bruno Haible  <bruno@clisp.org>
71820
71821         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
71822         Reported by Paul Eggert.
71823
71824 2006-01-26  Bruno Haible  <bruno@clisp.org>
71825             Paul Eggert  <eggert@cs.ucla.edu>
71826
71827         * lib/stdbool_.h (_Bool)
71828         [(! (defined __cplusplus || defined __BEOS__)
71829           && !defined __GNUC__
71830           && !(defined __HP_cc || defined __xlc__
71831                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
71832                || defined __sgi))]:
71833         #define to signed char in these cases too; this simplifies
71834         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
71835         etc., separately) and makes it more conservative.
71836
71837 2006-01-25  Simon Josefsson  <jas@extundo.com>
71838
71839         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
71840         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
71841         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
71842
71843 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71844
71845         * lib/argp-namefrob.h: Bugfix. Remove stray #
71846
71847 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
71848
71849         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
71850         so that we test the test.
71851         Check for yet another HP-UX cc bug involving *bool |= bool.
71852
71853 2006-01-25  Karl Berry  <karl@gnu.org>
71854
71855         * config/srclist.txt (vasnprintf.c): sync lost.
71856
71857 2006-01-25  Jim Meyering  <jim@meyering.net>
71858
71859         Sync from the stable (b5) branch of coreutils:
71860
71861         * lib/fts.c (fts_children): Don't let close() clobber errno from
71862         failed fchdir().
71863
71864         * lib/fts.c (fts_stat): When following a symlink-to-directory,
71865         don't necessarily interpret stat-fails+lstat-succeeds as indicating
71866         a dangling symlink.  That can also happen at least for ELOOP.
71867         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
71868         FYI, this bug predates the inclusion of fts.c in coreutils.
71869
71870         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
71871         in their own block, so pre-c99 compilers don't object.
71872
71873         Avoid the double-free (first in fts_read, second in fts_close) that
71874         would occur when an `active' directory is made inaccessible (e.g.,
71875         via chmod a-x) during a traversal.
71876         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
71877         before returning.  Reproduce this failure by
71878         mkdir -p a/b; cd a; chmod a-x . b
71879         Reported by Stavros Passas.
71880
71881 2006-01-25  Jim Meyering  <jim@meyering.net>
71882
71883         * lib/fileblocks.c: Remove more useless parentheses.
71884         * lib/readutmp.h: Likewise.
71885
71886 2006-01-25  Bruno Haible  <bruno@clisp.org>
71887
71888         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
71889         warnings.
71890         Reported by Paul Eggert.
71891
71892 2006-01-25  Bruno Haible  <bruno@clisp.org>
71893
71894         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
71895         rid of a trap command. For Solaris sh.
71896         Reported by Mark D. Baushke <mdb@gnu.org>.
71897
71898 2006-01-24  Simon Josefsson  <jas@extundo.com>
71899
71900         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
71901         Bruno.
71902
71903 2006-01-24  Karl Berry  <karl@gnu.org>
71904
71905         * config/srclist.txt (argp-namefrob.h): sync lost.
71906
71907 2006-01-24  Jim Meyering  <jim@meyering.net>
71908
71909         * modules/openat (Files): Add lib/intprops.h.
71910         From Mark D. Baushke.
71911
71912 2006-01-24  Jim Meyering  <jim@meyering.net>
71913
71914         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
71915         Reported by Mark D. Baushke.
71916
71917 2006-01-24  Jim Meyering  <jim@meyering.net>
71918
71919         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
71920
71921 2006-01-24  Bruno Haible  <bruno@clisp.org>
71922
71923         * modules/strnlen (Maintainer): Change from glibc to all.
71924
71925 2006-01-24  Bruno Haible  <bruno@clisp.org>
71926
71927         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
71928         Patch by Paul Eggert.
71929
71930 2006-01-24  Bruno Haible  <bruno@clisp.org>
71931
71932         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
71933         already has it.
71934         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
71935         2005-11-26.
71936
71937         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
71938         'signed char' to avoid problems with the built-in _Bool type.
71939         Reported by Paul Eggert on 2005-11-26.
71940
71941 2006-01-24  Bruno Haible  <bruno@clisp.org>
71942
71943         * gnulib-tool (func_import): Avoid constructing complicated sed
71944         expressions inside backquote.
71945         Report and solution by Mark D. Baushke <mdb@gnu.org>.
71946
71947 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
71948
71949         These changes imported from libc.
71950         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
71951         test and two separate function calls.
71952         * lib/strndup.c (__strndup): Add libc_hidden_def.
71953
71954 2006-01-23  Simon Josefsson  <jas@extundo.com>
71955
71956         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
71957         Remove the test_*_SOURCES variable: automake infers it by default.
71958         * modules/tls-tests: Likewise.
71959
71960 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71961
71962         Work around porting bugs reported by Dieter in
71963         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
71964         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
71965         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
71966         Include "getopt.h" first, to check interface.
71967         (getenv): Declare only if defined HAVE_DECL_GETENV &&
71968         !HAVE_DECL_GETENV.
71969         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
71970         (__strndup): Revert to K&R-style function dfns, the glibc style.
71971         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
71972         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
71973         Include strnlen.h first, to get prototype properly.
71974         (strnlen): Renamed from __strnlen.
71975         Remove weak alias.
71976
71977 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71978
71979         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
71980
71981 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71982
71983         * config/srclist.txt: Adjust to reflect glibc reorganization.
71984         This affects only comments.
71985
71986 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71987
71988          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
71989          Reported by Bruce Korb <bkorb@gnu.org>.
71990
71991 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71992
71993         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
71994         to pacify gcc -Wswitch-default.
71995
71996 2006-01-22  Bruno Haible  <bruno@clisp.org>
71997
71998         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
71999         temporary buffer for sprintf, take into account the precision also
72000         for 'd', 'i', 'u', 'o', 'x', 'X'.
72001
72002 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72003
72004         * modules/argp-tests: New module
72005         * tests/test-argp.c: New file
72006         * tests/test-argp-2.sh: New file
72007
72008 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72009
72010         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72011         (__argp_base_name): Removed
72012         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72013         typo.
72014         (__argp_base_name): Provide macro definition or extern declaration
72015         depending on the configuration
72016
72017 2006-01-20  Simon Josefsson  <jas@extundo.com>
72018
72019         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72020
72021 2006-01-20  Simon Josefsson  <jas@extundo.com>
72022
72023         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72024
72025 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72026
72027         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72028         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72029         Suggested by Bruno Haible.
72030
72031 2006-01-20  Karl Berry  <karl@gnu.org>
72032
72033         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72034         until changes propagate, I guess.
72035
72036 2006-01-19  Simon Josefsson  <jas@extundo.com>
72037
72038         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72039
72040 2006-01-19  Simon Josefsson  <jas@extundo.com>
72041
72042         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72043
72044 2006-01-19  Simon Josefsson  <jas@extundo.com>
72045
72046         * gnulib-tool: Set check_PROGRAMS.
72047
72048         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72049         modules/des-tests, modules/gc-arcfour-tests,
72050         modules/gc-arctwo-tests, modules/gc-des-tests,
72051         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72052         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72053         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72054         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72055         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72056         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72057         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72058         test_*_SOURCES.
72059
72060 2006-01-18  Simon Josefsson  <jas@extundo.com>
72061
72062         * modules/socklen (Depends-on): Depend on sys_socket.
72063
72064 2006-01-18  Simon Josefsson  <jas@extundo.com>
72065
72066         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72067         modules/des-tests, modules/gc-arcfour-tests,
72068         modules/gc-arctwo-tests, modules/gc-des-tests,
72069         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72070         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72071         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72072         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72073         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72074         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72075         $(EXEEXT) to automake TESTS variable, for mingw32.
72076
72077 2006-01-17  Simon Josefsson  <jas@extundo.com>
72078
72079         * modules/socklen (Include): Need sys/socket.h.
72080
72081 2006-01-17  Bruno Haible  <bruno@clisp.org>
72082
72083         * modules/ssize_t (Include): Add <sys/types.h>.
72084
72085 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72086
72087         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72088         it's not portable and it doesn't work with cross-compiles.
72089         Problem reported by Bruno Haible.  Fix missing-$ typo in
72090         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72091         -zignore from being used with Sun's C compiler.
72092
72093 2006-01-12  Simon Josefsson  <jas@extundo.com>
72094
72095         * lib/base64.c: Fix warning, reported by Bruno Haible
72096         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72097
72098 2006-01-12  Bruno Haible  <bruno@clisp.org>
72099
72100         * modules/ldd: New file.
72101         * build-aux/ldd.sh.in: New file.
72102         * MODULES.html.sh (Support for building libraries and executables): Add
72103         ldd.
72104
72105 2006-01-12  Bruno Haible  <bruno@clisp.org>
72106
72107         * m4/ldd.m4: New file.
72108
72109 2006-01-12  Bruno Haible  <bruno@clisp.org>
72110
72111         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72112         endless loop while replacing $auxdir with build-aux.
72113
72114 2006-01-11  Simon Josefsson  <jas@extundo.com>
72115
72116         * lib/stdint_.h (SIZE_MAX): Add missing (.
72117
72118 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72119
72120         Sync from coreutils.
72121         * lib/md5.c: Fix commentary typos.
72122         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72123         * lib/md5.h (__attribute__): Remove; unused.
72124         * lib/sha1.c: Fix commentary to match md5 better.
72125         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72126         so that we don't need to worry about alignment.  All uses changed.
72127         This merges the 2005-10-28 md5 change into sha1.
72128
72129 2006-01-11  Jim Meyering  <jim@meyering.net>
72130
72131         Sync from coreutils.
72132         * lib/md5.c (OP): Fix spacing.
72133
72134 2006-01-11  Bruno Haible  <bruno@clisp.org>
72135
72136         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72137         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72138         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72139
72140 2006-01-11  Bruno Haible  <bruno@clisp.org>
72141
72142         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72143         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72144         the "early" section as well.
72145
72146 2006-01-11  Bruno Haible  <bruno@clisp.org>
72147
72148         Avoid "ar: no archive members specified" error on MacOS X.
72149         * gnulib-tool (func_modules_add_dummy): New function.
72150         (func_import, func_create_testdir): Invoke it.
72151
72152 2006-01-11  Bruno Haible  <bruno@clisp.org>
72153
72154         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72155         with $auxdir in AC_CONFIG_FILES statements.
72156
72157 2006-01-11  Bruno Haible  <bruno@clisp.org>
72158
72159         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72160         Initialize also noinst_HEADERS to empty.
72161
72162 2006-01-11  Bruno Haible  <bruno@clisp.org>
72163
72164         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72165         variables.
72166         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72167         autoreconf.
72168
72169 2006-01-11  Bruno Haible  <bruno@clisp.org>
72170
72171         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72172         overridable by the user.
72173         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72174
72175 2006-01-10  Simon Josefsson  <jas@extundo.com>
72176
72177         * modules/sys_socket: New file.
72178
72179 2006-01-10  Simon Josefsson  <jas@extundo.com>
72180
72181         * m4/sys_socket_h.m4: New file.
72182
72183 2006-01-10  Simon Josefsson  <jas@extundo.com>
72184
72185         * lib/socket_.h: New file.
72186
72187 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72188
72189         * modules/readutmp (Maintainer): Add myself.
72190
72191 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72192
72193         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72194         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72195         People who are still concerned with buggy memcmp implementations
72196         can invoke gl_FUNC_MEMCMP themselves.
72197
72198 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72199
72200         * lib/regex_internal.h (BITSET_WORD_BITS):
72201         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72202         preprocessor mishandles large unsigned values as if they were signed.
72203         Problem reported by Claudio Fontana in
72204         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72205
72206 2006-01-10  Jim Meyering  <jim@meyering.net>
72207
72208         Avoid the double-free (first in fts_read, second in fts_close) that
72209         would occur when an `active' directory is made inaccessible (e.g.,
72210         via chmod a-x) during a traversal.
72211         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72212         before returning.  Reproduce this failure by
72213         mkdir -p a/b; cd a; chmod a-x . b
72214         Reported by Stavros Passas.
72215
72216         Sync from coreutils.
72217         * lib/sha1.c: Tweak grammar in a comment.
72218
72219 2006-01-10  Jim Meyering  <jim@meyering.net>
72220
72221         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72222         Patch by Joerg Sonnenberger.
72223
72224 2006-01-10  Bruno Haible  <bruno@clisp.org>
72225
72226         * modules/readutmp: Depend on module free.
72227         * modules/strtok_r: Depend on module restrict.
72228
72229 2006-01-10  Bruno Haible  <bruno@clisp.org>
72230
72231         * modules/gettext (configure.ac): Add an invocation of
72232         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72233
72234 2006-01-10  Bruno Haible  <bruno@clisp.org>
72235
72236         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72237         Reported by Werner Lemberg <wl@gnu.org>.
72238
72239 2006-01-10  Bruno Haible  <bruno@clisp.org>
72240
72241         * lib/localcharset.c: Update from GNU gettext.
72242
72243 2006-01-10  Bruno Haible  <bruno@clisp.org>
72244
72245         * lib/argp.h (__const): Remove macro. Use const instead.
72246         * lib/argp-fmtstream.h (__const): Likewise.
72247         * lib/glob_.h (__const): Remove macro.
72248         * lib/glob-libc.h: Use const instead of __const.
72249
72250 2006-01-10  Bruno Haible  <bruno@clisp.org>
72251
72252         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72253         variable.
72254         Needed to avoid an automake error regarding the 'gettext' module.
72255
72256 2006-01-09  Simon Josefsson  <jas@extundo.com>
72257
72258         * modules/inet_ntop (Depends-on): Add restrict.
72259
72260 2006-01-09  Simon Josefsson  <jas@extundo.com>
72261
72262         * modules/gc-rijndael-tests (License): Put under LGPL.
72263
72264         * modules/gc-des-tests (License): Likewise.
72265
72266         * modules/gc-arcfour-tests (License): Likewise.
72267
72268         * modules/gc-arctwo-tests (License): Likewise.
72269
72270         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72271
72272         * modules/gc-hmac-sha1-tests (Files): Likewise.
72273
72274         * modules/gc-hmac-md5-tests (License): Likewise.
72275
72276         * modules/gc-sha1-tests (License): Likewise.
72277
72278         * modules/gc-md5-tests (License): Likewise.
72279
72280         * modules/gc-md4-tests (License): Likewise.
72281
72282         * modules/gc-md2-tests (License): Likewise.
72283
72284         * modules/gc-tests (License): Likewise.
72285
72286         * modules/des-tests (License): Likewise.
72287
72288         * modules/md4-tests (License): Likewise.
72289
72290         * modules/md2-tests (License): Likewise.
72291
72292 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72293
72294         Sync from coreutils:
72295
72296         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72297         * modules/lib-ignore: New file.
72298         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72299         chdir-safer.m4, lchmod.m4.
72300         * modules/openat: Add mkdirat.c, openat-priv.h.
72301
72302 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72303
72304         Sync from coreutils.
72305         * m4/lib-ignore.m4: New file.
72306         * m4/lchmod.m4: New file.
72307
72308 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72309
72310         Sync from coreutils.
72311         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72312         for write access: POSIX says that must fail.
72313         * lib/fts.c (diropen): Likewise.
72314         * lib/save-cwd.c (save_cwd): Likewise.
72315         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72316         well, for minor improvements on hosts that lack O_DIRECTORY.
72317         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72318         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72319         Fall back on chown if open failed with EACCES.
72320
72321         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72322         Report an error at compile-time if only a 1-second nominal clock
72323         resolution is found.
72324
72325         * lib/lchmod.h: New file.
72326         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72327         (make_dir_parents): Use lchown rather than chown, and
72328         lchmod rather than chmod.
72329
72330         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72331         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72332         "proc" reported by n0dalus.
72333
72334         * lib/mountlist.c: Include <limits.h>.
72335         (dev_from_mount_options)
72336         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72337         New function.  It no longer assumes "dev=" has the System V meaning
72338         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72339         (read_file_system_list)
72340         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72341         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72342         dev= in that case.
72343
72344         * lib/posixtm.h (PDS_PRE_2000): New macro.
72345         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72346         allow_century.  All usages changed.  Reject dates outside the range
72347         1969-1999 if PDS_PRE_2000 is used.
72348
72349 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72350
72351         Sync from coreutils.
72352         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72353         (Time of day items): Mention the possibility of leap seconds.
72354         Problem reported by Dr. David Alan Gilbert.
72355
72356 2006-01-09  Jim Meyering  <jim@meyering.net>
72357
72358         Sync from coreutils.
72359
72360         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72361
72362         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72363
72364         * lib/modechange.c (mode_compile): Reject an invalid mode string
72365         that starts with an octal digit.  From Andreas Gruenbacher.
72366
72367         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72368         and dup to open_safer and dup_safer, respectively.
72369         (openat_permissive): Fix typo in comment.
72370
72371         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72372         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72373         (_): Remove; no longer needed.
72374         (openat): Renamed from rpl_openat; no need for rpl_openat
72375         since openat.h renames openat for us.
72376         Replace most of the body with a call to openat_permissive,
72377         to avoid duplicate code.
72378         Port to (probably hypothetical) environments were mode_t is
72379         wider than int.
72380         (openat_permissive): Require mode arg, so that we can check
72381         types better.  Put it just after flags.  Change cwd failure
72382         indicator from pointer-to-bool to pointer-to-errno-value.
72383         All callers changed.
72384         Invoke openat_save_fail and/or openat_restore_fail if
72385         cwd_errno is null, so that openat can call us.
72386         (openat_permissive, fdopendir, fstatat, unlinkat):
72387         Simplify errno handling to avoid some duplicate code,
72388         as it's OK to set errno on success.
72389         * lib/openat.h: Revamp code so that function macros depend on
72390         __OPENAT_PREFIX only, not also on AT_FDCWD.
72391         (openat_ro): Remove.  Caller changed to use openat_permissive.
72392         (openat_permissive): Now a macro, if not a function.
72393         (openat_restore_fail, openat_save_fail): Now always functions,
72394         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72395
72396         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72397         and openat.c.
72398         * lib/mkdirat.c: Include openat-priv.h.
72399         Remove definitions of macros defined therein.
72400         * lib/openat.c: Likewise.
72401
72402         * lib/mkdirat.c (mkdirat): New file and function.
72403         * lib/openat.h (mkdirat): Declare.
72404
72405         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72406
72407         * lib/openat.h (openat_permissive): Declare.
72408         (openat_ro): Define.
72409
72410         * lib/openat.c (EXPECTED_ERRNO): New macro.
72411         (openat_permissive): New function -- used in remove.c rewrite.
72412         (all functions): Set errno just before returning, only if there
72413         was an actual failure.
72414         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72415
72416         Emulate openat-family functions using Linux's procfs, if possible.
72417         Idea and some code based on Ulrich Drepper's glibc changes.
72418
72419         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72420         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72421         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72422         before falling back on save_cwd and restore_cwd.
72423         (fdopendir, fstatat, unlinkat): Likewise.
72424
72425         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72426         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72427
72428         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72429         as second argument to va_arg.  Otherwise, some versions of gcc
72430         warn that `if this code is reached, the program will abort'.
72431
72432 2006-01-09  Jim Meyering  <jim@meyering.net>
72433
72434         Sync from coreutils.
72435         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72436         Require openat-priv.h.
72437
72438 2006-01-09  Bruno Haible  <bruno@clisp.org>
72439
72440         * modules/strnlen (Include): Use strnlen.h.
72441
72442 2006-01-09  Bruno Haible  <bruno@clisp.org>
72443
72444         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72445
72446 2006-01-09  Bruno Haible  <bruno@clisp.org>
72447
72448         * lib/sysexit_.h (EX_OK): New macro.
72449         Suggested by Martin Lambers <marlam@marlam.de>.
72450
72451 2006-01-09  Bruno Haible  <bruno@clisp.org>
72452
72453         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72454         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72455
72456 2006-01-09  Bruno Haible  <bruno@clisp.org>
72457
72458         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72459         numbers.
72460
72461 2006-01-09  Bruno Haible  <bruno@clisp.org>
72462
72463         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72464         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72465         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72466         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72467
72468 2006-01-09  Bruno Haible  <bruno@clisp.org>
72469
72470         * build-aux/javacomp.sh.in: New file, moved from lib/.
72471         * modules/javacomp-script (Files): Update.
72472         (configure.ac): Add AC_CONFIG_FILES invocation.
72473         (EXTRA_DIST): Remove variable.
72474
72475         * build-aux/javaexec.sh.in: New file, moved from lib/.
72476         * modules/javaexec (Files): Update.
72477         (configure.ac): Add AC_CONFIG_FILES invocation.
72478         (EXTRA_DIST): Remove javaexec.sh.in.
72479
72480         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
72481         * modules/csharpcomp-script (Files): Update.
72482         (configure.ac): Add AC_CONFIG_FILES invocation.
72483         (EXTRA_DIST): Remove variable.
72484
72485         * build-aux/csharpexec.sh.in: New file, moved from lib/.
72486         * modules/csharpexec (Files): Update.
72487         (configure.ac): Add AC_CONFIG_FILES invocation.
72488         (EXTRA_DIST): Remove csharpexec.sh.in.
72489
72490 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72491
72492         Sync from coreutils.
72493
72494         Add POSIX ACL support
72495         * lib/acl.h (copy_acl, set_acl): Add declarations.
72496         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
72497         systems other than Linux.
72498         (chmod_or_fchmod): New function: use fchmod when possible,
72499         and chmod otherwise.
72500         (file_has_acl): Add a POSIX ACL implementation, with a
72501         Linux-specific subcase.
72502         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
72503         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
72504         acls are unsupported.
72505         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
72506         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
72507         are unsupported.
72508
72509 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72510
72511         Sync from coreutils.
72512         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
72513
72514 2006-01-07  Bruno Haible  <bruno@clisp.org>
72515
72516         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
72517         gl_EARLY.
72518
72519 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72520
72521         * lib/strftime.c (tzname): Don't declare if it is already #defined.
72522         Problem reported for Mingw by Mark Junker.
72523
72524 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72525
72526         * README: Gnulib normally doesn't generate a tarball.
72527
72528 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
72529
72530         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
72531         long int, not int, for nanosecond counts, so that people who are
72532         used to POSIX struct timespec won't be surprised.  Reported by Jim
72533         Meyering.
72534
72535 2005-12-28  Bruno Haible  <bruno@clisp.org>
72536
72537         * build-aux/config.rpath: Update from GNU gettext.
72538
72539 2005-12-16  Jim Meyering  <jim@meyering.net>
72540
72541         * modules/fprintftime: New module.
72542         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
72543
72544 2005-12-16  Jim Meyering  <jim@meyering.net>
72545
72546         * m4/fprintftime.m4: New file.
72547
72548 2005-12-16  Jim Meyering  <jim@meyering.net>
72549
72550         * lib/fprintftime.c, lib/fprintftime.h: New files.
72551
72552 2005-12-15  Simon Josefsson  <jas@extundo.com>
72553
72554         * modules/socklen (configure.ac): Fix M4 macro name, to align with
72555         new m4/socklen.m4.
72556
72557 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72558
72559         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
72560         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
72561
72562 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72563
72564         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
72565         * lib/argp-help.c (fill_in_uparams): Check if the constructed
72566         struct uparams is valid. Fall back to the default values if it is
72567         not.
72568
72569 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72570
72571         * modules/argp (Files): Add argp-pin.c
72572         (Depends-on): dirname
72573         (lib_SOURCES): Add argp-pin.c
72574
72575 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72576
72577         * m4/argp.m4:  Check if program_invocation_name and
72578         program_invocation_short_name are declared and define appropriate
72579         macros if they are not.
72580
72581 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72582
72583         * lib/argp-help.c (__argp_base_name): New function
72584         (__argp_short_program_name): Rewrite using __argp_base_name
72585         * lib/argp-namefrob.h: Define program_invocation_name and
72586         program_invocation_short_name if requested
72587         (__argp_base_name): Add prototype
72588         * lib/argp-parse.c (argp_def): Use gettext wrappers
72589         (argp_default_parser): Use __argp_base_name
72590         * lib/argp-pin.c: New file. Defines program_invocation_name and
72591         program_invocation_short_name on systems that lack them.
72592
72593 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72594
72595         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
72596         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72597         porting problem reported by Georg Schwarz in
72598         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72599
72600 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72601
72602         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
72603         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72604         porting problem reported by Georg Schwarz in
72605         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72606
72607 2005-12-05  Bruno Haible  <bruno@clisp.org>
72608
72609         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
72610         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
72611         Reported by Mark Junker <mjscod@gmx.de>.
72612
72613 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
72614
72615         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
72616         Use implementation from Albert Chin, with some
72617         comments/corrections by Stepan Kasal and myself.
72618
72619 2005-12-02  Bruno Haible  <bruno@clisp.org>
72620
72621         * gnulib-tool (func_import): Accept GPLed build tool modules when
72622         --lgpl is given.
72623         * modules/csharpcomp-script: New file.
72624         * modules/csharpcomp: Depend on it.
72625         * modules/javacomp-script: New file.
72626         * modules/javacomp: Depend on it.
72627         Suggested by Simon Josefsson.
72628
72629 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
72630
72631         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
72632         statement, to work around an HP-UX 10.20 compiler bug reported by
72633         Peter O'Gorman.
72634
72635 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72636
72637         * modules/savedir (Depends-on): Add openat.
72638
72639 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72640
72641         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
72642         (uintmax_t) [defined uintmax_t]: Do not declare.
72643         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
72644         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
72645         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
72646         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
72647         sake of portability to weird hosts that C allows (though we don't
72648         know of any practical examples).
72649
72650         * lib/savedir.h (fdsavedir): New decl.
72651         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
72652         contains most of the former guts of savedir.
72653         (savedir): Use savedirstream.
72654         Include "openat.h".
72655
72656 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72657
72658         * modules/obstack (Files): Add m4/ulonglong.m4.
72659         Problem reported by Davide Angelocola.
72660
72661 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
72662
72663         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
72664         coreutils no longer futzes with rounding modes.
72665
72666 2005-11-14  Jim Meyering  <jim@meyering.net>
72667
72668         * lib/mkstemp-safer.c: Include <config.h>, required for possible
72669         replacement of mkstemp.
72670
72671 2005-11-10  Simon Josefsson  <jas@extundo.com>
72672
72673         * lib/readline.c: Remove EOL.
72674
72675 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72676
72677         * modules/gethrxtime (Depends-on): Add gettime.
72678
72679 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72680
72681         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
72682         or gettimeofday; no longer needed.
72683
72684 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72685
72686         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
72687         time business.
72688         (gethrxtime) [! (HAVE_NANOUPTIME
72689         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
72690         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
72691         our own approximation.
72692
72693 2005-11-08  Eric Blake  <ebb9@byu.net>
72694
72695         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
72696
72697 2005-11-08  Eric Blake  <ebb9@byu.net>
72698
72699         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
72700
72701 2005-11-04  Bruno Haible  <bruno@clisp.org>
72702
72703         * gnulib-tool: Implement --update mode.
72704
72705 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
72706
72707         Fix porting problem reported by Theodoros V. Kalamatianos.
72708         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
72709         Don't assume that futimes failing means we must fail.
72710
72711 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
72712
72713         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
72714         variables to suggest the intended function of the PATH_MAX check.
72715
72716 2005-10-30  Kean Johnston  <jkj@sco.com>
72717
72718         Trivial changes to support SCO systems.
72719         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
72720         as PATH_MAX.
72721         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
72722         where __ptr is null when no I/O is pending.
72723
72724 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72725
72726         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
72727         leave errno alone.  Problem reported by Dmitry V. Levin.
72728
72729 2005-10-28  Simon Josefsson  <jas@extundo.com>
72730
72731         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
72732         Test more.
72733
72734         * tests/test-gc-md2.c, tests/test-md2.c: New files.
72735
72736         * modules/md2, modules/md2-tests: New files.
72737
72738 2005-10-28  Simon Josefsson  <jas@extundo.com>
72739
72740         * m4/inet_ntop.m4: More tests.
72741
72742         * m4/gc-md2.m4, md2.m4: New file.
72743
72744 2005-10-28  Simon Josefsson  <jas@extundo.com>
72745
72746         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
72747         "restrict" keywords, as per POSIX.  Protect the function
72748         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
72749         Don't use K&R prototypes.  Check the sprintf return values.
72750         Re-define EAFNOSUPPORT if not present.  Indent.
72751
72752         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
72753         suggested by Bruno Haible <bruno@clisp.org>.
72754
72755         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
72756
72757         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
72758
72759         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
72760         libgcrypt).
72761
72762         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
72763
72764         * lib/md2.h, lib/md2.c: New files.
72765
72766 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
72767
72768         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
72769         errno alone.  Problem reported by Frederic Jolliton.
72770
72771 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72772
72773         * modules/verify (License): Change from GPL to LGPL.  This is a
72774         tiny module and there are apparently near-equivalents that are
72775         under the BSD license.
72776
72777 2005-10-24  Simon Josefsson  <jas@extundo.com>
72778
72779         * modules/sha1: Relicense to LGPL.
72780
72781 2005-10-24  Simon Josefsson  <jas@extundo.com>
72782
72783         * lib/md4.h: Shrink buffer size, now that we changed the type.
72784
72785 2005-10-23  Simon Josefsson  <jas@extundo.com>
72786
72787         * gnulib-tool (func_import): Fix --tests-base.
72788
72789 2005-10-22  Simon Josefsson  <jas@extundo.com>
72790
72791         * modules/arcfour (Depends-on): Need stdint.
72792
72793 2005-10-22  Simon Josefsson  <jas@extundo.com>
72794
72795         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
72796         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
72797
72798 2005-10-22  Simon Josefsson  <jas@extundo.com>
72799
72800         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
72801         suggested by Bruno Haible <bruno@clisp.org>.
72802
72803 2005-10-22  Simon Josefsson  <jas@extundo.com>
72804
72805         * lib/crc.h: Include stddef.h, for size_t.
72806
72807 2005-10-22  Simon Josefsson  <jas@extundo.com>
72808
72809         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
72810         arcfour_context struct (simplify test vector testing in GNU
72811         Shishi).
72812
72813 2005-10-21  Simon Josefsson  <jas@extundo.com>
72814
72815         * modules/des, modules/des-tests: New files.
72816
72817         * modules/gc-des, modules/gc-des-tests: New files.
72818
72819         * tests/test-des.c, tests/test-gc-des.c: New file.
72820
72821 2005-10-21  Simon Josefsson  <jas@extundo.com>
72822
72823         * modules/arctwo, modules/arctwo-tests: New files.
72824
72825         * tests/test-arctwo.c: New file.
72826
72827         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
72828
72829         * tests/test-gc-arctwo.c: New file.
72830
72831 2005-10-21  Simon Josefsson  <jas@extundo.com>
72832
72833         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
72834         Bruno Haible <bruno@clisp.org>.
72835
72836         * m4/gc-des.m4: New file.
72837
72838 2005-10-21  Simon Josefsson  <jas@extundo.com>
72839
72840         * m4/arctwo.m4: New file.
72841
72842         * m4/gc-arctwo.m4: New file.
72843
72844 2005-10-21  Simon Josefsson  <jas@extundo.com>
72845
72846         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
72847         block.
72848
72849 2005-10-21  Simon Josefsson  <jas@extundo.com>
72850
72851         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
72852         <bruno@clisp.org>.
72853
72854         * lib/hmac-sha1.c (hmac_sha1): Likewise.
72855
72856         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
72857         Bruno Haible <bruno@clisp.org>.
72858
72859         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
72860         <bruno@clisp.org>.
72861
72862 2005-10-21  Simon Josefsson  <jas@extundo.com>
72863
72864         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
72865
72866 2005-10-21  Simon Josefsson  <jas@extundo.com>
72867
72868         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
72869
72870 2005-10-21  Simon Josefsson  <jas@extundo.com>
72871
72872         * lib/des.h, lib/des.c: New files.
72873
72874         * lib/gc-gnulib.c: Support DES.c
72875
72876 2005-10-21  Simon Josefsson  <jas@extundo.com>
72877
72878         * lib/arctwo.h, lib/arctwo.c: New files.
72879
72880         * lib/gc-gnulib.c: Support ARCTWO.
72881
72882 2005-10-21  Simon Josefsson  <jas@extundo.com>
72883
72884         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
72885         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72886
72887 2005-10-21  Simon Josefsson  <jas@extundo.com>
72888
72889         * gnulib-tool (func_import, func_create_testdir): Define automake
72890         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
72891         Makefile.am snippet),
72892         suggested by Bruno Haible <bruno@clisp.org>.
72893
72894         * modules/gc (Makefile.am): Use it.
72895
72896 2005-10-21  Bruno Haible  <bruno@clisp.org>
72897
72898         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
72899         patch.
72900
72901 2005-10-19  Simon Josefsson  <jas@extundo.com>
72902
72903         * tests/test-gc-rijndael.c: New file.
72904
72905         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
72906
72907 2005-10-19  Simon Josefsson  <jas@extundo.com>
72908
72909         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
72910         interface too.
72911
72912 2005-10-19  Simon Josefsson  <jas@extundo.com>
72913
72914         * tests/test-gc-arcfour.c: New file.
72915
72916         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
72917
72918 2005-10-19  Simon Josefsson  <jas@extundo.com>
72919
72920         * modules/gc-md4, modules/gc-md4-tests: New file.
72921
72922         * tests/test-gc-md4.c: New file.
72923
72924 2005-10-19  Simon Josefsson  <jas@extundo.com>
72925
72926         * m4/gc-md4.m4: New file.
72927
72928 2005-10-19  Simon Josefsson  <jas@extundo.com>
72929
72930         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
72931         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
72932         <kasal@ucw.cz>.
72933
72934 2005-10-19  Simon Josefsson  <jas@extundo.com>
72935
72936         * m4/gc-arcfour.m4: New file.
72937
72938         * m4/gc-rijndael.m4: New file.
72939
72940 2005-10-19  Simon Josefsson  <jas@extundo.com>
72941
72942         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
72943
72944 2005-10-19  Simon Josefsson  <jas@extundo.com>
72945
72946         * lib/gc-gnulib.c: Support ARCFOUR.
72947
72948 2005-10-19  Simon Josefsson  <jas@extundo.com>
72949
72950         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
72951         support.
72952
72953         * lib/gc.h: Add ECB enum type.
72954
72955         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
72956
72957 2005-10-18  Simon Josefsson  <jas@extundo.com>
72958
72959         * tests/test-md5.c: New file.
72960
72961         * modules/md5-tests: New file.
72962
72963 2005-10-18  Simon Josefsson  <jas@extundo.com>
72964
72965         * tests/test-md4.c: New file.
72966
72967         * modules/md4, modules/md4-tests: New files.
72968
72969 2005-10-18  Simon Josefsson  <jas@extundo.com>
72970
72971         * m4/md4.m4: New file.
72972
72973 2005-10-18  Simon Josefsson  <jas@extundo.com>
72974
72975         * lib/md4.h, lib/md4.c: New files, based on md5.?.
72976
72977 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
72978
72979         * gnulib-tool (func_create_testdir): Omit the second check whether
72980         BUILT_SOURCES in nonempty.
72981
72982 2005-10-17  Simon Josefsson  <jas@extundo.com>
72983
72984         * tests/test-rijndael.c: New file.
72985
72986 2005-10-17  Simon Josefsson  <jas@extundo.com>
72987
72988         * modules/sha1: Depend on stdint instead of md5.
72989
72990         * modules/md5: Depend on stdint, remove uint32_t.
72991
72992 2005-10-17  Simon Josefsson  <jas@extundo.com>
72993
72994         * modules/gc-sha1-tests: New file.
72995
72996         * tests/test-gc-sha1.c: New file.
72997
72998 2005-10-17  Simon Josefsson  <jas@extundo.com>
72999
73000         * m4/md5.m4: Remove call to uint32_t.m4.
73001
73002 2005-10-17  Simon Josefsson  <jas@extundo.com>
73003
73004         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73005
73006         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73007         md5.h.
73008
73009         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73010
73011         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73012
73013 2005-10-17  Simon Josefsson  <jas@extundo.com>
73014
73015         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73016
73017 2005-10-17  Simon Josefsson  <jas@extundo.com>
73018
73019         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73020
73021 2005-10-17  Simon Josefsson  <jas@extundo.com>
73022
73023         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73024
73025         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73026
73027 2005-10-17  Bruno Haible  <bruno@clisp.org>
73028
73029         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73030         that it can also be used in a test.
73031
73032 2005-10-16  Bruno Haible  <bruno@clisp.org>
73033
73034         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73035         TESTS_ENVIRONMENT, so that individual tests can augment it.
73036
73037         * gnulib-tool (func_create_testdir): Use an intermediate target for
73038         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73039         macros, like $(ALLOCA_H), which cannot be passed through the command
73040         line.
73041
73042 2005-10-15  Simon Josefsson  <jas@extundo.com>
73043
73044         * modules/rijndael-tests: New file.
73045
73046         * modules/rijndael: New file.
73047
73048 2005-10-15  Simon Josefsson  <jas@extundo.com>
73049
73050         * m4/rijndael.m4: New file.
73051
73052 2005-10-15  Simon Josefsson  <jas@extundo.com>
73053
73054         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73055
73056         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73057
73058 2005-10-14  Simon Josefsson  <jas@extundo.com>
73059
73060         * tests/test-arcfour.c: New file.
73061
73062         * modules/arcfour, modules/arcfour-tests: New files.
73063
73064 2005-10-14  Simon Josefsson  <jas@extundo.com>
73065
73066         * m4/arcfour.m4: New file.
73067
73068 2005-10-14  Simon Josefsson  <jas@extundo.com>
73069
73070         * lib/arcfour.h, lib/arcfour.c: New files.
73071
73072 2005-10-14  Roland McGrath  <roland@redhat.com>
73073
73074         Import from libc.  [BZ #1331]
73075         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73076         macro argument.
73077         Reported by Matej Vela <vela@debian.org>.
73078
73079 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73080
73081         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73082         include <wchar.h>; no longer needed.
73083
73084 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73085
73086         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73087
73088 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73089         and  Ulrich Drepper  <drepper@redhat.com>
73090
73091         Import from libc.
73092         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73093         instead of inline stream orientation test and two separate
73094         function calls.  Pay no attention to USE_IN_LIBIO.
73095
73096 2005-10-13  Simon Josefsson  <jas@extundo.com>
73097
73098         * modules/gc-hmac-md5-tests: New file.
73099
73100         * tests/test-gc-hmac-sha1.c: New file.
73101
73102         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73103
73104         * modules/gc-hmac-md5-tests: New file.
73105
73106         * tests/test-gc-md5.c: New file.
73107
73108         * modules/gc-md5-tests: New file.
73109
73110 2005-10-13  Simon Josefsson  <jas@extundo.com>
73111
73112         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73113         Move memory allocation outside of loop.
73114
73115 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73116
73117         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73118         intermediate directory is in a read-only file system.  Problem
73119         reported by Eric Blake.
73120
73121 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73122
73123         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73124
73125 2005-10-12  Simon Josefsson  <jas@extundo.com>
73126
73127         * tests/test-hmac-sha1.c: New file.
73128
73129         * modules/hmac-sha1-tests: New file.
73130
73131         * modules/hmac-sha1: New file.
73132
73133 2005-10-12  Simon Josefsson  <jas@extundo.com>
73134
73135         * modules/gc-sha1: New file.
73136
73137 2005-10-12  Simon Josefsson  <jas@extundo.com>
73138
73139         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73140
73141         * tests/test-gc-pbkdf2-sha1.c: New file.
73142
73143 2005-10-12  Simon Josefsson  <jas@extundo.com>
73144
73145         * modules/gc-md5, modules/gc-hmac-md5: New files.
73146
73147         * modules/gc (Files): Remove md5, memxor and hmac files.
73148
73149 2005-10-12  Simon Josefsson  <jas@extundo.com>
73150
73151         * m4/gc-pbkdf2-sha1.m4: New file.
73152
73153         * m4/gc-hmac-sha1.m4: New file.
73154
73155         * m4/gc-sha1: New file.
73156
73157         * m4/hmac-sha1.m4: New file.
73158
73159 2005-10-12  Simon Josefsson  <jas@extundo.com>
73160
73161         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73162
73163         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73164
73165 2005-10-12  Simon Josefsson  <jas@extundo.com>
73166
73167         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73168         suggested by Bruno Haible <bruno@clisp.org>.
73169
73170 2005-10-12  Simon Josefsson  <jas@extundo.com>
73171
73172         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73173
73174 2005-10-12  Simon Josefsson  <jas@extundo.com>
73175
73176         * lib/gc-pbkdf2-sha1.c: New file.
73177
73178         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73179
73180 2005-10-12  Simon Josefsson  <jas@extundo.com>
73181
73182         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73183
73184         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73185
73186 2005-10-12  Simon Josefsson  <jas@extundo.com>
73187
73188         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73189         GC_USE_HMAC_MD5, respectively.
73190
73191         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73192         (gc_md5): Fix typo.
73193
73194         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73195
73196         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73197
73198         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73199
73200 2005-10-12  Bruno Haible  <bruno@clisp.org>
73201
73202         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73203         Reported by Stepan Kasal <kasal@ucw.cz>.
73204
73205 2005-10-11  Simon Josefsson  <jas@extundo.com>
73206
73207         * tests/test-crc.c: New file.
73208
73209         * modules/crc, modules/crc-tests: New files.
73210
73211 2005-10-11  Simon Josefsson  <jas@extundo.com>
73212
73213         * m4/crc.m4: New file.
73214
73215 2005-10-11  Simon Josefsson  <jas@extundo.com>
73216
73217         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73218
73219         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73220
73221         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73222
73223 2005-10-11  Simon Josefsson  <jas@extundo.com>
73224
73225         * lib/crc.h, lib/crc.c: New files.
73226
73227         * lib/gc.h (gc_hash_buffer): Add doc.
73228
73229 2005-10-11  Bruno Haible  <bruno@clisp.org>
73230
73231         * modules/c-strcasestr: New file.
73232         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73233
73234 2005-10-11  Bruno Haible  <bruno@clisp.org>
73235
73236         * modules/c-strcase: New file.
73237         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73238
73239 2005-10-11  Bruno Haible  <bruno@clisp.org>
73240
73241         * lib/strcasecmp.c: Include limits.h.
73242         (strcasecmp): Avoid integer overflow on exotic platforms.
73243         * lib/strncasecmp.c: Include limits.h.
73244         (strncasecmp): Avoid integer overflow on exotic platforms.
73245         Reported by Paul Eggert.
73246
73247 2005-10-11  Bruno Haible  <bruno@clisp.org>
73248
73249         * lib/c-strcasestr.h: New file, from GNU gettext.
73250         * lib/c-strcasestr.c: New file, from GNU gettext.
73251
73252 2005-10-11  Bruno Haible  <bruno@clisp.org>
73253
73254         * lib/c-strcase.h: New file, from GNU gettext.
73255         * lib/c-strcasecmp.c: New file, from GNU gettext.
73256         * lib/c-strncasecmp.c: New file, from GNU gettext.
73257
73258 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73259
73260         * modules/mempcpy (License): GPL -> LGPL.
73261         * modules/strchrnul (License): Likewise.
73262         * modules/sysexits (License): Likewise.
73263
73264 2005-10-08  Simon Josefsson  <jas@extundo.com>
73265
73266         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73267
73268 2005-10-07  Simon Josefsson  <jas@extundo.com>
73269
73270         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73271
73272 2005-10-06  Simon Josefsson  <jas@extundo.com>
73273
73274         * tests/test-hmac-md5.c: New file.
73275
73276         * modules/hmac-md5-tests: New file.
73277
73278         * modules/hmac-md5: New file.
73279
73280 2005-10-06  Simon Josefsson  <jas@extundo.com>
73281
73282         * m4/hmac-md5.m4: New file.
73283
73284         * m4/memxor.m4: Require gl_C_RESTRICT.
73285
73286 2005-10-06  Simon Josefsson  <jas@extundo.com>
73287
73288         * lib/memxor.c (memxor): Avoid casts and warnings.
73289
73290 2005-10-06  Simon Josefsson  <jas@extundo.com>
73291
73292         * lib/hmac-md5.c: New file.
73293
73294         * lib/hmac.h: New file.
73295
73296 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73297
73298         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73299         promotes to int, not unsigned int, to catch the AIX 5.3
73300         compiler bug.
73301
73302 2005-10-05  Simon Josefsson  <jas@extundo.com>
73303
73304         * modules/memxor: New file.
73305
73306         * modules/iconv (Files): Move config.rpath to havelib, it is used
73307         there.
73308
73309         * modules/havelib (Files): Add config.rpath.
73310
73311 2005-10-05  Simon Josefsson  <jas@extundo.com>
73312
73313         * m4/memxor.m4: New file.
73314
73315 2005-10-05  Simon Josefsson  <jas@extundo.com>
73316
73317         * lib/memxor.c (memxor): Fix compiler error.
73318
73319         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73320         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73321
73322         * lib/memxor.h, lib/memxor.c: New files.
73323
73324         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73325         we assume all systems have it, suggested by Jim Meyering
73326         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73327         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73328         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73329         same reasons.
73330
73331 2005-10-05  Simon Josefsson  <jas@extundo.com>
73332
73333         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73334
73335 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73336
73337         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73338         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73339         needed, since the source code now assumes these .h files.
73340
73341 2005-10-05  Derek Price  <derek@ximbiot.com>
73342
73343         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73344
73345 2005-10-05  Bruno Haible  <bruno@clisp.org>
73346
73347         * modules/stdint (License): Change to LGPL.
73348
73349 2005-10-04  Simon Josefsson  <jas@extundo.com>
73350
73351         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73352         D. Baushke" <mdb@gnu.org>.
73353
73354 2005-10-04  Bruno Haible  <bruno@clisp.org>
73355
73356         * lib/verify.h (verify_true): Provide alternative definition for C++.
73357
73358 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73359
73360         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73361         (SSIZE_MAX): New macro, if not already defined.
73362         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73363         than 2 GiB.
73364
73365 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73366
73367         Sync from coreutils.
73368         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73369         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73370         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73371         ULLONG_MAX doesn't work with 2.7.2.1.
73372
73373 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73374
73375         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73376         From Ben Pfaff.
73377
73378         * modules/exclude (Depends-on): Depend on verify.
73379         * modules/strtoimax (Depends-on): Likewise.
73380         * modules/utimecmp (Depends-on): Likewise.
73381
73382 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73383
73384         * lib/exclude.c: Include verify.h.
73385         (verify): Remove.  All callers changed to use verify.h's version.
73386         * lib/strtoimax.c: Likewise.
73387         * lib/utimecmp.c: Likewis.e
73388
73389         Sync from coreutils.
73390         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73391         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73392         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73393         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73394         bother returning ENOSYS if settimeofday or stime fails; just let
73395         them return whatever errno they want to return.
73396         * lib/utimens.c: Include unistd.h, for dup2.
73397         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73398         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73399
73400 2005-10-02  Jim Meyering  <jim@meyering.net>
73401
73402         Sync from coreutils.
73403         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73404         from glibc-2.2.5 that fails for read-only files.
73405
73406 2005-10-02  Jim Meyering  <jim@meyering.net>
73407
73408         Sync from coreutils.
73409         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73410         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73411         `#if HAVE_CONFIG_H'.
73412         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73413         Remove AT_FDCWD test.
73414         Do not consume the fd unless successful.
73415         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73416         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73417         block, so that we don't even try to compile it if settimeofday is
73418         available.  This works around a compilation failure on OSF1 V5.1,
73419         due to stime requiring a `long int*' while tv_sec is `int'.
73420
73421 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73422
73423         Sync from coreutils.
73424         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73425         against `yes', rather than just testing for nonempty.
73426
73427 2005-10-01  Simon Josefsson  <jas@extundo.com>
73428
73429         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73430         and Darwin.
73431
73432         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73433         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73434         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73435         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73436         Check if struct addrinfo is declared.
73437
73438 2005-10-01  Simon Josefsson  <jas@extundo.com>
73439
73440         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73441         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73442         AI_* and EAI_* definitions.  Protect function declarations.
73443
73444 2005-10-01  Jim Meyering  <jim@meyering.net>
73445
73446         Sync from coreutils.
73447
73448         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73449         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73450         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73451         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73452         in the inet and nsl libraries.  Required on Solaris 5.7.
73453
73454 2005-10-01  Jim Meyering  <jim@meyering.net>
73455
73456         Sync from coreutils.
73457         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73458         in the inet and nsl libraries.  Required on Solaris 5.7.
73459
73460 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73461
73462         * lib/getdelim.c (getdelim): Remove unused variables.
73463
73464 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73465
73466         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73467         so that the code works even with ancient cpp.  Portability problem
73468         with GCC 2.7.2.1 reported by Thomas M.Ott.
73469
73470 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73471
73472         * modules/regex (Depends-on): Add strcase.
73473
73474         * modules/gethostname (Licence): Change from GPL to LGPL, since
73475         gethostname.c is a trivial implementation of a standard library
73476         function.
73477         * modules/poll (License): Change from GPL to LGPL, since it's
73478         derived from LGPL code.
73479
73480 2005-09-27  Jim Meyering  <jim@meyering.net>
73481
73482         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
73483         HAVE_CONFIG_H.
73484
73485         * lib/intprops.h (signed_type_or_expr__): Define.
73486         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
73487         for unsigned types.
73488
73489 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73490
73491         * lib/verify.h (verify_expr): Remove, replacing with:
73492         (verify_true): New macro that returns true instead of void.
73493         (verify_type__): Remove.
73494         (verify): Use verify_true rather than verify_type__.
73495
73496 2005-09-26  Bruno Haible  <bruno@clisp.org>
73497
73498         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
73499         is necessary.
73500         (lib_SOURCES): Remove mbchar.c.
73501         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
73502         (Files): Add m4/mbrtowc.m4.
73503         * modules/mbiter: Likewise.
73504         * modules/mbuiter: Likewise.
73505
73506 2005-09-26  Bruno Haible  <bruno@clisp.org>
73507
73508         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
73509         compile mbchar.c if they are not both present.
73510         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
73511         * m4/mbiter.m4 (gl_MBITER): Likewise.
73512         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
73513         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
73514         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
73515
73516 2005-09-25  Jim Meyering  <jim@meyering.net>
73517
73518         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
73519         also uses socklen_t.
73520
73521 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
73522
73523         * lib/utimens.c (ENOSYS): Define if not already defined.
73524         (futimens): Support having a null PATH if the file descriptor
73525         is nonnegative.
73526
73527         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
73528         Remove.
73529         (__attribute): Define to empty unless GCC 3.1 or later.
73530         This works around a core dump on OpenBSD 3.4, which has GCC
73531         2.95.3, which dumps core when given __attribute__(()).  It also
73532         simplifies other tests, since we really don't want to bother with
73533         worrying about which ancient version of GCC supported what.
73534         Original problem reported by Yoann Vandoorselaere, with part of
73535         the fix suggested by Derek Price.
73536
73537 2005-09-24  Jim Meyering  <jim@meyering.net>
73538
73539         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
73540         so we can once again use a positive bitfield width of 1 -- now we
73541         don't have to explain why we were using a bitfield width of 2.
73542
73543 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73544
73545         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
73546         and similarly for the other external symbols.  Problem reported
73547         by James Gallager.
73548
73549         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
73550         bug reported by Jim Meyering.
73551
73552         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
73553         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
73554         not needed, since socklen is a prerequisite module.
73555
73556 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73557
73558         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
73559         Problem reported by Eric Blake.
73560         (getaddrinfo): Initialize se so that it's not garbage.
73561         Redo internal storage allocation so that it doesn't make unportable
73562         assumptions about alignment.
73563         Fix a memory leak.
73564
73565         * lib/utimens.c (futimens): Use futimesat if available.
73566         Prefer it to futimes since it doesn't have the futimes bug.
73567
73568         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
73569         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
73570         Instead, declare a function that returns a pointer to an array,
73571         and use verify_type__ to declare the size of the array.
73572         Problem and germ of a solution reported by Bruno Haible.
73573         (verify_type__): Use 2, not 1, for bitfield size, to avoid
73574         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
73575
73576 2005-09-23  Jim Meyering  <jim@meyering.net>
73577
73578         Sync from coreutils.
73579         Correct build failure (socklen_t not defined) on at least
73580         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
73581         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
73582
73583 2005-09-23  Jim Meyering  <jim@meyering.net>
73584
73585         * modules/getaddrinfo (Depends-on): Add socklen.
73586
73587 2005-09-23  Bruno Haible  <bruno@clisp.org>
73588
73589         * tests/test-verify.c: New file.
73590
73591 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73592
73593         Sync from coreutils.
73594
73595         * modules/argmatch (Depends-on): Add verify.
73596         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
73597         unistd-safer.
73598         * modules/save-cwd (Depends-on): Likewise.
73599
73600         * modules/openat (Files): Add lib/openat-die.c.
73601         (Depends-on): Remove error, exitfail.
73602         Add dirname.
73603
73604         * modules/verify: New file.
73605         * MODULES.html.sh (Diagnostics <assert.h>): New section,
73606         with "verify" module.
73607
73608 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73609
73610         Sync from coreutils.
73611
73612         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
73613         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
73614         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
73615         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
73616         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
73617         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
73618         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
73619         Don't bother checking for string.h, stdlib.h, unistd.h.
73620         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
73621         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
73622         module's job.
73623         * m4/jm-macros.m4 (gl_MACROS): Likewise.
73624         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
73625
73626         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
73627         (gl_GETDATE): Use it.
73628
73629         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
73630
73631 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73632
73633         Sync from coreutils.
73634
73635         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
73636         stat-time.h.
73637         * lib/argmatch.h: Include verify.h
73638         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
73639         (ARGMATCH_ASSERT): Remove; unused.
73640         * lib/canonicalize.c: Assume STDC_HEADERS.
73641         * lib/exclude.c: Include "strcase.h".
73642         * lib/regex_internal.h [!defined _LIBC]: Likewise.
73643         * lib/getusershell.c: Include stdio--.h rather than stdio.h
73644         and stdio-safer.h.
73645         (getusershell): Call fopen, not fopen_safer.
73646         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
73647         Do not include unistd-safer.h.
73648         (save_cwd): Don't call fd_safer; no longer needed
73649         now that we include fcntl--.h.
73650
73651         * lib/getdate.y (relative_time): New type.
73652         (RELATIVE_TIME_0): New constant.
73653         (parser_control): Use relative_time instead of doing it ourselves.
73654         (%union): Add new relative_time rel member.
73655         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
73656         Now typeless.
73657         (relunit, relunit_snumber): Now of type rel.
73658         (zone, rel, relunit, get_date): Adjust to above changes.
73659
73660         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
73661         Do not include unistd-safer.h.
73662         (getloadavg): Don't call fd_safer; no longer needed
73663         now that we include fcntl--.h.
73664
73665         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
73666         (make_dir_parents): Treat ENOSYS like EEXIST.
73667
73668         Improve quality of diagnostics on restore_cwd failure.
73669         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
73670         (make_dir_parents): Last arg is now int * (for errno), not bool *.
73671         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
73672         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
73673         each time through the loop.  Do not diagnose restore_cwd failure;
73674         that is the caller's job (and perhaps the caller does not care).
73675
73676         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
73677         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
73678         If the file already exists but is not a directory, don't bother
73679         to try to make its parents.
73680         Close potential file descriptor leak if we can't chdir("/") (!).
73681         Don't always return true if chdir($PWD) fails; return true only
73682         if the requested action was done successfully (except for the
73683         chdir($PWD)).
73684         Don't log final directory unless we actually made it.
73685         Refactor to avoid duplicate code to fix up permissions.
73686         Don't attempt to fix up parent permissions if chdir($PWD) fails.
73687
73688         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
73689         to make it a bit faster and (I hope) clearer.
73690         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
73691         Fix bug in formats like %2N.
73692
73693         * lib/verify.h: New file.
73694
73695 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73696
73697         Sync from coreutils.
73698         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
73699
73700 2005-09-22  Jim Meyering  <jim@meyering.net>
73701
73702         Sync from coreutils.
73703
73704         * m4/lstat.m4 (gl_FUNC_LSTAT):
73705         Use AC_LIBSOURCES to require lstat.c and lstat.h.
73706         Remove obsolete comment.
73707         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
73708         * m4/xstrtod.m4: Likewise.
73709
73710         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
73711
73712 2005-09-22  Jim Meyering  <jim@meyering.net>
73713
73714         Sync from coreutils.
73715
73716         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
73717
73718         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
73719         the .tm_year member, since otherwise gcc-4.0 would now warn about
73720         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
73721
73722         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
73723         order to avoid an unsuppressible warning from gcc on 64-bit systems.
73724
73725         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
73726         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
73727         when run in a time zone for which daylight savings time is in effect
73728         for the starting date.
73729
73730         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
73731         stop us from restricting permissions of just-created absolute-named
73732         directories.
73733         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
73734         to restore initial working directory.
73735         * lib/mkdir-p.c (make_dir_parents): New parameter:
73736         different_working_dir, to tell caller if/when we change the working
73737         directory and are unable to return to the initial one.
73738         * lib/mkdir-p.h (make_dir_parents): Update prototype.
73739         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
73740         `return false'.  This fixes a bug introduced on 2004-07-30.
73741
73742         * lib/openat.c (fdopendir): Be sure to close the supplied
73743         file descriptor before returning.  This makes our replacement
73744         implementation a little closer to Solaris's, where fdopendir
73745         ties the file descriptor to the returned DIR* pointer.
73746         * lib/openat.c (unlinkat): New function.
73747         * lib/openat.h (unlinkat): Add prototype.
73748         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
73749         (openat_restore_fail): Rename from openat_restore_die.
73750         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
73751
73752         Provide an alternative to exiting immediately upon save_cwd or
73753         restore_cwd failure.  Now, an application can arrange e.g.,
73754         to perform a longjump in that case.
73755         * lib/openat.c: Include dirname.h.
73756         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
73757         (rpl_openat, fdopendir, fstatat): Call openat_save_die
73758         and openat_restore_die rather than calling error directly.
73759         Don't include "error.h" or "exitfail.h"; they're no longer needed.
73760
73761         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
73762         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
73763         define.
73764
73765         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
73766         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
73767                             int utc, int nanoseconds);
73768         Background:
73769         date should not have to allocate a megabyte of virtual memory to
73770         handle a format argument like +%1048575T.  When implemented with
73771         strftime, it must allocate such a buffer, use strftime to fill it
73772         in, print it, then free it.
73773         With fprintftime, it simply prints everything and exits.
73774         With no need for memory allocation, that's one fewer way to fail.
73775         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
73776         optional field width, not before, so we accept %9:z, not %:9z.
73777         (my_strftime): Be sure to use L_('x') for literals.
73778
73779         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
73780         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
73781         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
73782         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
73783         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
73784         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
73785         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
73786         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
73787         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
73788         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
73789         * lib/xgethostname.c, lib/xreadlink.c:
73790         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
73791
73792         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
73793         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
73794         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
73795         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
73796         and don't include <sys/file.h>).
73797
73798 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
73799
73800         Sync from coreutils.
73801
73802         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
73803         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
73804         [!LDAV_DONE]: Avoid unused variable warning.
73805
73806 2005-09-21  Bruno Haible  <bruno@clisp.org>
73807
73808         * lib/unicodeio.h (unicode_to_mb): New declaration.
73809
73810 2005-09-20  Derek Price  <derek@ximbiot.com>
73811
73812         * lib/getaddrinfo.c: Don't include <netdb.h> included from
73813         getaddrinfo.h.
73814
73815 2005-09-20  Bruno Haible  <bruno@clisp.org>
73816
73817         * gnulib-tool: Remove trailing slashes from the values specified for
73818         --source-base, --m4-base, --tests-base, --aux-dir.
73819         Suggested by Simon Josefsson <jas@extundo.com>.
73820
73821 2005-09-20  Bruno Haible  <bruno@clisp.org>
73822
73823         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
73824         func_modules_to_filelist, func_import, func_create_testdir): Make all
73825         sorting results locale-independent, so that gnulib-cache.m4 doesn't
73826         change when gnulib-tool is invoked in a different locale.
73827
73828 2005-09-19  Simon Josefsson  <jas@extundo.com>
73829
73830         * m4/socklen.m4: Fix typo.
73831
73832 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73833
73834         Use a consistent style for including <config.h>.
73835         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
73836         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
73837         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
73838         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
73839         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
73840         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
73841         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
73842         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
73843         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
73844         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
73845         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
73846         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
73847         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
73848         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
73849         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
73850         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
73851         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
73852         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
73853         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
73854         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
73855         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
73856         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
73857         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
73858         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
73859         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
73860         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
73861         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
73862         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
73863         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
73864         lib/xstrtoumax.c, lib/yesno.c:
73865         Standardize inclusion of config.h.
73866         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
73867         lib/inttostr.h:  Removed inclusion of config.h from header files.
73868         * lib/inttostr.c:  Adjusted in-tree users.
73869         * lib/timespec.h: Remove superfluous warning to include config.h.
73870         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
73871         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
73872         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
73873         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
73874         config.h with HAVE_CONFIG_H.
73875
73876 2005-09-19  Jim Meyering  <jim@meyering.net>
73877
73878         * modules/pathmax (License): Change to LGPL.
73879
73880 2005-09-19  Derek Price  <derek@ximbiot.com>
73881
73882         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
73883
73884 2005-09-19  Bruno Haible  <bruno@clisp.org>
73885
73886         * gnulib-tool (import): Provide default for --tests-base.
73887
73888 2005-09-19  Bruno Haible  <bruno@clisp.org>
73889
73890         * doc/quote.texi: New file, extracted from gnulib.texi.
73891         * doc/ctime.texi: New file, extracted from gnulib.texi.
73892         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
73893         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
73894         * doc/gnulib.texi: Include them.
73895
73896 2005-09-18  Bruno Haible  <bruno@clisp.org>
73897
73898         Portability fix.
73899         * gnulib-tool (func_readlink): New function.
73900         (func_ln_if_changed): Use it.
73901
73902 2005-09-18  Bruno Haible  <bruno@clisp.org>
73903
73904         * gnulib-tool: Support --with-tests also with --import.
73905         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
73906         (func_import): Use variables $testsbase and $inctests. Emit a
73907         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
73908         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
73909         SUBDIRS += $testsdir.
73910         (func_create_testdir): Update.
73911
73912 2005-09-18  Bruno Haible  <bruno@clisp.org>
73913
73914         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
73915         instead of $dry_run.
73916         (func_cp_if_changed, func_mv_if_changed): Remove functions.
73917         (func_ln_if_changed): Don't handle dry-run here.
73918         (func_import): In dry-run mode, detect more precisely which actions
73919         would be performed, and don't use "...ing" verbs.
73920
73921 2005-09-18  Bruno Haible  <bruno@clisp.org>
73922
73923         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
73924         (func_import): Use join on two temporary files instead of three nested
73925         loops, in order to determine which files are new or old.
73926
73927 2005-09-18  Bruno Haible  <bruno@clisp.org>
73928
73929         * gnulib-tool (func_import): Comment out code that spits out the
73930         new files with --dry-run.
73931
73932 2005-09-18  Bruno Haible  <bruno@clisp.org>
73933
73934         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
73935
73936 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
73937
73938         * lib/stat-time.h: New file.
73939         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
73940         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
73941         in a different way.
73942         (timespec_cmp): New function.
73943         * lib/utimecmp.c: Include stat-time.h.
73944         (SYSCALL_RESOLUTION): Depend on whether various struct stat
73945         members exist, not on the obsolescent ST_MTIM_NSEC.
73946         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
73947
73948 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
73949
73950         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
73951
73952 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
73953
73954         * MODULES.html.sh (File system functions): Add stat-time.
73955         * modules/stat-time: New file.
73956         * modules/timespec (Files): Remove m4/st_mtim.m4; this
73957         is now done in a different way, by the stat-time module.
73958         * modules/utimecmp (Depends-on): Add stat-time.
73959
73960 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73961
73962         * m4/st_mtim.m4: Remove.  Superseded by...
73963         * m4/stat-time.m4: New file.
73964         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
73965         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
73966
73967 2005-09-15  Derek Price  <derek@ximbiot.com>
73968
73969         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
73970
73971 2005-09-15  Derek Price  <derek@ximbiot.com>
73972
73973         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
73974         * lib/regex_internal.c: Ditto, using this...
73975         (__GNUC_PREREQ): ...new macro.
73976         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
73977         using...
73978         (__GNUC_PREREQ): ...this new macro.
73979
73980         * lib/strstr.h: Include string.h. Define strstr as a macro here.
73981
73982 2005-09-15  Derek Price  <derek@ximbiot.com>
73983             Paul Eggert  <eggert@cs.ucla.edu>
73984
73985         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
73986         changes, consolidating in...
73987         * lib/regex_internal.h: ...this file.
73988
73989 2005-09-13  Jim Meyering  <jim@meyering.net>
73990
73991         * lib/canon-host.c: Filter through gnu indent and reword comments
73992         slightly.
73993         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
73994
73995 2005-09-13  Derek Price  <derek@ximbiot.com>
73996
73997         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
73998         failure.
73999         Reported by Jim Meyering  <jim@meyering.net>.
74000
74001 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74002
74003         * lib/base64.c: Typo.
74004         (base64_encode): Put b64str in initialized data section.
74005
74006 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74007
74008         Merge glibc and coreutils changes into gnulib, plus a few
74009         extra fixes.
74010         * lib/md5.c: Use #error rather than a string.
74011         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74012         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74013         (__attribute__): Define to empty for non recent-GCC.
74014         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74015         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74016         Renamed from their non-__ counterparts, with new macros replacing
74017         them if not _LIBC.  Add __THROW attribute.
74018         (rol): Remove.
74019         (struct md5_ctx): Align buffer if using GCC.
74020         * lib/sha1.h (struct sha1_ctx): Likewise.
74021         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74022         The old name was backwards.
74023         (NOTSWAP): Remove; not used.
74024         (rol): New macro, moved here from md5.h.
74025         (sha1_process_block): Remove a FIXME that doesn't make sense.
74026
74027 2005-09-12  Derek Price  <derek@ximbiot.com>
74028
74029         Return usable errors from canon-host.
74030         * lib/canon-host.h: New file.
74031         * lib/canon-host.c (canon_host): Wrap...
74032         (canon_host_r): ...this new function, which now relies exclusively on
74033         getaddrinfo.
74034         (ch_strerror): New function.
74035         (last_cherror): New global.
74036         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74037         interface.
74038         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74039         void *.
74040         (freeaddrinfo): Free ai->ai_canonname when set.
74041
74042 2005-09-12  Derek Price  <derek@ximbiot.com>
74043
74044         Make canon-host require getaddrinfo.
74045         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74046         AC_LIBSOURCE canon-host.h.  Call...
74047         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74048         gl_GETADDRINFO.
74049         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74050
74051 2005-09-12  Derek Price  <derek@ximbiot.com>
74052
74053         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74054         LGPL.
74055         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74056
74057 2005-09-12  Derek Price  <derek@ximbiot.com>
74058
74059         * lib/gai_strerror.c: Include config.h when available.  Include
74060         getaddrinfo.h before other headers to test interface.
74061         Reported by Larry Jones <lawrence.jones@ugs.com>.
74062
74063 2005-09-12  Derek Price  <derek@ximbiot.com>
74064             Paul Eggert  <eggert@cs.ucla.edu>
74065
74066         * modules/glob (Files): Add glob-libc.h.
74067
74068 2005-09-12  Derek Price  <derek@ximbiot.com>
74069             Paul Eggert  <eggert@cs.ucla.edu>
74070
74071         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74072         glob_.h, glob-libc.h.
74073         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74074
74075 2005-09-12  Derek Price  <derek@ximbiot.com>
74076             Paul Eggert  <eggert@cs.ucla.edu>
74077
74078         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74079         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74080         protecting things that should be done only in gnulib contexts.
74081         * lib/glob_.h: New file, containing only the glob things needed for
74082         gnulib.
74083         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74084         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74085         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74086         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74087         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74088         and to respect the namespace rules better.
74089
74090 2005-09-08  Simon Josefsson  <jas@extundo.com>
74091
74092         * modules/socklen: New file.
74093
74094 2005-09-08  Simon Josefsson  <jas@extundo.com>
74095
74096         * m4/socklen.m4: New file.
74097
74098 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74099
74100         * modules/utimens (Files): Add m4/utimbuf.m4, since
74101         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74102         Reported by Sergey Poznyakoff.
74103
74104 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74105
74106         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74107         definitions, since that's the preferred style in glibc.
74108         Fix a minor spacing issue, and update copyright notice to match
74109         glibc's.
74110
74111 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74112
74113         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74114
74115 2005-09-06  Simon Josefsson  <jas@extundo.com>
74116
74117         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74118         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74119
74120 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74121
74122         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74123         warning.
74124
74125 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74126
74127         * config/srclist.txt: Add glibc bug 1302.
74128
74129 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74130
74131         Change bitset word type from unsigned int to unsigned long int,
74132         as this has better performance on typical 64-bit hosts.
74133         Port bitset code to hosts with unusual word sizes.
74134         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74135         (build_collating_symbol):
74136         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74137         argument is a bitset.  This is merely a style issue, but it makes
74138         it clearer that an entire array is expected.
74139         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74140         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74141         Port to the case where bitset_word is not the same as unsigned int.
74142         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74143         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74144         Likewise.
74145         * lib/regexec.c (check_dst_limits_calc_pos_1,
74146         check_subexp_matching_top):
74147         (build_trtable, group_nodes_into_DFAstates):
74148         Likewise.
74149         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74150         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74151         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74152         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74153         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74154         * lib/regcomp.c (optimize_subexps, lower_subexp):
74155         Work even if bitset_word has holes in its bitwise representation.
74156         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74157         * lib/regexec.c (check_dst_limits_calc_pos_1,
74158         check_subexp_matching_top):
74159         Likewise.
74160         * lib/regex_internal.c (re_string_reconstruct):
74161         Don't assume UCHAR_MAX == 255.
74162         * lib/regex_internal.h (bitset_set_all): Likewise.
74163         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74164         All uses changed.
74165         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74166         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74167         All uses changed.
74168         (BITSET_WORD_MAX): New macro.
74169         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74170         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74171         (bitset_empty, bitset_copy):
74172         Prefer sizeof (bitset) to multiplying it out ourselves.
74173         (bitset_not_merge): Remove; unused.
74174         (bitset_contain): Return bool, not unsigned int with one bit on.
74175         All callers changed.
74176         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74177         alignment than re_node_set; do this by defining a new internal
74178         type struct dests_alloc and using it to allocate memory.
74179
74180 2005-09-05  Bruno Haible  <bruno@clisp.org>
74181
74182         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74183         links.
74184
74185 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74186
74187         * modules/size_max (Makefile.am): Add size_max.h
74188
74189 2005-09-04  Derek Price  <derek@ximbiot.com>
74190
74191         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74192
74193 2005-09-03  Simon Josefsson  <jas@extundo.com>
74194
74195         * gnulib-tool: Fix typo.
74196
74197 2005-09-03  Simon Josefsson  <jas@extundo.com>
74198
74199         * config/srclist.txt: Add glibc bug 1293.
74200
74201 2005-09-03  Derek Price  <derek@ximbiot.com>
74202
74203         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74204         From Larry Jones <lawrence.jones@ugs.com>.
74205
74206 2005-09-02  Simon Josefsson  <jas@extundo.com>
74207
74208         * modules/socklen: New file.
74209
74210 2005-09-02  Simon Josefsson  <jas@extundo.com>
74211
74212         * modules/havelib: New module.
74213
74214         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74215         Use havelib.
74216
74217 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74218
74219         Check for arithmetic overflow when calculating sizes, to prevent
74220         some buffer-overflow issues.  These patches are conservative, in the
74221         sense that when I couldn't determine whether an overflow was possible,
74222         I inserted a run-time check.
74223         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74224         macros.
74225         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74226         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74227         (re_xnrealloc, re_x2nrealloc): New inline functions.
74228         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74229         parse_bracket_exp):
74230         (build_equiv_class, build_charclass): Check for arithmetic overflow
74231         in size expression calculations.
74232         * lib/regex_internal.c (re_string_realloc_buffers):
74233         (build_wcs_upper_buffer, re_node_set_add_intersect):
74234         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74235         (re_dfa_add_node, register_state): Likewise.
74236         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74237         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74238         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74239         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74240
74241 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74242
74243         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74244         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74245
74246 2005-09-02  Bruno Haible  <bruno@clisp.org>
74247
74248         Support for lib vs. lib64 distinction on biarch platforms.
74249         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74250         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74251         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74252
74253 2005-09-02  Bruno Haible  <bruno@clisp.org>
74254
74255         * gnulib-tool (import): In the other first-use case, provide defaults
74256         as well.
74257
74258 2005-09-02  Bruno Haible  <bruno@clisp.org>
74259
74260         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74261         patches not yet found in the latest gettext release.
74262
74263 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74264
74265         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74266         to avoid a collision with bits/local_lim.h in glibc.
74267         All uses changed.  Problem reported by Dmitry V. Levin in
74268         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74269
74270         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74271         bugs in int versus size_t comparisons.
74272         (re_string_context_at): Fix bug where the code assumed that
74273         Idx is signed.
74274
74275         Use bool where appropriate.
74276         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74277         All callers changed.
74278         (calc_eclosure_iter): Likewise, for ROOT arg.
74279         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74280         (build_charclass_op): Likewise, for NON_MATCH arg.
74281         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74282         (re_string_construct_common): Likewise, for ICASE arg.
74283         * lib/regexec.c (re_search_2_stub, re_search_stub):
74284         Likewise, for RET_LEN arg.
74285         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74286         (set_regs): Likewise, for FL_BACKTRACK arg.
74287         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74288         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74289         (calc_eclosure_iter, parse_bracket_exp):
74290         Use bool for internal variables that are booleans.
74291         * lib/regexec.c (re_search_internal, check_matching,
74292         proceed_next_node):
74293         (set_regs, build_sifted_states, sift_states_bkref):
74294         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74295         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74296         (find_collation_sequence_value):
74297         Likewise.
74298         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74299         (re_node_set_compare):
74300         Return bool, not int. All callers changed.
74301         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74302         (build_trtable, check_node_accept): Likewise.
74303         * lib/regex_internal.h: Include stdbool.h.
74304
74305         Fix bugs uncovered when converting to bool.
74306         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74307         failure instead of charging ahead blindly.
74308         * lib/regex_internal.c (register_state): Likewise.
74309         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74310         for freeing internal storage.
74311         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74312         bitset pieces used as boolean, to avoid undefined behavior
74313         on hosts that do int overflow checking.
74314
74315 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74316
74317         * config/srclist.txt: Add glibc bugs 1285-1287.
74318
74319 2005-09-01  Jim Meyering  <jim@meyering.net>
74320
74321         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74322         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74323         Require gl_STAT_MACROS, too.
74324
74325 2005-09-01  Bruno Haible  <bruno@clisp.org>
74326
74327         * gnulib-tool (import): In the first-use case, provide defaults.
74328
74329 2005-09-01  Bruno Haible  <bruno@clisp.org>
74330
74331         * gnulib-tool (func_import): Remove the .tmp files.
74332
74333 2005-09-01  Bruno Haible  <bruno@clisp.org>
74334
74335         * gnulib-tool (func_import): Fix handling of symbolic links.
74336
74337 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74338
74339         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74340         old glibc regex code mishandles strings longer than 2**31 bytes.
74341         This patch fixes this when the regex code is used in gnulib
74342         (i.e., outside glibc).
74343
74344         This patch should not affect the use of the regex code inside
74345         glibc.  No doubt this problem also needs to be handled for glibc
74346         as well, but the result will be an incompatible change to the
74347         glibc ABI, and the old ABI will have to be supported too.  That
74348         can be the the subject for another patch.
74349
74350         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74351         governing whether the rest of this patch is active.  By default,
74352         the macro is disabled and the patch has no effect.
74353         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74354         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74355         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74356         (re_match_2, re_set_registers): Use the new types.
74357         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74358         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74359         New macros.
74360         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74361         (re_string_context_at, bin_tree_t, re_dfastate_t):
74362         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74363         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74364         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74365         (re_string_char_size_at, re_string_wchar_at):
74366         (re_string_elem_size_at):
74367         Use the new types and macros to port to 64-bit hosts.
74368         Use unsigned types for internal values, so that the code
74369         mostly works even for arrays larger than SSIZE_MAX.
74370         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74371         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74372         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74373         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74374         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74375         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74376         (calc_inveclosure, parse_dup_op, build_range_exp):
74377         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74378         (fetch_number, create_token_tree, mark_opt_subexp):
74379         Likewise.
74380         * lib/regex_internal.c (re_string_construct_common,
74381         create_ci_newstate):
74382         (create_cd_newstate, re_string_allocate, re_string_construct):
74383         (re_string_realloc_buffers, build_wcs_upper_buffer):
74384         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74385         (re_string_reconstruct, re_string_peek_byte_case):
74386         (re_string_fetch_byte_case, re_string_context_at):
74387         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74388         (re_node_set_init_copy, re_node_set_add_intersect):
74389         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74390         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74391         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74392         (re_acquire_state, re_acquire_state_context, register_state):
74393         Likewise.
74394         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74395         search_cur_bkref_entry):
74396         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74397         (re_search_internal, re_search_2_stub, re_search_stub)
74398         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74399         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74400         (update_cur_sifted_state, check_dst_limits):
74401         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74402         (check_subexp_limits, sift_states_bkref, merge_state_array):
74403         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74404         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74405         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74406         (expand_bkref_cache, check_node_accept_bytes):
74407         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74408         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74409         (acquire_init_state_context, check_halt_node_context):
74410         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74411         (sift_states_backward, clean_state_log_if_needed):
74412         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74413         (find_recover_state, transit_state_sb, transit_state_mb):
74414         (transit_state_bkref, build_trtable, match_ctx_clean):
74415         Likewise.
74416         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74417         to work around an assumption that REG_MISSING is negative.
74418
74419         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74420         (seek_collating_symbol_entry) [defined _LIBC]:
74421         (lookup_collation_sequence_value) [defined _LIBC]:
74422         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74423         Use prototypes rather than old-style function definitions.
74424         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74425         (transit_state_sb) [0]:
74426         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74427
74428         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74429         rm_eo.
74430
74431         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74432         (optimize_subexps, lower_subexp):
74433         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74434         since the signed shift might overflow.  Use 1u<<31 instead.
74435         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74436         Likewise.
74437         * lib/regexec.c (check_dst_limits_calc_pos_1,
74438         check_subexp_matching_top): Likewise.
74439
74440         * lib/regcomp.c (optimize_subexps, lower_subexp):
74441         Use CHAR_BIT rather than 8, for clarity.
74442         * lib/regexec.c (check_dst_limits_calc_pos_1):
74443         (check_subexp_matching_top): Likewise.
74444         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74445         have to worry about portability issues when shifting it left.
74446         Remove no-longer-needed test for table_size > 0.
74447         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74448         in a word, as the resulting behavior is undefined.
74449         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74450         in one case, a <= should have been an <, and in another case the
74451         whole test was missing.
74452         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74453         the standard name CHAR_BIT.
74454         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74455         this is not true on one's complement and signed-magnitude hosts.
74456
74457         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74458         next_last_offset.
74459         (struct re_dfa_t): Remove unused member states_alloc.
74460         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74461
74462 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74463
74464         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74465         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74466         and large-file glibc and in 32-bit large-file Solaris.
74467
74468 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74469
74470         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
74471         lengths fit in regoff_t; this isn't true if regoff_t is the same
74472         width as size_t.
74473         * lib/regex.c (re_search_internal): 5th arg is LAST_START
74474         (= START + RANGE) instead of RANGE.  This avoids overflow
74475         problems when regoff_t is the same width as size_t.
74476         All callers changed.
74477         (re_search_2_stub): Check for overflow when adding the
74478         sizes of the two strings.
74479         (re_search_stub): Check for overflow when adding START
74480         to RANGE; if it occurs, substitute the extreme value.
74481
74482 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74483
74484         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
74485
74486 2005-08-31  Jim Meyering  <jim@meyering.net>
74487
74488         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
74489         a pointer-to-const.
74490         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
74491         (register_state): Likewise.
74492         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
74493         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74494         (group_nodes_into_DFAstates): Likewise.
74495
74496 2005-08-31  Jim Meyering  <jim@meyering.net>
74497
74498         * check-module: Add a FIXME comment.
74499
74500 2005-08-31  Eric Blake  <ebb9@byu.net>
74501
74502         * modules/unistd-safer (Files): Add unistd--.h.
74503         * modules/stdio-safer (Files): Add stdio--.h.
74504
74505 2005-08-31  Derek Price  <derek@ximbiot.com>
74506
74507         * lib/getdelim.c (getdelim): Return EOF on EOF.
74508         Reported by Larry Jones <lawrence.jones@ugs.com>.
74509
74510 2005-08-31  Bruno Haible  <bruno@clisp.org>
74511
74512         Avoid unnecessary diffs in the generated lib/Makefile.am.
74513         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
74514         the generated files.
74515         (func_import): Don't set cmd.
74516
74517 2005-08-31  Bruno Haible  <bruno@clisp.org>
74518
74519         * lib/strstr.c: Include <stddef.h>, for NULL.
74520         * lib/strcasestr.c: Likewise.
74521         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74522
74523 2005-08-31  Bruno Haible  <bruno@clisp.org>
74524
74525         * gnulib-tool: New option --macro-prefix.
74526         (func_import): Use macro_prefix.
74527         (import): Handle option --macro-prefix.
74528
74529 2005-08-31  Bruno Haible  <bruno@clisp.org>
74530
74531         * gnulib-tool (import): Rename most ac_* variables to cached_*.
74532         Also use new variables cached_lgpl, cached_libtool.
74533
74534 2005-08-31  Bruno Haible  <bruno@clisp.org>
74535
74536         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
74537         always instantiating them.
74538
74539 2005-08-31  Bruno Haible  <bruno@clisp.org>
74540
74541         * gnulib-tool (func_import): Read the previous cached settings
74542         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
74543         earlier added by gnulib but are now dropped. Warn when a gnulib file
74544         overwrites a non-gnulib file.
74545
74546 2005-08-31  Bruno Haible  <bruno@clisp.org>
74547
74548         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
74549         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
74550         projects that don't keep autogenerated files in CVS. Put into
74551         actioncmd only the specified modules, not the transitive closure.
74552
74553 2005-08-31  Bruno Haible  <bruno@clisp.org>
74554
74555         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
74556         Create directories that shall be filled.
74557         (import): Don't look for gl_* macros in configure.ac. Recurse across
74558         all directories containing a gnulib-cache.m4 files, if meaningful.
74559
74560 2005-08-31  Bruno Haible  <bruno@clisp.org>
74561
74562         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
74563         (import): Set seen_libtool when we see gl_LIBTOOL.
74564
74565 2005-08-31  Bruno Haible  <bruno@clisp.org>
74566
74567         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
74568         declaration macro definitions from generated gnulib.m4.
74569
74570 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
74571
74572         * lib/iconvme.h: Add prototype for iconv_alloc.
74573
74574 2005-08-29  Simon Josefsson  <jas@extundo.com>
74575
74576         * lib/iconvme.c: Fix errno.
74577
74578 2005-08-29  Bruno Haible  <bruno@clisp.org>
74579
74580         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
74581         that it works when the directory contains spaces.
74582
74583 2005-08-29  Bruno Haible  <bruno@clisp.org>
74584
74585         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
74586
74587 2005-08-29  Bruno Haible  <bruno@clisp.org>
74588
74589         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
74590         Emit more advice.
74591
74592 2005-08-29  Bruno Haible  <bruno@clisp.org>
74593         and Stepan Kasal  <kasal@ucw.cz>
74594
74595         * check-module: If more parameters are given, check each of them
74596         separately; add more exceptions, as noted by Jim Meyering.
74597         (check_module): New procedure.
74598         (%exempt_header): Now contains all exceptions.
74599
74600 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
74601
74602         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
74603
74604 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74605
74606         * lib/iconvme.c: Split iconv_string into iconv_alloc.
74607
74608 2005-08-28  Bruno Haible  <bruno@clisp.org>
74609
74610         * m4/gnulib-tool.m4: New file.
74611
74612 2005-08-27  Jim Meyering  <jim@meyering.net>
74613
74614         * modules/unistd-safer (Files): Add pipe-safer.c.
74615         * modules/fcntl-safer (Files): Add creat-safer.c.
74616
74617 2005-08-27  Jim Meyering  <jim@meyering.net>
74618
74619         * m4/stdlib-safer.m4: New file.  From coreutils.
74620         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
74621         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
74622         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
74623         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
74624         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
74625
74626 2005-08-27  Jim Meyering  <jim@meyering.net>
74627
74628         * lib/fopen-safer.c: Merge minor changes from coreutils.
74629         * lib/dup-safer.c: Likewise.
74630         * lib/fd-safer.c: Likewise.
74631
74632         Merge from coreutils.
74633         * lib/stdio--.h: New file.
74634         * lib/stdlib--.h: New file.
74635         * lib/mkstemp-safer.c: New file.
74636
74637         GNU tar needs these.
74638         * lib/pipe-safer.c: New file.
74639         * lib/creat-safer.c: New file.
74640         * lib/fcntl--.h (creat): Define to creat_safer.
74641         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
74642         * lib/unistd--.h (pipe): Define to pipe_safer.
74643         * lib/unistd-safer.h: Declare pipe_safer.
74644
74645 2005-08-26  Simon Josefsson  <jas@extundo.com>
74646
74647         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
74648         Haible <bruno@clisp.org>.
74649
74650 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
74651
74652         * lib/regex_internal.h: Remove all references to
74653         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
74654         or better.
74655         (bitset_not, bitset_merge, bitset_not_merge):
74656         (bitset_mask, re_string_allocate, re_string_construct):
74657         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
74658         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
74659         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
74660         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
74661         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74662         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74663         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
74664         (re_acquire_state_context):
74665         Remove unnecessary forward decls.
74666         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
74667         Put __attribute at function definition,
74668         now that the function decl has been removed.
74669         * lib/regex_internal.c (re_string_peek_byte_case):
74670         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
74671         Likewise.
74672
74673 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
74674
74675         * m4/regex.m4: Add AC_PREREQ(2.50).
74676         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
74677
74678 2005-08-25  Simon Josefsson  <jas@extundo.com>
74679
74680         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
74681         __fsetlocking.
74682
74683 2005-08-25  Simon Josefsson  <jas@extundo.com>
74684
74685         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
74686         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
74687         GLIBC specific code.
74688
74689 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74690
74691         Make regex safe for g++.  This fixes one real bug (an "err"
74692         that should have been "*err").  g++ problem reported by
74693         Sam Steingold.
74694         * lib/regex_internal.h (re_calloc): New macro, consistent with
74695         re_malloc etc.  All callers of calloc changed to use re_calloc.
74696         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
74697         not int.  All callers changed.
74698         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
74699         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
74700         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
74701         (find_recover_state): Change "err" to "*err"; this fixes what
74702         appears to be a real bug.
74703         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
74704         versus int.
74705
74706 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74707
74708         * modules/regex (Depends-on): Add malloc, since the code
74709         assumes that !malloc(0) means failure.
74710
74711 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74712
74713         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
74714
74715         alloca modernization/simplification for regex.
74716         * lib/regex.c: Remove portability cruft for alloca.  This no longer
74717         needs to be at the start of the file, and can be moved into
74718         regex_internal.h and simplified.
74719         * lib/regex_internal.h: Include <alloca.h>.
74720         (__libc_use_alloca) [!defined _LIBC]: New macro.
74721         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
74722         now works outside glibc.
74723
74724 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74725
74726         * config/srclist.txt: Add glibc bugs 1241, 1245.
74727
74728 2005-08-25  Jim Meyering  <jim@meyering.net>
74729
74730         * lib/open-safer.c: Include <config.h>.
74731         Otherwise, we'd lose LARGEFILE support in any file using
74732         e.g. "fcntl--.h"
74733
74734 2005-08-25  Bruno Haible  <bruno@clisp.org>
74735
74736         * m4/minmax.m4: Require autoconf 2.52.
74737         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
74738         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
74739         alternatives of translit over the alphabet.
74740         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
74741
74742 2005-08-24  Simon Josefsson  <jas@extundo.com>
74743
74744         * tests/test-getpass.c: New file.
74745
74746 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74747
74748         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
74749         for GNU regex features.
74750
74751 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74752
74753         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
74754         * lib/regex.h (regerror): Likewise.
74755
74756         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
74757         requires this.  (The code never needed it.)
74758
74759         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
74760         All uses of recently-renamed identifiers changed to use the new,
74761         POSIX-compliant names.  The code will build and run just fine
74762         without these changes, but it's better to eat our own dog food
74763         and use the standard-conforming names.
74764
74765         * lib/regex.h: Fix a multitude of POSIX name space violations.
74766         These changes have an effect only for programs that define
74767         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
74768         do not change anything for programs compiled in the normal way.
74769         Also, there is no effect on the ABI.
74770
74771         (_REGEX_SOURCE): New macro.
74772         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
74773         defined and _GNU_SOURCE is not; this fixes a name space violation.
74774
74775         Rename the following macros to obey POSIX requirements.
74776         The old names are still visible as macros if _REGEX_SOURCE is defined.
74777         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
74778         RE_BACKSLASH_ESCAPE_IN_LISTS.
74779         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
74780         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
74781         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
74782         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
74783         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
74784         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
74785         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
74786         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
74787         (REG_INTERVALS): renamed from RE_INTERVALS.
74788         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
74789         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
74790         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
74791         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
74792         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
74793         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
74794         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
74795         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
74796         RE_UNMATCHED_RIGHT_PAREN_ORD.
74797         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
74798         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
74799         (REG_DEBUG): renamed from RE_DEBUG.
74800         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
74801         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
74802         unusual, since we can't clash with the POSIX REG_ICASE.
74803         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
74804         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
74805         (REG_NO_SUB): renamed from RE_NO_SUB.
74806         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
74807         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
74808         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
74809         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
74810         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
74811         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
74812         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
74813         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
74814         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
74815         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
74816         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
74817         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
74818         RE_SYNTAX_POSIX_MINIMAL_BASIC.
74819         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
74820         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
74821         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
74822         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
74823         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
74824         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
74825         (REG_FIXED): Renamed from REGS_FIXED.
74826         (REG_NREGS): Renamed from RE_NREGS.
74827
74828         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
74829         of other REG_* macros, since POSIX says the user is allowed to
74830         #undef these macros selectively.
74831
74832         (reg_errcode_t): Update comment stating what other tables need
74833         to be consistent.
74834
74835         Rename the following enum values to obey POSIX requirements.
74836         The old names are still visible as macros.
74837         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
74838         is not defined, since GNU is supposed to be a superset of POSIX as
74839         much as possible, and since we want reg_errcode_t to be a signed
74840         type for implementation consistency.
74841         (_REG_NOERROR): Renamed from REG_NOERROR.
74842         (_REG_NOMATCH): Renamed from REG_NOMATCH.
74843         (_REG_BADPAT): Renamed from REG_BADPAT.
74844         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
74845         (_REG_ECTYPE): Renamed from REG_ECTYPE.
74846         (_REG_EESCAPE): Renamed from REG_EESCAPE.
74847         (_REG_ESUBREG): Renamed from REG_ESUBREG.
74848         (_REG_EBRACK): Renamed from REG_EBRACK.
74849         (_REG_EPAREN): Renamed from REG_EPAREN.
74850         (_REG_EBRACE): Renamed from REG_EBRACE.
74851         (_REG_BADBR): Renamed from REG_BADBR.
74852         (_REG_ERANGE): Renamed from REG_ERANGE.
74853         (_REG_ESPACE): Renamed from REG_ESPACE.
74854         (_REG_BADRPT): Renamed from REG_BADRPT.
74855         (_REG_EEND): Renamed from REG_EEND.
74856         (_REG_ESIZE): Renamed from REG_ESIZE.
74857         (_REG_ERPAREN): Renamed from REG_ERPAREN.
74858         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
74859         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
74860         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
74861         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
74862
74863         (_REG_RE_NAME, _REG_RM_NAME): New macros.
74864         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
74865         changed.  But support the old name if the new one is not defined
74866         and if _REGEX_SOURCE.
74867
74868         Change the following member names in struct re_pattern_buffer.
74869         The old names are still supported if !_REGEX_SOURCE.
74870         The new names are always supported, regardless of _REGEX_SOURCE.
74871         (re_buffer): Renamed from buffer.
74872         (re_allocated): Renamed from allocated.
74873         (re_used): Renamed from used.
74874         (re_syntax): Renamed from syntax.
74875         (re_fastmap): Renamed from fastmap.
74876         (re_translate): Renamed from translate.
74877         (re_can_be_null): Renamed from can_be_null.
74878         (re_regs_allocated): Renamed from regs_allocated.
74879         (re_fastmap_accurate): Renamed from fastmap_accurate.
74880         (re_no_sub): Renamed from no_sub.
74881         (re_not_bol): Renamed from not_bol.
74882         (re_not_eol): Renamed from not_eol.
74883         (re_newline_anchor): Renamed from newline_anchor.
74884
74885         Change the following member names in struct re_registers.
74886         The old names are still supported if !_REGEX_SOURCE.
74887         The new names are always supported, regardless of _REGEX_SOURCE.
74888         (rm_num_regs): Renamed from num_regs.
74889         (rm_start): Renamed from start.
74890         (rm_end): Renamed from end.
74891
74892         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
74893         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
74894         Prepend __ to parameter names.
74895
74896         Undo yesterday's changes.
74897
74898 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74899
74900         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
74901         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
74902         lib/regex.c.
74903
74904 2005-08-24  Jim Meyering  <jim@meyering.net>
74905
74906         Sync from coreutils.
74907         * m4/fcntl-safer.m4: New file.
74908
74909         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
74910         and object files for this module.
74911
74912 2005-08-24  Jim Meyering  <jim@meyering.net>
74913
74914         Sync from coreutils.
74915         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
74916
74917 2005-08-24  Jim Meyering  <jim@meyering.net>
74918
74919         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
74920         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
74921
74922 2005-08-24  Jim Meyering  <jim@meyering.net>
74923
74924         * modules/fcntl-safer: New module.
74925         * modules/fts (Depends-on): Add fcntl-safer.
74926         * MODULES.html.sh (File descriptor based Input/Output):
74927         Add fcntl-safer.
74928
74929 2005-08-24  Bruno Haible  <bruno@clisp.org>
74930
74931         Support for unit test modules.
74932         * modules/README: Mention tests modules.
74933         * modules/TEMPLATE-TESTS: New file.
74934         * gnulib-tool: New options --extract-tests-module, --with-tests and
74935         --tests-base (unused for the moment).
74936         (testsbase, inctests): New variables.
74937         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
74938         (func_verify_module): Exclude TEMPLATE-TESTS.
74939         (func_verify_nontests_module, func_verify_tests_module): New functions.
74940         (func_get_dependencies): Add implicit dependency for tests modules.
74941         (func_get_tests_module): New function.
74942         (func_modules_transitive_closure): When --with-tests was specified,
74943         include the unit tests as well, unless explicitly avoided.
74944         (func_emit_lib_Makefile_am): Ignore the tests modules here.
74945         (func_emit_tests_Makefile_am): New function.
74946         (func_create_testdir): When --with-tests was specified, emit a
74947         tests/ directory.
74948         * MODULES.html.sh (Future developments): Update.
74949
74950 2005-08-24  Bruno Haible  <bruno@clisp.org>
74951
74952         * modules/tls-tests: New file.
74953         * tests/test-tls.c: New file, from GNU gettext.
74954
74955 2005-08-24  Bruno Haible  <bruno@clisp.org>
74956
74957         * modules/lock-tests: New file.
74958         * tests/test-lock.c: New file, from GNU gettext.
74959
74960 2005-08-24  Bruno Haible  <bruno@clisp.org>
74961
74962         * lib/lock.h: Add multiple inclusion guard.
74963         * lib/tls.h: Add multiple inclusion guard.
74964
74965 2005-08-24  Bruno Haible  <bruno@clisp.org>
74966
74967         * gnulib-tool: Add support for the --aux-dir option to
74968         --create-testdir, --create-megatestdir, --test, --megatest.
74969         (func_create_testdir, func_create_megatestdir): Optionally emit a
74970         AC_CONFIG_AUX_DIR directive.
74971         (create-testdir, create-megatestdir, test, megatest): Provide a
74972         default value for $auxdir.
74973
74974 2005-08-24  Bruno Haible  <bruno@clisp.org>
74975
74976         * gnulib-tool (import): Use compound statement instead of subshell
74977         where possible.
74978
74979 2005-08-24  Bruno Haible  <bruno@clisp.org>
74980
74981         * gnulib-tool (import): Change --aux-dir default to "build-aux".
74982
74983 2005-08-24  Bruno Haible  <bruno@clisp.org>
74984
74985         * gnulib-tool (func_version): Update.
74986
74987 2005-08-24  Bruno Haible  <bruno@clisp.org>
74988
74989         * gnulib-tool (func_import, func_create_testdir,
74990         func_create_megatestdir): Quote all autoconf macro arguments.
74991
74992 2005-08-24  Bruno Haible  <bruno@clisp.org>
74993
74994         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
74995         option --force, because --force causes the aclocal.m4 of each
74996         subdirectory to be newer than the corresponding config.h.in.
74997
74998 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74999
75000         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75001         All contents moved to gl_REGEX.
75002         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75003         assume that it does.
75004
75005 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75006
75007         * lib/regex.h (REG_NOSYS)
75008         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75009         Define, since POSIX requires it as of 2001.
75010         (_REG_ENOSYS)
75011         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75012         New private symbol, used to keep the enum signed in all cases.
75013         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75014         Youngman in
75015         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75016
75017         * lib/regex_internal.c (re_string_skip_chars, register_state):
75018         (calc_state_hash):
75019         Remove forward decls; no longer needed now that we use prototypes.
75020         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75021         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75022         (clean_state_log_if_needed): Likewise.
75023
75024 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75025
75026         * config/srclist.txt: Add glibc bugs 1231-1233.
75027
75028 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75029
75030         Fix problems reported by Sam Steingold in
75031         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75032         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75033         assumed that reg_errcode_t is a signed type, which is not
75034         necessarily true if _XOPEN_SOURCE is not defined.
75035         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75036         since some compilers warn about it otherwise.
75037
75038 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75039
75040         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75041         (init_word_char, create_initial_state, duplicate_node_closure):
75042         (fetch_token, peek_token_bracket, build_range_exp):
75043         (build_collating_symbol): Remove forward decls; no longer needed
75044         now that we use prototypes.
75045
75046         * lib/regcomp.c:
75047         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75048         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75049         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75050         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75051         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75052         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75053         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75054         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75055         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75056         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75057         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75058         (build_charclass, build_charclass_op, fetch_number, create_tree):
75059         (create_token_tree, mark_opt_subexp, duplicate_tree):
75060         Use prototypes rather than old-style definitions.
75061
75062         * lib/regex_internal.c:
75063         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75064         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75065         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75066         (re_string_reconstruct, re_string_peek_byte_case):
75067         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75068         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75069         (re_node_set_init_copy, re_node_set_add_intersect):
75070         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75071         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75072         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75073         (re_acquire_state, re_acquire_state_context, register_state):
75074         (create_ci_newstate, create_cd_newstate, free_state):
75075         Likewise.
75076         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75077         re_search_2):
75078         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75079         (re_search_internal, prune_impossible_nodes):
75080         (acquire_init_state_context, check_matching, static):
75081         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75082         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75083         (update_regs, sift_states_backward, build_sifted_states):
75084         (clean_state_log_if_needed, merge_state_array):
75085         (update_cur_sifted_state, add_epsilon_src_nodes):
75086         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75087         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75088         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75089         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75090         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75091         (check_arrival, check_arrival_add_next_nodes):
75092         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75093         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75094         (check_node_accept_bytes, check_node_accept, extend_buffers):
75095         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75096         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75097         (sift_ctx_init):
75098         Likewise.
75099
75100         * lib/regex_internal.h:
75101         (re_string_allocate, re_string_construct, re_string_reconstruct):
75102         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75103         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75104         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75105         (re_string_context_at, re_string_peek_byte_case):
75106         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75107         is defined, since we now use prototypes always.
75108
75109         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75110         C89 or better.  All uses removed.
75111
75112 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75113
75114         * config/srclist.txt: Add glibc bugs 1220-1227.
75115
75116 2005-08-20  Jim Meyering  <jim@meyering.net>
75117
75118         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75119         of unused local, dfa.
75120
75121 2005-08-20  Bruno Haible  <bruno@clisp.org>
75122
75123         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75124
75125 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75126
75127         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75128         (re_node_set_insert_last, re_dfa_add_node):
75129         Rename local variables to avoid GCC shadowing warnings.
75130
75131 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75132
75133         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75134         [defined lint]: Suppress bogus uninitialized-variable warnings.
75135
75136         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75137         and let the caller return REG_ESPACE if out of space.  This
75138         removes an uninitialied-variable warning with GCC 4.0.1, and also
75139         avoids taking the address of a local variable.  All callers
75140         changed.
75141
75142 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75143
75144         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75145         $LIBCSRC/posix/regexec.c.
75146         Add glibc bug 1217 for regcomp.c.
75147
75148 2005-08-19  Jim Meyering  <jim@meyering.net>
75149
75150         * lib/regexec.c (proceed_next_node): Redo local variables to
75151         avoid GCC shadowing warnings.
75152
75153 2005-08-18  Bruno Haible  <bruno@clisp.org>
75154
75155         * lib/strstr.c (strstr): Fix return value in multibyte case.
75156         * lib/strcasestr.c (strcasestr): Likewise.
75157
75158 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75159
75160         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75161
75162 2005-08-17  Jim Meyering  <jim@meyering.net>
75163
75164         Make the %s format (seconds since the epoch) work for a negative
75165         number and when used with a zero-padded field width, e.g. %015s.
75166
75167         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75168         label so that it precedes the code to set `digits'.  Otherwise,
75169         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75170         print `00-22'.  Now, it prints `-0022', as it should.
75171
75172 2005-08-17  Bruno Haible  <bruno@clisp.org>
75173
75174         * modules/strstr (Files): Add m4/mbrtowc.m4.
75175         (Depends-on): Add mbuiter.
75176
75177 2005-08-17  Bruno Haible  <bruno@clisp.org>
75178
75179         * modules/strcasestr: New file.
75180         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75181         strcasestr.
75182
75183 2005-08-17  Bruno Haible  <bruno@clisp.org>
75184
75185         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75186
75187 2005-08-17  Bruno Haible  <bruno@clisp.org>
75188
75189         * modules/mbuiter: New file.
75190         * MODULES.html.sh (Extended multibyte and wide character utilities):
75191         Add mbuiter.
75192
75193 2005-08-17  Bruno Haible  <bruno@clisp.org>
75194
75195         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75196         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75197
75198 2005-08-17  Bruno Haible  <bruno@clisp.org>
75199
75200         * m4/strcasestr.m4: New file.
75201
75202 2005-08-17  Bruno Haible  <bruno@clisp.org>
75203
75204         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75205         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75206
75207 2005-08-17  Bruno Haible  <bruno@clisp.org>
75208
75209         * lib/strcasestr.h: New file.
75210         * lib/strcasestr.c: New file.
75211
75212 2005-08-17  Bruno Haible  <bruno@clisp.org>
75213
75214         * lib/strcasecmp.c: Use mbuiter.h.
75215
75216 2005-08-17  Bruno Haible  <bruno@clisp.org>
75217
75218         * lib/mbuiter.h: New file.
75219
75220 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75221
75222         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75223         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75224         and gl_GETOPT are both invoked via different paths (as happens
75225         with GNU tar CVS because it uses both argp and getopt), the former
75226         wins.
75227
75228 2005-08-16  Bruno Haible  <bruno@clisp.org>
75229
75230         * modules/tls: New file.
75231         * MODULES.html.sh (Multithreading): Add tls.
75232
75233 2005-08-16  Bruno Haible  <bruno@clisp.org>
75234
75235         * modules/strnlen1: New file.
75236         * MODULES.html.sh (String handling): Add strnlen1.
75237
75238 2005-08-16  Bruno Haible  <bruno@clisp.org>
75239
75240         * modules/strcase (Files): Add m4/mbrtowc.m4.
75241         (Depends-on): Add strnlen1, mbchar.
75242
75243 2005-08-16  Bruno Haible  <bruno@clisp.org>
75244
75245         * modules/mbiter: New file.
75246         * MODULES.html.sh (Extended multibyte and wide character utilities):
75247         Add mbiter.
75248
75249 2005-08-16  Bruno Haible  <bruno@clisp.org>
75250
75251         * modules/mbfile: New file.
75252         * MODULES.html.sh (Extended multibyte and wide character utilities):
75253         Add mbfile.
75254
75255 2005-08-16  Bruno Haible  <bruno@clisp.org>
75256
75257         * modules/mbchar: New file.
75258         * MODULES.html.sh (Extended multibyte and wide character utilities):
75259         New section.
75260
75261 2005-08-16  Bruno Haible  <bruno@clisp.org>
75262
75263         * m4/tls.m4: New file, from GNU gettext.
75264
75265 2005-08-16  Bruno Haible  <bruno@clisp.org>
75266
75267         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75268         always.
75269         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75270
75271 2005-08-16  Bruno Haible  <bruno@clisp.org>
75272
75273         * m4/mbiter.m4: New file.
75274
75275 2005-08-16  Bruno Haible  <bruno@clisp.org>
75276
75277         * m4/mbfile.m4: New file.
75278
75279 2005-08-16  Bruno Haible  <bruno@clisp.org>
75280
75281         * m4/mbchar.m4: New file.
75282
75283 2005-08-16  Bruno Haible  <bruno@clisp.org>
75284
75285         * lib/tls.h: New file, from GNU gettext.
75286         * lib/tls.c: New file, from GNU gettext.
75287
75288 2005-08-16  Bruno Haible  <bruno@clisp.org>
75289
75290         * lib/strnlen1.h: New file.
75291         * lib/strnlen1.c: New file.
75292
75293 2005-08-16  Bruno Haible  <bruno@clisp.org>
75294
75295         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75296         (mbi_init): Update.
75297         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75298         NUL byte, not after it.
75299
75300 2005-08-16  Bruno Haible  <bruno@clisp.org>
75301
75302         * lib/strcase.h (strcasecmp): Add note in comments.
75303         * lib/strncasecmp.c: Use code from strcasecmp.c.
75304         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75305         (strcasecmp): Work correctly in multibyte locales.
75306
75307 2005-08-16  Bruno Haible  <bruno@clisp.org>
75308
75309         * lib/mbiter.h: New file.
75310
75311 2005-08-16  Bruno Haible  <bruno@clisp.org>
75312
75313         * lib/mbfile.h: New file.
75314
75315 2005-08-16  Bruno Haible  <bruno@clisp.org>
75316
75317         * lib/mbchar.h: New file.
75318         * lib/mbchar.c: New file.
75319
75320 2005-08-16  Bruno Haible  <bruno@clisp.org>
75321
75322         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75323         the valid ones. Makes the comparison operations transitive:
75324         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75325         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75326
75327 2005-08-15  Simon Josefsson  <jas@extundo.com>
75328
75329         * modules/ssize_t (License): Change to 'unlimited'.
75330
75331         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75332
75333 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75334
75335         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75336         Add comments for each pending glibc patch.
75337
75338 2005-08-15  Bruno Haible  <bruno@clisp.org>
75339
75340         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75341         __cplusplus is defined.
75342
75343 2005-08-14  Jim Meyering  <jim@meyering.net>
75344
75345         Sync from coreutils.
75346
75347         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75348         Use the hash-table-based cycle-detection code not just when
75349         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75350         Reported by James Youngman in
75351         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75352         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75353         FTS_TIGHT_CYCLE_CHECK.
75354         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75355         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75356         once again.
75357         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75358         * lib/fts.c (fd_safer): Remove decl.
75359         Include fcntl--.h rather than unistd-safer.h
75360         (fts_safe_changedir): Don't call fd_safer; no longer needed
75361         now that we include fcntl--.h.
75362
75363 2005-08-12  Simon Josefsson  <jas@extundo.com>
75364
75365         * modules/getndelim2: Use ssize_t module.
75366         * modules/getnline: Likewise.
75367         * modules/safe-read: Likewise.
75368         * modules/xreadlink: Likewise.
75369
75370         * modules/ssize_t: New file.
75371
75372 2005-08-12  Simon Josefsson  <jas@extundo.com>
75373
75374         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75375
75376 2005-08-12  Simon Josefsson  <jas@extundo.com>
75377
75378         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75379         ssize_t.
75380
75381 2005-08-12  Simon Josefsson  <jas@extundo.com>
75382
75383         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75384         readline, getdelim and check_version.
75385         (Support for systems lacking ISO C 99: Sizes of integer types):
75386         Add size_max.
75387
75388 2005-08-12  Bruno Haible  <bruno@clisp.org>
75389
75390         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75391
75392 2005-08-11  Simon Josefsson  <jas@extundo.com>
75393
75394         * modules/readline: New file.
75395
75396         * modules/strnlen (Files): Add strnlen.h.
75397
75398 2005-08-11  Simon Josefsson  <jas@extundo.com>
75399
75400         * m4/readline.m4: New file.
75401
75402 2005-08-11  Simon Josefsson  <jas@extundo.com>
75403
75404         * lib/readline.h, readline.c: New file.
75405
75406 2005-08-11  Simon Josefsson  <jas@extundo.com>
75407
75408         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75409         gl_AVOID.
75410
75411 2005-08-11  Bruno Haible  <bruno@clisp.org>
75412
75413         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75414
75415 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75416
75417         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75418
75419 2005-08-10  Simon Josefsson  <jas@extundo.com>
75420
75421         * tests/test-iconvme.c: New file.
75422
75423 2005-08-10  Simon Josefsson  <jas@extundo.com>
75424
75425         * m4/strnlen.m4: New file.
75426
75427         * m4/strndup.m4: Don't check for strnlen declaration, done in
75428         strnlen.m4.
75429
75430 2005-08-10  Simon Josefsson  <jas@extundo.com>
75431
75432         * lib/strndup.c: Use strnlen.h.
75433
75434         * lib/strnlen.h: New file.
75435
75436 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75437
75438         * README: Typos.
75439
75440 2005-08-02  Simon Josefsson  <jas@extundo.com>
75441
75442         * modules/readline: New file.
75443
75444 2005-08-02  Simon Josefsson  <jas@extundo.com>
75445
75446         * modules/getdelim: New file.
75447
75448         * modules/getline: Rewrite, don't use getndelim2.
75449
75450 2005-08-02  Simon Josefsson  <jas@extundo.com>
75451
75452         * m4/getline.m4: Separate out getdelim stuff into separate module.
75453
75454         * m4/getdelim.m4: New file.
75455
75456 2005-08-02  Simon Josefsson  <jas@extundo.com>
75457
75458         * lib/getline.h, getline.c: Rewrite.
75459
75460         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75461
75462 2005-07-31  Bruno Haible  <bruno@clisp.org>
75463
75464         * lib/lock.h (gl_lock_initializer): New macro.
75465         (gl_lock_define_initialized): Use it.
75466         (gl_rwlock_initializer): New macro.
75467         (gl_rwlock_define_initialized): Use it.
75468         (gl_recursive_lock_initializer): New macro.
75469         (gl_recursive_lock_define_initialized): Use it.
75470
75471 2005-07-30  Karl Berry  <karl@gnu.org>
75472
75473         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
75474         Report from Ben Pfaff, regarding getopt.
75475
75476 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
75477
75478         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
75479         normal way.
75480         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
75481         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
75482         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
75483         (gl_GETOPT): Use the new macros.  Most of the implementation
75484         is moved to the new macros.  This is for programs like Emacs
75485         that don't want all the functionality of gl_GETOPT.
75486
75487 2005-07-26  Bruno Haible  <bruno@clisp.org>
75488
75489         * m4/lock.m4: Update from GNU gettext.
75490
75491 2005-07-26  Bruno Haible  <bruno@clisp.org>
75492
75493         * lib/lock.h: Update from GNU gettext.
75494         * lib/lock.c: Update from GNU gettext.
75495
75496 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
75497
75498         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
75499         obsolescent AC_TRY_RUN.  Include the default includes files, for
75500         'exit'.
75501
75502 2005-07-24  Bruno Haible  <bruno@clisp.org>
75503
75504         * modules/visibility: New file.
75505         * MODULES.html.sh (Misc): Add visibility.
75506
75507 2005-07-24  Bruno Haible  <bruno@clisp.org>
75508
75509         * m4/visibility.m4: New file.
75510
75511 2005-07-24  Bruno Haible  <bruno@clisp.org>
75512
75513         * doc/visibility.texi: New file.
75514
75515 2005-07-22  Bruno Haible  <bruno@clisp.org>
75516
75517         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
75518         $(ALLOCA_H), redundant through BUILT_SOURCES.
75519         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
75520         redundant through BUILT_SOURCES.
75521         * modules/byteswap (Makefile.am): Remove explicit dependency on
75522         $(BYTESWAP_H), redundant through BUILT_SOURCES.
75523         * modules/fnmatch (Makefile.am): Remove explicit dependency on
75524         $(FNMATCH_H), redundant through BUILT_SOURCES.
75525         * modules/getopt (Makefile.am): Remove explicit dependency on
75526         $(GETOPT_H), redundant through BUILT_SOURCES.
75527         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
75528         redundant through BUILT_SOURCES.
75529         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
75530         redundant through BUILT_SOURCES.
75531         * modules/stdbool (Makefile.am): Remove explicit dependency on
75532         $(STDBOOL_H), redundant through BUILT_SOURCES.
75533         * modules/stdint (Makefile.am): Remove explicit dependency on
75534         $(STDINT_H), redundant through BUILT_SOURCES.
75535         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
75536         Remove explicit dependency on $(SYSEXITS_H).
75537         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
75538
75539 2005-07-18  Simon Josefsson  <jas@extundo.com>
75540
75541         * lib/check-version.c (check_version): Accept identical versions too.
75542
75543 2005-07-18  Bruno Haible  <bruno@clisp.org>
75544
75545         * modules/lock: New file.
75546         * MODULES.html.sh (Multithreading): New section.
75547
75548 2005-07-18  Bruno Haible  <bruno@clisp.org>
75549
75550         * m4/lock.m4: New file, from GNU gettext.
75551
75552 2005-07-18  Bruno Haible  <bruno@clisp.org>
75553
75554         * lib/lock.h: New file, from GNU gettext.
75555         * lib/lock.c: New file, from GNU gettext.
75556
75557 2005-07-18  Bruno Haible  <bruno@clisp.org>
75558
75559         * lib/lock.h (gl_once_t): New type.
75560         (gl_once_define, gl_once): New macros.
75561         * lib/lock.c (fresh_once): New variable.
75562         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
75563         functions.
75564
75565 2005-07-16  Simon Josefsson  <jas@extundo.com>
75566
75567         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
75568         workaround, suggested by Bruno.
75569
75570 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75571
75572         * modules/xalloc (Depends-on): Add xalloc-die.
75573         * modules/xvasprintf (Depends-on): Add xalloc-die.
75574
75575 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75576
75577         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
75578         with a minor change.
75579
75580 2005-07-15  Bruno Haible  <bruno@clisp.org>
75581
75582         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
75583         When using lib/poll.c, define poll as rpl_poll.
75584
75585 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
75586
75587         * modules/argp (Depends-on): Remove unlocked-io.
75588
75589 2005-07-14  Derek Price  <derek@ximbiot.com>
75590
75591         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
75592         for glob symlink bug.
75593
75594 2005-07-14  Bruno Haible  <bruno@clisp.org>
75595
75596         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
75597         Instead, test for *_unlocked function declarations directly.
75598
75599 2005-07-11  Simon Josefsson  <jas@extundo.com>
75600
75601         * modules/size_max: New file.
75602
75603         * modules/xsize: Depend on size_max module for size_max.m4.
75604
75605 2005-07-11  Simon Josefsson  <jas@extundo.com>
75606
75607         * lib/size_max.h: New file.
75608
75609 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
75610
75611         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
75612         copyright symbol and the year.
75613         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
75614         (version_etc_va): Use parameterized copyright notice.
75615         Reword to conform to the current GNU coding standards.
75616
75617 2005-07-11  Karl Berry  <karl@gnu.org>
75618
75619         * doc/gnulib.texi (Quoting): new node.
75620         (Initial import): more info, from Patrice.
75621
75622 2005-07-11  Bruno Haible  <bruno@clisp.org>
75623
75624         * gnulib-tool (func_usage): Document option --avoid.
75625         (Command line options): Handle --avoid.
75626         (func_acceptable): New function.
75627         (func_modules_transitive_closure): Use it.
75628
75629 2005-07-11  Bruno Haible  <bruno@clisp.org>
75630
75631         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
75632         Reported by Jim Meyering.
75633
75634 2005-07-10  Bruno Haible  <bruno@clisp.org>
75635
75636         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
75637         Needed when size_t is smaller than 'unsigned int'.
75638         Reported by Paul Eggert.
75639
75640 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75641
75642         * modules/argp (Depends-on): Add unlocked-io
75643
75644 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75645
75646         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
75647         block of defines.
75648
75649 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75650
75651         * config/srclist.txt: Comment out regcomp.c, since we have a porting
75652         fix now.
75653
75654 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
75655         and Paul Eggert  <eggert@cs.ucla.edu>
75656
75657         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
75658         in wint_t, not wchar_t.  Remove now-unnecessary cast.
75659
75660 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75661
75662         * modules/regex (Files): Add lib/regex_internal.c,
75663         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
75664         (Depends-on): Add extensions.
75665         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
75666
75667 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75668
75669         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
75670         pathconf.
75671         * m4/same.m4 (gl_SAME): Likewise.
75672         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
75673
75674         * m4/regex.m4: Adjust to new libc regex implementation.
75675         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
75676         all the .c and .h parts of (the new) regex.
75677         Quote the m4 stuff better.
75678         Check for RE_ICASE bug of old gnulib.
75679         Check for REG_STARTEND of recent libc.
75680         Rename local variables from jm_* to gl_*.
75681         Quote operand of "test -f".
75682         Say "recent enough" version of libc, not "version 2".
75683         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
75684         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
75685         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
75686         Remove check for btowc, isascii.
75687         Require AM_LANGINFO_CODESET.
75688
75689 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75690
75691         * lib/regex.c, regex.h: Sync from libc.
75692         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
75693         * lib/regexec.c:
75694         New files, synced from libc, except that regex_internal.h
75695         currently has a small porting fix.
75696
75697 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75698
75699         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
75700         regex_internal.c, regexec.c.
75701         Add regex_internal.h too, but as a comment, since the libc version
75702         is currently broken in gnulib mode.
75703
75704 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75705
75706         Support programs like Emacs that use gnulib but not gettext.
75707         * MODULES.html.sh (Internationalization functions): Add gettext-h.
75708         * modules/gettext-h: New file.
75709         * modules/gettext (Files): Remove lib/gettext.h.
75710         (Depends-on): Add gettext-h.
75711         (Makefile.am): Remove lib_SOURCES.
75712         * modules/argmatch, modules/c-stack, modules/closeout:
75713         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
75714         * modules/execute, modules/file-type, modules/getaddrinfo:
75715         * modules/getopt, modules/human, modules/javacomp:
75716         * modules/javaexec, modules/mkdir-p, modules/obstack:
75717         * modules/openat, modules/pagealign_alloc, modules/pipe:
75718         * modules/quotearg, modules/regex, modules/rpmatch:
75719         * modules/unicodeio, modules/userspec, modules/version-etc:
75720         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
75721         * modules/xsetenv:
75722         Depend on gettext-h, not gettext.
75723
75724 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75725
75726         * gnulib-tool (func_import): Add support for 'public domain' license.
75727         * modules/alloca, modules/atexit, modules/memmove:
75728         Now public domain, not GPL.
75729         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
75730         * modules/realloc, modules/strerror, modules/strtod:
75731         Now LGPL, not GPL.
75732
75733 2005-07-05  Bruno Haible  <bruno@clisp.org>
75734
75735         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
75736         autoconf CVS. Needed for mingw.
75737
75738 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75739
75740         Remove the dependency of the strftime module on the tzset module.
75741         * modules/strftime (Depends-on): Remove dependency on tzset.
75742
75743 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75744
75745         Remove the dependency of the strftime module on the tzset module.
75746         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
75747         gl_FUNC_TZSET_CLOBBER.
75748
75749 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75750
75751         Remove the dependency of the strftime module on the tzset module.
75752         * lib/strftime.c (my_strftime)
75753         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
75754         Copy the input structure, to work around some of the bug with
75755         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
75756         Solaris releases, you should also use the tzset module, but we won't
75757         require it as a dependency any more since we don't want LGPLed code
75758         to depend on GPLed code.
75759
75760 2005-07-02  Jim Meyering  <jim@meyering.net>
75761
75762         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
75763         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
75764         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
75765         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
75766
75767 2005-07-02  Jim Meyering  <jim@meyering.net>
75768
75769         * lib/backupfile.c (backup_args): Change a `0' to NULL.
75770
75771 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75772
75773         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
75774         declares only 'struct timespec;' (!).
75775
75776 2005-07-01  Jim Meyering  <jim@meyering.net>
75777
75778         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
75779         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
75780         * lib/save-cwd.c, tempname.c:
75781         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
75782         and don't include <sys/file.h>).
75783
75784 2005-06-29  Jim Meyering  <jim@meyering.net>
75785
75786         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
75787         type name.  Use the variable name instead.
75788         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
75789         Likewise.
75790
75791 2005-06-28  Simon Josefsson  <jas@extundo.com>
75792
75793         * modules/check-version (Files): Add check-version.m4.
75794
75795 2005-06-28  Simon Josefsson  <jas@extundo.com>
75796
75797         * m4/check-version.m4: New file, suggested by Jim Meyering
75798         <jim@meyering.net>.
75799
75800 2005-06-28  Simon Josefsson  <jas@extundo.com>
75801
75802         * lib/check-version.h, lib/check-version.c: New files.
75803
75804 2005-06-28  Simon Josefsson  <jas@extundo.com>
75805
75806         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
75807         collision with global variable.  Better indentation.  Don't
75808         increment buffer pointer beyond buffer end.  Based on comments
75809         from Paul Eggert <eggert@cs.ucla.edu>.
75810
75811         * lib/base64.h: Indent.
75812
75813 2005-06-28  Simon Josefsson  <jas@extundo.com>
75814
75815         * doc/gnulib.texi (Library version handling): New section.
75816
75817 2005-06-28  Jim Meyering  <jim@meyering.net>
75818
75819         * check-module (find_included_lib_files): Hard-code another
75820         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
75821         but modules/fts-lgpl (correctly) does not list those files.
75822
75823         * modules/canonicalize (Files): Add lib/pathmax.h.
75824
75825 2005-06-25  Simon Josefsson  <jas@extundo.com>
75826
75827         * modules/check-version: New file.
75828
75829 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
75830
75831         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
75832         initializer of struct addrinfo, as an indication that we don't
75833         care how many members the structure has.
75834
75835 2005-06-24  Derek Price  <derek@ximbiot.com>
75836         and Bruno Haible  <bruno@clisp.org>
75837
75838         Remove stat module & update lstat.
75839         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
75840         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
75841         * m4/stat.m4: Remove this file.
75842
75843 2005-06-24  Derek Price  <derek@ximbiot.com>
75844         and Bruno Haible  <bruno@clisp.org>
75845
75846         Remove stat module & update lstat.
75847         * lib/stat.c: Remove this file...
75848         (slash_aware_lstat): ...moving this content and its support...
75849         * lib/lstat.c (rpl_lstat): ...into here.
75850         * lib/lstat.h: New file.
75851
75852 2005-06-24  Derek Price  <derek@ximbiot.com>
75853         and Bruno Haible  <bruno@clisp.org>
75854
75855         Remove stat module & update lstat.
75856         * config/srclist.txt (libc sources): Remove stat.
75857
75858 2005-06-24  Derek Price  <derek@ximbiot.com>
75859         and Bruno Haible  <bruno@clisp.org>
75860
75861         Remove stat module & update lstat.
75862         * MODULES.html.sh (stat): Remove.
75863         * MODULES.html: Regenerated.
75864         * modules/lstat (Description): Correct function name.
75865         (Files): Add "lstat.h".
75866         (Depends-on): Remove stat, add xalloc, stat-macros.
75867         * modules/stat: Remove this file.
75868         (Include): Add "lstat.h", remove <sys/stat.h>.
75869
75870 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
75871
75872         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
75873         (ranged_convert): Don't save conversion in a temporary struct.
75874         This causes a warning with GCC 4.0.0, and anyway in the typical
75875         case it's not worth the extra 100 bytes or so of code.
75876         (ranged_convert, __mktime_internal): When calling a function via a
75877         pointer P, use P () rather than (*P) (), as we now assume C89 or
75878         better.
75879
75880 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75881
75882         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
75883         "who -r" failed to give output.  Problem reported by Tim Waugh.
75884
75885         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
75886         (xcalloc): Use it to avoid needless tests.
75887         Problem reported by Jim Meyering.
75888
75889 2005-06-20  Derek Price  <derek@ximbiot.com>
75890
75891         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
75892         unnecessary for Autoconfs > 2.59c.
75893
75894 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75895
75896         * lib/argp.h (__option_is_short): Check upper limit of
75897         __key. Isprint() requires its argument to have the value
75898         of an unsigned char or EOF.
75899
75900 2005-06-16  Jim Meyering  <jim@meyering.net>
75901
75902         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
75903         when either N or S is zero.
75904
75905 2005-06-16  Derek Price  <derek@ximbiot.com>
75906
75907         * m4/bison.m4: Declare YACC & YFLAGS precious.
75908
75909 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
75910
75911         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
75912         multibyte string or pattern, fall back on unibyte matching.
75913         Problem reported by James Youngman.
75914
75915 2005-06-08  Bruno Haible  <bruno@clisp.org>
75916
75917         * modules/csharpcomp: New file.
75918         * MODULES.html.sh (C#): Add csharpcomp.
75919
75920 2005-06-08  Bruno Haible  <bruno@clisp.org>
75921
75922         * m4/csharpcomp.m4: New file, from GNU gettext.
75923
75924 2005-06-08  Bruno Haible  <bruno@clisp.org>
75925
75926         * lib/csharpcomp.h: New file, from GNU gettext.
75927         * lib/csharpcomp.c: New file, from GNU gettext.
75928         * lib/csharpcomp.sh.in: New file, from GNU gettext.
75929
75930 2005-06-08  Bruno Haible  <bruno@clisp.org>
75931
75932         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
75933         warning on mingw.
75934
75935 2005-06-07  Derek Price  <derek@ximbiot.com>
75936
75937         Sync from CVS.
75938         * lib/glob_.h: Indent nested #ifdef.
75939
75940 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
75941
75942         Sync from coreutils.
75943         Use "file name" when talking about file names, instead of "filename"
75944         or "path", as per the GNU coding standards.
75945         * lib/mkdir-p.c: Renamed from makepath.c.
75946         (make_dir_parents): Renamed from make_path.  All callers changed.
75947         * lib/mkdir-p.h: Likewise.  All includers changed.
75948         * lib/filenamecat.c: Renamed from path-concat.c.
75949         (file_name_concat): Renamed from path_concat.  All callers changed.
75950         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
75951         * lib/filenamecat.h: Likewise.  All includers changed.
75952         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
75953         in comments or local variable names.
75954         * lib/basename.c: Likewise.
75955         * lib/canonicalize.c, canonicalize.h: Likewise.
75956         * lib/dirname.c, dirname.h: Likewise.
75957         * lib/euidaccess.c: Likewise.
75958         * lib/exclude.c: Likewise
75959         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
75960         * lib/fsusage.c, fsuage.h: Likewise.
75961         * lib/fts.c, fts_.h: Likewise.
75962         * lib/getcwd.c: Likewise.
75963         * lib/getloadavg.c: Likewise.
75964         * lib/mkstemp.c: Likewise.
75965         * lib/mountlist.c, mountlist.h: Likewise.
75966         * lib/openat.c, openat.h: Likewise.
75967         * lib/readlink-stub.c: Likewise.
75968         * lib/readutmp.c, readutmp.h: Likewise.
75969         * lib/rename.c: Likewise.
75970         * lib/rmdir.c: Likewise.
75971         * lib/same.c: Likewise.
75972         * lib/savedir.c: Likewise.
75973         * lib/stripslash.c: Likewise.
75974         * lib/tempname.c: Likewise.
75975         * lib/xreadlink.c: Likewise.
75976         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
75977         All uses changed.
75978         * lib/exclude.h: Likewise.
75979
75980         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
75981         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
75982         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
75983         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
75984         * lib/pathmax.h: Include <limits.h> unconditionally, since other
75985         files have been getting away with it for years (MORE/BSD 4.3
75986         is extinct now).
75987         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
75988         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
75989
75990         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
75991         Define to 256, not 255, as per modern POSIX.
75992
75993 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
75994
75995         Sync from coreutils.
75996         Use "file name" when talking about file names, instead of "filename"
75997         or "path", as per the GNU coding standards.
75998         * MODULES.html.sh: mkdir-p renamed from makepath.
75999         filenamecat renamed from path-concat.
76000         * modules/filenamecat: Renamed from modules/path-concat.
76001         (Files): filenamecat.h and filenamecat.c renamed from
76002         path-concat.h and path-concat.c.
76003         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76004         (Include): filenamecat.h, not path-concat.h.
76005         * modules/mkdir-p: Renamed from modules/makepath.
76006         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76007         makepath.c.
76008         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76009         (Include): mkdir-p.h, not makepath.h.
76010
76011 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76012
76013         Sync from coreutils.
76014         * m4/mkdir-p.m4: Renamed from makepath.m4.
76015         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76016         Rename files from makepath.c to mkdir-p.c, and from
76017         makepath.h to mkdir-p.h.
76018         * m4/filenamecat.m4: Renamed from path-concat.m4.
76019         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76020         Rename files from path-concat.c to filenamecat.c,
76021         and from path-concat.h to filenamecat.h.
76022         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76023         "file name" in local variables or comments.
76024         * m4/rename.m4: Likewise.
76025
76026 2005-06-01  Bruno Haible  <bruno@clisp.org>
76027
76028         * modules/csharpexec: New file.
76029         * MODULES.html.sh (C#): New section.
76030
76031 2005-06-01  Bruno Haible  <bruno@clisp.org>
76032
76033         * m4/csharp.m4: New file, from GNU gettext.
76034         * m4/csharpexec.m4: New file, from GNU gettext.
76035
76036 2005-06-01  Bruno Haible  <bruno@clisp.org>
76037
76038         * lib/csharpexec.h: New file, from GNU gettext.
76039         * lib/csharpexec.c: New file, from GNU gettext.
76040         * lib/csharpexec.sh.in: New file, from GNU gettext.
76041
76042 2005-05-31  Derek Price  <derek@ximbiot.com>
76043             Paul Eggert  <eggert@cs.ucla.edu>
76044
76045         Sync from cvs.
76046         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76047
76048 2005-05-31  Derek Price  <derek@ximbiot.com>
76049             Paul Eggert  <eggert@cs.ucla.edu>
76050
76051         Sync from cvs.
76052         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76053
76054 2005-05-29  Derek Price  <derek@ximbiot.com>
76055
76056         * config/srclist.txt (glob_.h, glob.c): Add these files.
76057
76058 2005-05-29  Derek Price  <derek@ximbiot.com>
76059
76060         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76061         * modules/glob: New file.
76062         * modules/getlogin_r: Add link to POSIX spec in description.
76063
76064 2005-05-29  Derek Price  <derek@ximbiot.com>
76065             Paul Eggert  <eggert@cs.ucla.edu>
76066
76067         * m4/glob.m4: New file.
76068
76069 2005-05-29  Derek Price  <derek@ximbiot.com>
76070             Paul Eggert  <eggert@cs.ucla.edu>
76071
76072         * lib/glob_.h, lib/glob.c: New files.
76073
76074 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76075
76076         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76077         * modules/fts-lgpl (Depends-on): Remove gettext.
76078
76079 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76080
76081         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76082         and don't require gt_INTTYPES_PRI.
76083
76084 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76085
76086         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76087
76088         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76089         the configuration hassle isn't worth it.
76090         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76091         (LONGEST_MODIFIER, PRIuMAX): Remove.
76092
76093 2005-05-27  Bruno Haible  <bruno@clisp.org>
76094
76095         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76096
76097 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76098
76099         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76100         _POSIX_PTHREAD_SEMANTICS for Solaris.
76101
76102 2005-05-25  Derek Price  <derek@ximbiot.com>
76103
76104         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76105
76106 2005-05-25  Derek Price  <derek@ximbiot.com>
76107             Paul Eggert  <eggert@cs.ucla.edu>
76108
76109         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76110         * lib/getlogin_r.c, getlogin_r.h: New files.
76111
76112 2005-05-25  Bruno Haible  <bruno@clisp.org>
76113             Derek Price  <derek@ximbiot.com>
76114
76115         * lib/getlogin_r.h: Simplify API documentation.
76116
76117 2005-05-23  Derek Price  <derek@ximbiot.com>
76118
76119         * modules/minmax (Files): Add m4/minmax.m4.
76120         (configure.ac): Add gl_MINMAX.
76121
76122 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76123
76124         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76125         so that unistd-safer.h (GPL'ed code) need not be included.
76126
76127 2005-05-22  Bruno Haible  <bruno@clisp.org>
76128
76129         * m4/minmax.m4: New file.
76130         Based on a patch by Derek Price <derek@ximbiot.com>.
76131
76132 2005-05-22  Bruno Haible  <bruno@clisp.org>
76133
76134         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76135         (INT64_MIN): Fix definition.
76136         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76137
76138         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76139         NEED_SIGNED_INT_TYPES.
76140
76141         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76142         HAVE_SYSTEM_INTTYPES.
76143
76144 2005-05-22  Bruno Haible  <bruno@clisp.org>
76145
76146         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76147         Also include <sys/param.h> if it defines MIN, MAX.
76148         Based on a patch by Derek Price <derek@ximbiot.com>.
76149
76150 2005-05-21  Jim Meyering  <jim@meyering.net>
76151
76152         * modules/fts (Files): Add m4/inttypes-pri.m4.
76153         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76154
76155 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76156
76157         New fts module.
76158         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76159         (setup_dir, free_dir): New functions.
76160         (enter_dir, leave_dir): Define trivial
76161         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76162         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76163         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76164         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76165         Move to fts-cycle.c.
76166         (fts_open): Use setup_dir.
76167         (fts_close): Use free_dir.
76168         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76169         This adds a label and some gotos, but the alternatives were messier.
76170         Check for memory allocation failure when entering a dir.
76171         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76172         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76173         (FTS): New member fts_cycle, that is a union that contains the
76174         old active_dir_ht and cycle_state.  All uses changed to mention
76175         fts_cycle.ht and fts_cycle.state.
76176         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76177         fts.c, with the following changes:
76178         (setup_dir, free_dir): New functions.
76179         (enter_dir): Now returns bool.  Return true if successful, false
76180         if memory exhausted.  All callers changed.
76181         Do not bother partly cleaning up on
76182         memory allocation failure; that is free_dir's job.
76183         However, free ad if hash_insert fails, to avoid memory leak.
76184         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76185         fts->fts_options to see which union member to use.
76186
76187 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76188
76189         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76190         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76191
76192 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76193
76194         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76195
76196 2005-05-20  Jim Meyering  <jim@meyering.net>
76197
76198         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76199         Now a macro, to pacify GCC.
76200
76201 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76202
76203         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76204         of -1.
76205
76206 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76207
76208         * lib/chown.c (rpl_chown): Return -1 on failure.
76209
76210 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76211
76212         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76213         Don't check for stddef.h.
76214         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76215         don't use its results.
76216         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76217         since we include them unconditionally.  Don't require
76218         AM_STDBOOL_H, since stdbool is a prerequisite.
76219         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76220         since we assume C89 or better.
76221         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76222         as we don't use their results.
76223         Don't check for fchdir, memmove, memset, strrchr, as we use
76224         them unconditionally.
76225         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76226         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76227
76228 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76229
76230         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76231         Include <stddef.h> unconditionally, since we assume C89 now.
76232         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76233         * lib/fts.c: Include fts_.h first, to check interface.
76234         Do not include intprops.h; no longer needed.
76235         Include cycle-check.h and hash.h, since fts_.h no longer does.
76236         Remove unnecessary casts of closedir to void.
76237         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76238         decide whether to decrement nlinks.
76239         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76240         (FTS): Use struct hash_table * instead of Hash_table, so that
76241         we no longer need to include hash.h here.
76242
76243 2005-05-18  Jim Meyering  <jim@meyering.net>
76244
76245         * modules/dirfd (License): Change to LGPL.  Most of the code
76246         is already in the public domain.
76247
76248 2005-05-18  Jim Meyering  <jim@meyering.net>
76249
76250         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76251         Reported by Yoann Vandoorselaere.
76252
76253 2005-05-17  Jim Meyering  <jim@meyering.net>
76254
76255         * m4/fts.m4: New file, from coreutils.
76256
76257 2005-05-17  Jim Meyering  <jim@meyering.net>
76258
76259         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76260
76261 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76262
76263         Sync from coreutils.
76264         * m4/unlinkdir.m4: New file.
76265
76266 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76267
76268         Sync from coreutils.
76269         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76270         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76271         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76272         White space changes only.
76273         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76274         special.
76275         * lib/yesno.c: Include getline.h, not ctype.h.
76276         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76277         Use getline to remove arbitrary restriction on response length.
76278
76279 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76280
76281         * config/srclist-update: Spell out "Street" in FSF postal
76282         mail address; this is the style the FSF seems to prefer.
76283
76284         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76285         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76286         this updates FSF postal mail address.
76287
76288         Sync from coreutils.
76289         * modules/unlinkdir: New file.
76290         * modules/yesno (Depends-on): Add getline.
76291         * MODULES.html.sh (File system functions): Add unlinkdir.
76292
76293 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76294
76295         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76296         lib/strsep.h:
76297         Change the initial comment to refer to GPL, not LGPL.
76298         gnulib-tool will change it to LGPL as needed.
76299
76300         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76301         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76302         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76303         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76304         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76305         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76306         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76307         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76308         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76309         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76310         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76311         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76312         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76313         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76314         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76315         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76316         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76317         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76318         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76319         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76320         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76321         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76322         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76323         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76324         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76325         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76326         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76327         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76328         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76329         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76330         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76331         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76332         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76333         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76334         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76335         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76336         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76337         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76338         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76339         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76340         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76341         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76342         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76343         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76344         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76345         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76346         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76347         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76348         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76349         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76350         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76351         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76352         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76353         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76354         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76355         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76356         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76357         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76358         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76359         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76360         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76361         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76362         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76363         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76364         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76365         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76366         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76367         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76368         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76369         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76370         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76371         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76372         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76373         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76374         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76375         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76376         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76377         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76378         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76379         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76380         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76381         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76382         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76383         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76384         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76385         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76386         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76387         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76388         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76389         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76390         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76391         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76392         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76393         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76394         lib/yesno.c, lib/yesno.h:
76395         Update FSF postal mail address.
76396
76397 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76398
76399         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76400         tests/test-memmem.c, tests/test-stpncpy.c:
76401         Update FSF postal mail address.
76402
76403 2005-05-13  Bruno Haible  <bruno@clisp.org>
76404
76405         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76406         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76407         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76408         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76409         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76410         Add support for 64-bit integers in the MSVC compiler.
76411
76412 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76413
76414         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76415
76416 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76417
76418         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76419
76420 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76421
76422         * doc/getdate.texi (General date syntax): Don't say that date
76423         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76424         Problem reported by Nic Ferrier.
76425
76426 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76427
76428         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76429         specified in ai_socktype. Fix invalid ai_protocol
76430         check. ai_protocol is usually set to 0 or depending on
76431         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76432         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76433         ai_socktype / ai_protocol in the returned addrinfo structure.
76434
76435 2005-05-10  Simon Josefsson  <jas@extundo.com>
76436
76437         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76438         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76439
76440 2005-05-10  Karl Berry  <karl@gnu.org>
76441
76442         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76443         (from http://www.gnu.org/licenses).
76444         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76445         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76446         fdl.texi suffices.
76447
76448 2005-05-10  Karl Berry  <karl@gnu.org>
76449
76450         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76451         (COPYING.DOC): remove.
76452
76453         * config/srclist-update: new FSF address.
76454
76455 2005-05-10  Derek Price  <derek@ximbiot.com>
76456
76457         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76458         possible.
76459
76460 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76461             Bruno Haible  <bruno@clisp.org>
76462
76463         * modules/inet_ntop: New file.
76464         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76465         inet_ntop.
76466
76467 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76468             Bruno Haible  <bruno@clisp.org>
76469
76470         * m4/inet_ntop.m4: New file.
76471
76472 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76473             Bruno Haible  <bruno@clisp.org>
76474
76475         * lib/inet_ntop.h: New file.
76476         * lib/inet_ntop.c: New file, from glibc with modifications.
76477
76478 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
76479
76480         * modules/time_r (License): Change to LGPL.
76481         * modules/extensions (License): Change to LGPL.  Actually,
76482         the license is more permissive than that, but currently gnulib-tool
76483         doesn't know how to handle more-permissive licenses.
76484
76485         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
76486         Problem reported by Dave Love.
76487
76488 2005-05-08  Jim Meyering  <jim@meyering.net>
76489
76490         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
76491         blank.
76492
76493 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76494
76495         * modules/argmatch (Depends-on): Add stdbool.
76496         * modules/backupfile (Depends-on): Likewise.
76497         * modules/chdir-long (Depends-on): Likewise.
76498         * modules/closeout (Depends-on): Likewise.
76499         * modules/cycle-check (Depends-on): Likewise.
76500         * modules/dirname (Depends-on): Likewise.
76501         * modules/fnmatch (Depends-on): Likewise.
76502         * modules/fsusage (Depends-on): Likewise.
76503         * modules/fwriteerror (Depends-on): Likewise.
76504         * modules/getcwd (Depends-on): Likewise.
76505         * modules/getloadavg (Depends-on): Likewise.
76506         * modules/hard-locale (Depends-on): Likewise.
76507         * modules/makepath (Depends-on): Likewise.
76508         * modules/mountlist (Depends-on): Likewise.
76509         * modules/nanosleep (Depends-on): Likewise.
76510         * modules/posixtm (Depends-on): Likewise.
76511         * modules/quotearg (Depends-on): Likewise.
76512         * modules/readtokens (Depends-on): Likewise.
76513         * modules/readtokens0 (Depends-on): Likewise.
76514         * modules/readutmp (Depends-on): Likewise.
76515         * modules/save-cwd (Depends-on): Likewise.
76516         * modules/strftime (Depends-on): Likewise.
76517         * modules/userspec (Depends-on): Likewise.
76518         * modules/utimecmp (Depends-on): Likewise.
76519         * modules/xgetcwd (Depends-on): Likewise.
76520         * modules/xnanosleep (Depends-on): Likewise.
76521         * modules/xstrtod (Depends-on): Likewise.
76522         * modules/yesno (Depends-on): Likewise.
76523
76524 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
76525
76526         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
76527         needless checks.
76528
76529 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76530
76531         Merge from coreutils.  Among other things,
76532         add bulletproofing for cases where stdin, stdout, or stderr are closed.
76533         * lib/fd-safer.c: New file.
76534         * lib/fcntl-safer.h, open-safer.c: Remove.
76535         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
76536         * lib/dup-safer.c: Include unistd-safer.h first.
76537         Don't include errno.h.
76538         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
76539         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
76540         * lib/file-type.c: Rely on file-type.h change.
76541         * lib/getloadavg.c: Include unistd-safer.h.
76542         (getloadavg): Use safer open.
76543         * lib/getusershell.c: Include "stdio-safer.h".
76544         (getusershell): Use safer fopen.
76545         * lib/long-options.c (long_options): Use NULL rather than 0.
76546         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
76547         'free'.
76548         * lib/modechange.c: Likewise.
76549         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
76550         (MODE_DONE): New constant.
76551         (struct mode_change): Remove 'next' member.
76552         (make_node_op_equals): New function; like the old one of the
76553         same name, except it allocates an array.
76554         (mode_compile, mode_create_from_ref): Use it.
76555         (mode_compile): Allocate result as an array, not a linked list.
76556         Parse octal string ourself, so that we catch mistakes like "+0".
76557         (mode_adjust): Arg is an array, not a linked list.
76558         * lib/modechange.c: Include stat-macros.h, xalloc.h.
76559         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
76560         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
76561         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
76562         Remove.  This is now stat-macros.h's job.
76563         (talloc): Remove.  All callers replaced by xalloc, so that
76564         our invokers don't have to worry about reporting memory failures.
76565         (make_node_op_equals): Remove.
76566         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76567         New constants.
76568         (struct mode_change): Moved here from modechange.h.
76569         (mode_append_entry): Remove.
76570         (mode_compile): Remove MASKED_OPS arg, since it encouraged
76571         apps to have incorrect behavior.  Use simpler algorithm for head
76572         and tail.  Don't futz with umask; that's now the job of mode_adjust.
76573         Detect more invalid usages rather than having somewhat-random behavior.
76574         Don't insert an "a=" action, as that leads to incorrect behavior.
76575         (mode_compile, mode_create_from_ref): Return NULL on error instead
76576         of an enum, since now there's only one way to have an error.  All
76577         callers changed.
76578         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
76579         at the correct time.  Simplify calculation of "+u" and its ilk.
76580         Don't mishandle "+X".
76581         (mode_free): Remove "register" and localize decls.
76582         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76583         (struct mode_change): Move to modechange.c; callers don't
76584         need to see this stuff.
76585         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
76586         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
76587         (mode_change, mode_adjust): Reflect the new signatures noted above.
76588         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
76589         that might redefine system include files.
76590         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
76591         (my_usleep): Use NULL rather than (void *) 0.
76592         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
76593         Use siginterrupt to specify that system calls should be interrupted.
76594         (rpl_nanosleep): Move initialization of suspended closer to call of
76595         my_usleep.
76596         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
76597         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
76598         (desirable_utmp_entry): New function.
76599         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
76600         using x2nrealloc, to simplify logic.
76601         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
76602         size calculation.  Do not assume utmp file is a regular file.
76603         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
76604         (READ_UTMP_CHECK_PIDS): New constant.
76605         * lib/save-cwd.c: Include unistd-safer.h.
76606         (save_cwd): Use fd_safer.
76607         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
76608         [!_LIBC] Include "stat-macros.h" instead.
76609         * lib/unistd-safer.h (fd_safer): New decl.
76610
76611 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76612
76613         * modules/getloadavg (Depends-on): Add unistd-safer.
76614         * modules/getusershell (Depends-on): Add stdio-safer.
76615         * modules/lstat (Depends-on): Remove xalloc.
76616         * modules/mkstemp (Depends-on): Add stat-macros.
76617         * modules/modechange (Depends-on): Remove xstrtol.
76618         Add stat-macros, xalloc.
76619         * modules/save-cwd (Depends-on): Add unistd-safer.
76620         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
76621         * modules/unistd-safer (Files): Add lib/fd-safer.c
76622         (Makefile.am): Remove lib_SOURCES.
76623
76624         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
76625         Remove fcntl-safer; unistd-safer supersedes it.
76626
76627 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76628
76629         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
76630         AC_HEADER_STAT.
76631         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
76632         (gl_PREREQ_CHOWN): Remove.
76633         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
76634         it.  Don't require AC_HEADER_STAT.
76635         (gl_PREREQ_LSTAT): Remove.
76636         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
76637         Don't require AC_HEADER_STAT.
76638         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
76639         (gl_PREREQ_RMDIR): Remove.
76640         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
76641         mention stat-macros.h or AC_HEADER_STAT, since we'll make
76642         the stat-macros module a prerequisite.
76643         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
76644         * m4/filemode.m4 (gl_FILEMODE): Likewise.
76645         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
76646         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
76647         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
76648         variable names.
76649         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
76650         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
76651         variable prefixes.
76652         * m4/fcntl-safer.m4: Remove.
76653         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
76654         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
76655         Invoke gl_PREREQ_FD_SAFER.
76656         (gl_PREREQ_FD_SAFER): New macro.
76657         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
76658         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
76659         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
76660         Remove duplicate call to AC_LIBOBJ(readutmp).
76661         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
76662
76663         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
76664         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
76665
76666 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76667
76668         * MODULES.html.sh (Misc): Add byteswap.
76669
76670 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76671
76672         * modules/getcwd (Depends-on): Add extensions.
76673         * modules/openat (Depends-on): Likewise.
76674
76675 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76676
76677         * modules/byteswap: New file.
76678
76679 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76680
76681         * m4/byteswap.m4: New file.
76682
76683 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76684
76685         * lib/byteswap_.h: New file.
76686
76687 2005-04-25  Karl Berry  <karl@gnu.org>
76688
76689         * m4/gettext.m4: Update from GNU gettext 0.14.4.
76690
76691 2005-04-25  Albert Chin  <china@thewrittenword.com>
76692
76693         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
76694         Toolkit C bug.
76695
76696 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
76697
76698         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
76699         (func_ln_if_changed): Remove forcibly for no error message
76700         in case file does not exist.
76701
76702 2005-04-19  Simon Josefsson  <jas@extundo.com>
76703
76704         * gnulib-tool (Options): Make --symlink mean --symbolic.
76705
76706 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
76707
76708         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
76709
76710 2005-04-16  Simon Josefsson  <jas@extundo.com>
76711
76712         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
76713
76714 2005-04-15  Simon Josefsson  <jas@extundo.com>
76715
76716         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
76717
76718 2005-04-15  Simon Josefsson  <jas@extundo.com>
76719
76720         * gnulib-tool: Rename --symlink to --symbolic.
76721
76722 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
76723
76724         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
76725         symbolic links to files instead of copying/moving.  Add --aux-dir,
76726         specifying directory relative --dir where auxiliary build tools
76727         are placed.
76728
76729 2005-04-14  Bruno Haible  <bruno@clisp.org>
76730
76731         * modules/allocsa (License): Change to LGPL.
76732         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
76733
76734 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76735
76736         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
76737         that "UTC +1 second" continues to work.  Problem reported
76738         by Dmitry V. Levin.
76739         (relunit_snumber): New rule.
76740         (relunit): Use it.
76741
76742 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76743
76744         * lib/getdate.y (universal_time_zone_table): New constant.
76745         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
76746         universal_time_zone_table.
76747         (lookup_zone): Prefer universal_time_zone_table to
76748         local_time_zone_table, so that "GMT" time stamps are allowed in
76749         London during the summer.  Problem reported by Ian Abbott.
76750
76751 2005-04-12  Jim Meyering  <jim@meyering.net>
76752
76753         * lib/human.c (humblock): Set *options even when returning due to
76754         xstrtoumax conversion failure.  Thanks to a used-uninitialized
76755         warning from gcc-4.
76756
76757 2005-04-09  Jim Meyering  <jim@meyering.net>
76758
76759         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
76760         -Wuninitialized: initialize tm0.tm_year.
76761
76762 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
76763
76764         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
76765         count, since there's no maximum.  All uses changed.
76766         Add member dsts_seen.
76767         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
76768         not being INT_MAX.
76769         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
76770         Use pc_rels_seen to decide whther a date is absolute.
76771
76772         * lib/getdate.y (number): Don't overwrite year.
76773         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
76774         check.
76775
76776 2005-04-02  Simon Josefsson  <jas@extundo.com>
76777
76778         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
76779         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
76780
76781 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
76782
76783         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
76784         where no absolute path name can be longer than PATH_MAX.
76785
76786 2005-03-27  Jim Meyering  <jim@meyering.net>
76787
76788         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
76789
76790 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
76791
76792         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
76793         "one's complement" -> "ones' complement" in comment, as per Knuth.
76794         "value of type" -> "type or expression" in comment.
76795         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
76796
76797 2005-03-26  Jim Meyering  <jim@meyering.net>
76798
76799         Comment nits.
76800         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
76801         Correct typos: s/or/of/.
76802
76803 2005-03-26  Jim Meyering  <jim@meyering.net>
76804
76805         * modules/check-include-files: Move to ../ and rename to...
76806         * check-module: ...this.
76807
76808 2005-03-25  Jim Meyering  <jim@meyering.net>
76809
76810         * modules/xvasprintf (Files): Add xalloc.h.
76811
76812 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
76813
76814         * modules/gettext (Files): config/config.rpath ->
76815         build-aux/config.rpath
76816         * modules/iconv (Files): Likewise.
76817         Problem reported by Oskar Liljeblad.
76818
76819 2005-03-23  Jim Meyering  <jim@meyering.net>
76820
76821         * modules/check-include-files: New script to check for
76822         missing dependencies, multiple includes, etc.
76823
76824         * modules/c-strtold (Depends-on): Add xalloc.
76825         * modules/c-strtod (Depends-on): Add xalloc.
76826         * modules/hash (Depends-on): Add xalloc.
76827         (Files): Remove lib/xalloc.h.
76828
76829         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
76830         * modules/userspec (Files): Add lib/inttostr.h.
76831
76832 2005-03-23  Jim Meyering  <jim@meyering.net>
76833
76834         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
76835
76836 2005-03-22  Jim Meyering  <jim@meyering.net>
76837
76838         * modules/stat-macros: New module.
76839         * modules/canonicalize, modules/euidaccess, modules/file-type,
76840         * modules/filemode, modules/lchown, modules/makepath,
76841         * modules/rmdir, modules/stat: Depend on new stat-macros module
76842         rather than listing lib/stat-macros.h manually.
76843         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
76844
76845 2005-03-22  Jim Meyering  <jim@meyering.net>
76846
76847         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
76848
76849 2005-03-22  Bruno Haible  <bruno@clisp.org>
76850
76851         * config/srclist.txt: Replace target directory 'config' with
76852         'build-aux'.
76853         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
76854         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
76855         ../build-aux/.
76856
76857 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
76858
76859         * modules/chdir-long (Depends-on): Add mempcpy.
76860
76861         * modules/acl, modules/backupfile, modules/c-strtod,
76862         modules/c-strtold, modules/canon-host, modules/canonicalize,
76863         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
76864         modules/exclude, modules/exitfail, modules/file-type,
76865         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
76866         modules/getdate, modules/getline, modules/getpagesize,
76867         modules/getpass, modules/getugroups, modules/group-member,
76868         modules/hard-locale, modules/hash, modules/human, modules/idcache,
76869         modules/inttostr, modules/long-options, modules/makepath,
76870         modules/md5, modules/memcasecmp, modules/memcoll,
76871         modules/modechange, modules/mountlist, modules/path-concat,
76872         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
76873         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
76874         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
76875         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
76876         modules/strftime, modules/strndup, modules/strverscmp,
76877         modules/timespec, modules/unlocked-io, modules/userspec,
76878         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
76879         modules/yesno:
76880         Remove lib_SOURCES line from Makefile.am section, as this is now
76881         done automatically by the corresponding Autoconf macro.
76882
76883 2005-03-21  Jim Meyering  <jim@meyering.net>
76884
76885         Changes imported from coreutils.
76886
76887         * lib/cycle-check.c: Don't include xalloc.h.
76888
76889         * lib/path-concat.c: Don't include assert.h.
76890         (path_concat): Remove assertion that would have triggered
76891         for ABASE starting with more than one slash.
76892         Reported by Andreas Schwab.
76893
76894         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
76895         properly when ABASE is an absolute file name.
76896         Correct the description of this function.
76897         Include <assert.h>.
76898         Add an assertion and a test driver.
76899         This fixes a bug introduced on 2004-07-02.
76900         Andreas Schwab reported the resulting failure of cp --parents:
76901         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
76902
76903 2005-03-21  Jim Meyering  <jim@meyering.net>
76904
76905         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
76906         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
76907
76908 2005-03-21  Jim Meyering  <jim@meyering.net>
76909         and  Paul Eggert  <eggert@cs.ucla.edu>
76910
76911         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
76912         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
76913         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
76914         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
76915         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
76916         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
76917         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
76918         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
76919         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
76920         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
76921         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
76922         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
76923         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
76924         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
76925         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
76926         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
76927         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
76928         for these modules.
76929
76930 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
76931
76932         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
76933         (which shouldn't happen), generate nothing instead of returning 0
76934         immediately, so that nstrftime (NULL, ...) doesn't return 0.
76935
76936 2005-03-16  Bruno Haible  <bruno@clisp.org>
76937
76938         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
76939         HAVE_LONGLONG_64BIT.
76940
76941 2005-03-16  Bruno Haible  <bruno@clisp.org>
76942
76943         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
76944         HAVE_LONGLONG_64BIT.
76945
76946 2005-03-16  Bruno Haible  <bruno@clisp.org>
76947
76948         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
76949         HAVE_LONGLONG_64BIT.
76950
76951 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
76952
76953         * lib/strftime.c (my_strftime): Prepend space to format so that we can
76954         reliably distinguish strftime failure from empty output on POSIX
76955         hosts.
76956
76957 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
76958
76959         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
76960         (iconv_string): Don't guess a size-zero buffer, as that might cause
76961         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
76962         result would be 'too large', where 'too large' is (heuristically)
76963         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
76964         overflow concerns.  This will prevent some unwanted malloc failures
76965         when the inputs are very large.
76966
76967 2005-03-15  Karl Berry  <karl@gnu.org>
76968
76969         * config/srclist.txt (config.rpath): from gettext.
76970         * config/config.rpath: update.
76971
76972 2005-03-15  Bruno Haible  <bruno@clisp.org>
76973
76974         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
76975         to 'negate'.
76976
76977         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
76978         variable.
76979
76980         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
76981         results.
76982
76983 2005-03-14  Simon Josefsson  <jas@extundo.com>
76984
76985         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
76986         <fx@gnu.org>.
76987
76988 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
76989
76990         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
76991         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
76992         intprops.h.
76993         * lib/strtol.c: Likewise.
76994
76995 2005-03-14  Jim Meyering  <jim@meyering.net>
76996
76997         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
76998         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
76999         to be nonzero so that we (and caller) can detect the difference
77000         between a valid zero-length expansion and an error return, even
77001         when the underlying strftime fails before writing anything into
77002         that location.
77003
77004 2005-03-14  Bruno Haible  <bruno@clisp.org>
77005
77006         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77007         Update from GNU gettext 0.14.3.
77008
77009 2005-03-10  Jim Meyering  <jim@meyering.net>
77010
77011         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77012
77013 2005-03-10  Jim Meyering  <jim@meyering.net>
77014
77015         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77016         so that this module works on systems without fchdir.
77017
77018 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77019
77020         Factor int-properties macros into a single file, except for
77021         glibc-related files.
77022         * lib/intprops.h: New file.
77023         * lib/getloadavg.c: Include it instead of limits.h.
77024         (INT_STRLEN_BOUND): Remove.
77025         * lib/human.c: Include intprops.h.
77026         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77027         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77028         302/1000.
77029         * lib/inttostr.h: Include intprops.h instead of limits.h.
77030         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77031         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77032         for consistency with intprops.h.
77033         (time_t_is_integer, twos_complement_arithmetic): Use them.
77034         * lib/sig2str.h: Include <signal.h>, intprops.h.
77035         (INT_STRLEN_BOUND): Remove.
77036         * lib/strftime.c (TYPE_SIGNED): Remove.
77037         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77038         * lib/strtol.c: Adjust comments to match intprops.h.
77039         * lib/userspec.c: Include intprops.h.
77040         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77041         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77042         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77043         instead of rolling our own expressions.
77044         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77045
77046         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77047         instead of int.
77048         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77049         the right thing even if adding 1900 would overflow.  Similarly
77050         for tm_mon + 1 and tm_yday + 1.
77051         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77052         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77053         (DO_SIGNED_NUMBER): New macro.
77054         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77055
77056 2005-03-07  Bruno Haible  <bruno@clisp.org>
77057
77058         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77059
77060 2005-03-07  Bruno Haible  <bruno@clisp.org>
77061
77062         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77063
77064 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77065
77066         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77067         (func_import): Only replace files via --import when they have actually
77068         changed.
77069
77070 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77071
77072         * m4/mmap-anon.m4: New file.
77073         * m4/pagealign_alloc.m4: New file.
77074
77075 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77076             Bruno Haible  <bruno@clisp.org>
77077
77078         * modules/pagealign_alloc: New file.
77079         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77080
77081 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77082             Bruno Haible  <bruno@clisp.org>
77083
77084         * lib/pagealign_alloc.h: New file.
77085         * lib/pagealign_alloc.c: New file.
77086
77087 2005-03-03  Bruno Haible  <bruno@clisp.org>
77088
77089         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77090         Use an all-permissive copyright notice, recommended by RMS.
77091
77092 2005-03-02  Bruno Haible  <bruno@clisp.org>
77093
77094         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77095         of AIX, the replacement has to be done only after <string.h> is
77096         included, therefore not in config.h. stpncpy.h does the replacement,
77097         and stpncpy.c uses it.
77098
77099 2005-03-02  Bruno Haible  <bruno@clisp.org>
77100
77101         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77102         stpncpy.c uses it.
77103
77104 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77105
77106         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77107         The workaround isn't strictly needed for POSIX conformance, and
77108         it's too much of a pain to configure and maintain.  We'll ask
77109         people to fix their kernels instead.
77110         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77111         (NANOSLEEP_BUG_WORKAROUND): Remove.
77112         (xnanosleep): Remove the workaround.
77113
77114 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77115
77116         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77117         Reported by Derek Price.
77118         (Include): Add "timespec.h".
77119
77120         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77121
77122 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77123
77124         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77125         to detect nanosleep bug.
77126
77127 2005-03-01  Bruno Haible  <bruno@clisp.org>
77128
77129         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77130
77131 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77132
77133         * modules/gethrxtime: New file.
77134         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77135         (Depends-on): Add gethrxtime.
77136         (configure.ac): Add gl_XNANOSLEEP.
77137         (Makefile.am): Remove lib_SOURCES line.
77138
77139 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77140
77141         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77142         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77143
77144 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77145
77146         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77147         * lib/timespec.h (gettime): Return void, since it always
77148         succeeds now.  All uses changed.
77149         * lib/gettime.c (gettime): Likewise.
77150         [HAVE_NANOTIME]: Prefer nanotime.
77151         Assume gettimeofday succeeds, as POSIX requires.
77152         Assime time () succeeds, since other code already does.
77153         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77154         (timespec_subtract): Remove.
77155         (NANOSLEEP_BUG_WORKAROUND): New constant.
77156         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77157         things considerably.  Use it only on GNU/Linux hosts, since the
77158         workaround shouldn't be needed elsewhere.
77159
77160 2005-02-24  Bruno Haible  <bruno@clisp.org>
77161
77162         * modules/gettext (Files): Add m4/glibc2.m4.
77163
77164 2005-02-24  Bruno Haible  <bruno@clisp.org>
77165
77166         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77167         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77168         * m4/progtest.m4:
77169         Update from GNU gettext 0.14.2.
77170         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77171
77172 2005-02-24  Bruno Haible  <bruno@clisp.org>
77173
77174         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77175         * lib/config.charset: Update from GNU gettext 0.14.2.
77176
77177 2005-02-24  Bruno Haible  <bruno@clisp.org>
77178
77179         * lib/gettext.h: Update from GNU gettext 0.14.2.
77180
77181 2005-02-23  Simon Josefsson  <jas@extundo.com>
77182
77183         * m4/iconvme.m4: New file.
77184
77185 2005-02-23  Jim Meyering  <jim@meyering.net>
77186
77187         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77188         change.
77189         Thanks to Bruno Haible for catching it.
77190
77191 2005-02-22  Simon Josefsson  <jas@extundo.com>
77192
77193         * modules/iconvme: New file.
77194
77195         * MODULES.html.sh: Add iconvme.
77196
77197 2005-02-22  Simon Josefsson  <jas@extundo.com>
77198
77199         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77200
77201 2005-02-22  Simon Josefsson  <jas@extundo.com>
77202
77203         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77204
77205 2005-02-22  Jim Meyering  <jim@meyering.net>
77206
77207         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77208         s/ifndef/ifdef/.
77209
77210 2005-02-20  Neil Conway  <neilc@samurai.com>
77211
77212         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77213         returned by OSX/Darwin if the specified buffer is not large
77214         enough for the hostname.
77215
77216 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77217
77218         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77219         pass it to _help, otherwise the latter coredumps trying to
77220         dereference state.root_argp.
77221
77222 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77223
77224         * modules/chdir-long (Depends-on): Add memrchr.
77225         * modules/memrchr (Files): Add lib/memrchr.h.
77226         (Include): "memrchr.h".
77227
77228 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77229
77230         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77231
77232 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77233
77234         * lib/memrchr.h: New file.
77235         * lib/chdir-long.c: Include it.
77236         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77237         Don't bother including stddef.h.
77238
77239 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77240
77241         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77242         inclusion.
77243         Include <sys/types.h>, for dev_t.
77244         (ME_DUMMY, ME_REMOTE): Move from here....
77245         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77246         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77247         Dmitry V. Levin.
77248         Include mountlist.h first, to test the interface.
77249
77250 2005-01-29  Bruno Haible  <bruno@clisp.org>
77251
77252         * lib/progname.c (program_name): Initialize.
77253         Needed when linking statically on MacOS X.
77254
77255 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77256
77257         Sync from coreutils.
77258         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77259         (Depends-on): Add c-strtod.
77260         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77261
77262 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77263
77264         Sync from coreutils.
77265         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77266
77267         Remove files that are specific to coreutils.
77268         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77269
77270 2005-01-28  Bruno Haible  <bruno@clisp.org>
77271
77272         * modules/javacomp: New file.
77273         * MODULES.html.sh (Java): Add javacomp.
77274
77275 2005-01-28  Bruno Haible  <bruno@clisp.org>
77276
77277         * m4/javacomp.m4: New file, from GNU gettext.
77278
77279 2005-01-28  Bruno Haible  <bruno@clisp.org>
77280
77281         * lib/javacomp.sh.in: New file, from GNU gettext.
77282         * lib/javacomp.h: New file, from GNU gettext.
77283         * lib/javacomp.c: New file, from GNU gettext.
77284
77285 2005-01-26  Simon Josefsson  <jas@extundo.com>
77286
77287         * lib/gai_strerror.c: Use GPL in header.
77288
77289 2005-01-26  Bruno Haible  <bruno@clisp.org>
77290
77291         * modules/javaexec: New file.
77292         * MODULES.html.sh (Java): Add javaexec.
77293
77294 2005-01-26  Bruno Haible  <bruno@clisp.org>
77295
77296         * m4/javaexec.m4: New file, from GNU gettext.
77297
77298 2005-01-26  Bruno Haible  <bruno@clisp.org>
77299
77300         * lib/javaexec.sh.in: New file, from GNU gettext.
77301         * lib/javaexec.h: New file, from GNU gettext.
77302         * lib/javaexec.c: New file, from GNU gettext.
77303
77304 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77305
77306         * modules/lchown (Depends-on): Remove lchown.h
77307
77308 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77309
77310         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77311         must be defined if the header file was not found, in order
77312         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77313
77314 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77315
77316         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77317         initializers for struct pentry_state.
77318         (__argp_error): Check return value of __asprintf
77319         (__argp_failure): Translate error message
77320
77321         * lib/argp-parse.c: Removed braces around the expansion of N_()
77322
77323 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77324
77325         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77326         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77327         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77328         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77329         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77330         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77331         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77332         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77333         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77334         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77335         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77336         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77337         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77338         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77339         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77340         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77341         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77342         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77343         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77344         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77345         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77346         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77347         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77348         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77349         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77350         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77351         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77352         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77353         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77354         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77355         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77356         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77357         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77358         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77359         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77360         Use an all-permissive copyright notice, recommended by RMS.
77361
77362 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77363
77364         * modules/chdir-long (Depends-on): Remove mempcpy.
77365
77366 2005-01-21  Jim Meyering  <jim@meyering.net>
77367
77368         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77369         same value as for Solaris 9.
77370
77371         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77372         component length.  This included changing the parameter to be
77373         of type `char *' rather than `char const *'.
77374         * lib/chdir-long.h (chdir_long): Update prototype.
77375
77376         * lib/openat.c (fdopendir, fstatat): New functions.
77377         * lib/openat.h: Include headers required for use of DIR and struct
77378         stat.
77379         [AT_SYMLINK_NOFOLLOW]: Define.
77380         (fdopendir, fstatat): Add prototypes.
77381
77382 2005-01-21  Bruno Haible  <bruno@clisp.org>
77383
77384         * modules/classpath: New file.
77385         * MODULES.html.sh (Java): Add classpath.
77386
77387 2005-01-21  Bruno Haible  <bruno@clisp.org>
77388
77389         * lib/classpath.h: New file, from GNU gettext.
77390         * lib/classpath.c: New file, from GNU gettext.
77391
77392 2005-01-20  Simon Josefsson  <jas@extundo.com>
77393
77394         * modules/version-etc-fsf: New file.
77395
77396 2005-01-20  Simon Josefsson  <jas@extundo.com>
77397
77398         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77399         * lib/version-etc.c: Remove version_etc_copyright.
77400         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77401         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77402
77403 2005-01-20  Simon Josefsson  <jas@extundo.com>
77404
77405         * lib/base64.h (isbase64): Add.
77406
77407         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77408         using a unsigned prototype, don't inline.
77409         (base64_decode): Use it.
77410
77411 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77412
77413         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77414         it.
77415
77416 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77417
77418         * lib/save-cwd.c (save_cwd): Remove code to support the case
77419         where fchdir is missing or flaky.
77420
77421 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77422
77423         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77424
77425 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77426
77427         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77428         AC_LIBSOURCES now does this.
77429         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77430         with new ullong_max module.
77431
77432 2005-01-19  Bruno Haible  <bruno@clisp.org>
77433
77434         * modules/sh-quote: New file.
77435         * MODULES.html.sh (Executing programs): Add sh-quote.
77436
77437 2005-01-19  Bruno Haible  <bruno@clisp.org>
77438
77439         * lib/sh-quote.h: New file, from GNU gettext.
77440         * lib/sh-quote.c: New file, from GNU gettext.
77441
77442 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77443
77444         Merge from coreutils.
77445         * m4/ullong_max.m4: New file.
77446         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77447         (gl_MACROS): Assume localeconv exists.
77448
77449 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77450
77451         Merge changes from coreutils, as described below in several
77452         changelogs dated today.
77453
77454         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77455         (O_DIRECTORY): Remove; not needed here, since "." must be
77456         a directory.  All uses removed.
77457         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77458         universal on Suns, and we also need to test for IRIX.
77459         Revamp code to use 'if' rather than '#if'.
77460         Avoid unnecessary comparison of cwd->desc to 0.
77461
77462         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77463         for known valid error numbers rather than observed invalid ones.
77464
77465 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77466
77467         * modules/ullong_max: New file.
77468
77469         * modules/chdir-long, modules/openat: New files.
77470         * modules/save-cwd (Depends-on): Depend on chdir-long.
77471         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
77472
77473 2005-01-18  Jim Meyering  <jim@meyering.net>
77474
77475         Merge from coreutils.
77476         * m4/chdir-long.m4, m4/openat.m4: New files.
77477         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
77478         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
77479         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
77480         is sane and DOES follow symlinks.  Besides, testing 20 different
77481         systems found no broken chown implementations.
77482         Prompted by a change in rsync's copy of this macro.
77483         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
77484
77485         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
77486
77487         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
77488         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
77489         NULL-means-set-to-current-time semantics.
77490         Remove temporary file immediately, rather than waiting
77491         for configure's at-exit trap code to do it.
77492
77493 2005-01-18  Jim Meyering  <jim@meyering.net>
77494
77495         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77496
77497         * lib/utimens.c (futimens): Account for the fact that futimes
77498         can also fail with errno == ENOSYS or errno == ENOENT.
77499         Patch from Dmitry V. Levin.
77500
77501         Change the name of the robust chdir function from chdir to chdir_long.
77502         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
77503         (restore_cwd): Use chdir_long, not chdir.
77504         * lib/chdir-long.c: Renamed from chdir.c.
77505         * lib/chdir-long.h: Renamed from chdir.h.
77506         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
77507         Hurd.
77508
77509 2005-01-18  Bruno Haible  <bruno@clisp.org>
77510
77511         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
77512         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
77513         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
77514         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
77515         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
77516         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
77517         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
77518         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
77519         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
77520         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
77521         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
77522         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
77523         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
77524         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
77525         Use an all-permissive copyright notice, recommended by RMS.
77526
77527 2005-01-18  Bob Proulx  <bob@proulx.com>
77528
77529         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
77530         simplify offsetof() macro construct to avoid compile failure with
77531         native HP-UX 11.0 ANSI C compiler.
77532
77533 2005-01-17  Bruno Haible  <bruno@clisp.org>
77534
77535         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
77536         redundant because stpncpy.m4 takes care of it.
77537
77538 2005-01-17  Bruno Haible  <bruno@clisp.org>
77539
77540         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
77541
77542 2005-01-17  Bruno Haible  <bruno@clisp.org>
77543
77544         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
77545         used.
77546
77547 2005-01-17  Bruno Haible  <bruno@clisp.org>
77548
77549         * lib/fwriteerror.h (fwriteerror): Change specification to include
77550         fclose.
77551         * lib/fwriteerror.c: Include <stdbool.h>.
77552         (fwriteerror): At the end, close the file stream. Record whether
77553         stdout was already closed.
77554
77555 2005-01-17  Bruno Haible  <bruno@clisp.org>
77556
77557         * lib/execute.c (environ): Declare if needed.
77558         * lib/pipe.c (environ): Likewise.
77559         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
77560
77561 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77562
77563         * modules/argp: Depend on vsnprintf
77564
77565 2005-01-10  Jim Meyering  <jim@meyering.net>
77566
77567         * modules/closeout (Depends-on): Add atexit.
77568
77569 2005-01-06  Bruno Haible  <bruno@clisp.org>
77570
77571         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
77572
77573 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77574
77575         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
77576         definitions to be after all include files, to avoid collisions.
77577         Problem reported by Bob Proulx.
77578
77579 2005-01-04  Jim Meyering  <jim@meyering.net>
77580
77581         Changes imported from coreutils.
77582         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
77583         as the mkstemp template, use a temporary directory and an
77584         8.3-friendly template to avoid trouble on systems like DJGPP.
77585         Reported by Juan M. Guerrero via Stepan Kasal.
77586         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
77587         close. Remove the temporary directory right away, rather than waiting
77588         for configure's at-exit trap code to do it.
77589         Suggestion from Stepan Kasal.
77590
77591 2005-01-01  Simon Josefsson  <jas@extundo.com>
77592
77593         * gnulib-tool: Print #include directives when --import'ing.
77594
77595 2004-12-28  Simon Josefsson  <jas@extundo.com>
77596
77597         * tests/test-base64.c: Include required header files.  Remove
77598         unused variables.
77599
77600 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77601
77602         * modules/error (Depends-on): Remove gettext.
77603
77604 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77605
77606         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
77607         not needed.  This removes a dependency on the gettext module.
77608         [defined _LIBC]: Do not include <libintl.h>; not needed.
77609
77610 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77611
77612         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
77613         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
77614
77615 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77616
77617         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
77618         HAVE_DECL_STRTOLD.
77619
77620 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77621
77622         * modules/getdate (Depends-on): Remove alloca-opt.
77623
77624 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77625
77626         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
77627
77628 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77629
77630         * lib/argp-parse.c: Include <stddef.h>.
77631         (alignof, alignto): New macros.
77632         (parser_init): Don't assume that void * is aligned sufficiently
77633         for struct option.
77634
77635         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
77636         need to extend the stack.
77637         (YYINITDEPTH): New macro, so that the initial stack isn't overly
77638         large.
77639
77640 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77641
77642         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
77643
77644 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77645
77646         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
77647         (2004-10-24) change.  Apparently this was a false alarm.
77648
77649         * modules/getdate: Depend on alloca-opt, not alloca.
77650
77651 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77652
77653         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
77654         Remove now-obsolete comment about AIX.
77655         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
77656         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
77657         (YYMAXDEPTH): New macro.
77658
77659 2004-12-18  Simon Josefsson  <jas@extundo.com>
77660
77661         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
77662
77663 2004-12-18  Bruno Haible  <bruno@clisp.org>
77664
77665         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
77666
77667 2004-12-18  Bruno Haible  <bruno@clisp.org>
77668
77669         * lib/fatal-signal.c (fatal_signals): Make non-const.
77670         (init_fatal_signals): New function.
77671         (uninstall_handlers, install_handlers): Ignore signals that were set to
77672         SIG_IGN.
77673         (at_fatal_signal): Call init_fatal_signals.
77674         (init_fatal_signal_set): Likewise. Ignore signals that were set to
77675         SIG_IGN.
77676         Reported by Paul Eggert.
77677
77678 2004-12-18  Bruno Haible  <bruno@clisp.org>
77679
77680         * doc/alloca.texi: New file.
77681         * doc/alloca-opt.texi: New file.
77682
77683 2004-12-17  Jim Meyering  <jim@meyering.net>
77684
77685         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
77686         Otherwise, install-sh could exit with improper exit status when
77687         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
77688
77689 2004-12-16  Simon Josefsson  <jas@extundo.com>
77690
77691         * tests/test-base64.c: Add license.
77692
77693 2004-12-15  Stepan Kasal  <address@hidden>
77694
77695         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
77696
77697 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
77698
77699         * modules/getcwd (Files): Add m4/d-ino.m4.
77700         Suggested by Mark D. Baushke.
77701
77702 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
77703
77704         * lib/getdate.y (textint): New member "negative".
77705         (time_zone_hhmm): New function.
77706         Expect 14 shift-reduce conflicts, not 13.
77707         (o_colon_minutes): New rule.
77708         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
77709         (yylex): Set the "negative" member of signed numbers.
77710
77711 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
77712
77713         * doc/getdate.texi (Time of day items, Time zone items):
77714         Describe new formats +00:00, UTC+00:00.
77715
77716 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77717
77718         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
77719         spurious "-l"s.  Problem reported by Stepan Kasal.
77720
77721 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
77722
77723         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
77724         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
77725
77726 2004-12-04  Simon Josefsson  <jas@extundo.com>
77727
77728         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
77729         Vandoorselaere <yoann@prelude-ids.org>.
77730
77731 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77732
77733         Changes imported from coreutils.
77734         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
77735         exist.
77736         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
77737
77738 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77739
77740         Changes imported from coreutils.
77741         * lib/hard-locale.c: Assume <locale.h> exists.
77742         Include "strdup.h".
77743         (GLIBC_VERSION): New macro.
77744         (hard_locale): Assume setlocale exists.
77745         Rewrite to avoid #ifdef.
77746         Use strdup rather than malloc + strcpy.
77747         * lib/human.c: Assume <locale.h> exists.
77748         (human_readable): Assume localeconv exists.
77749
77750 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77751
77752         * modules/hard-locale (Depends-on): Add strdup.
77753
77754 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
77755
77756         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
77757         convert T2, not T.  (Imported from libc.)
77758
77759 2004-11-30  Simon Josefsson  <jas@extundo.com>
77760
77761         * modules/restrict (License): Change to LGPL.
77762
77763 2004-11-30  Simon Josefsson  <jas@extundo.com>
77764
77765         * m4/restrict.m4: Add copyright and copying conditions.
77766
77767 2004-11-30  Simon Josefsson  <jas@extundo.com>
77768
77769         * m4/base64.m4: New file.
77770
77771 2004-11-30  Simon Josefsson  <jas@extundo.com>
77772
77773         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
77774         base64.
77775
77776         * tests/test-base64.c: New file.
77777
77778         * modules/base64: New file.
77779
77780 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
77781
77782         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
77783         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
77784
77785         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
77786
77787 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
77788
77789         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
77790         (__getcwd.c): Don't restore errno; glibc doesn't.
77791         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
77792         first, falling back to our code only if its results look suspicious.
77793         Ensure that the resulting buffer is only as large as necessary.
77794
77795         * lib/readutmp.c: Include readutmp.h first.
77796         Include <errno.h>, since readutmp.h no longer does that.
77797         * lib/readutmp.h: Don't include <errno.h>,
77798         <sys/param.h>, <time.h>; not needed to establish interface.
77799         (errno): Remove decl.
77800         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
77801         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
77802         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
77803
77804 2004-11-28  Simon Josefsson  <jas@extundo.com>
77805
77806         * lib/base64.h, base64.c: New file.
77807
77808 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
77809
77810         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
77811
77812 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
77813
77814         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
77815         (Depends-on): Remove pathmax, same.  Add mempcpy.
77816         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
77817         (Makefile.am): Append getcwd.h to lib_SOURCES.
77818         (Include): Add getcwd.h.
77819         (Maintainer): Change from Jim Meyering to "all, glibc",
77820         since getdate now uses intended-for-glibc code.
77821         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
77822         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
77823
77824 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77825
77826         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
77827         HP's ANSI C compiler.
77828         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
77829         Declaring int functions causes warnings on some modern systems and
77830         shouldn't be needed to compile on ancient ones.
77831         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
77832         defined.
77833
77834         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
77835         with the following changes.
77836         (__set_errno): Parenthesize properly.
77837         Include <stdbool.h>.
77838         (MIN, MAX, MATCHING_INO): New macros.
77839         (__getcwd): Define with prototype, not K&R form.
77840         Use heuristics to allocate default buffer on stack if possible.
77841         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
77842         behavior, and to avoid the PATH_MAX limit when computing
77843         ../../../../...
77844         Use MATCHING_INO to compare inode number to file.
77845         Check for arithmetic overflow in size calculations.
77846         Fix bug in reallocation of dot array that caused getcwd to fail
77847         on directories nested deeper than 75.
77848         Be more careful about saving errno on error.
77849         Do not use realloc; use only free+malloc, as this is a bit
77850         more flexible and avoids a needless copy operation.
77851         Do not inspect st_dev and st_ino for symbolic links; POSIX
77852         doesn't specify the latter.
77853         Check for closedir errors.
77854         Avoid needless casts.
77855         Use "#ifdef weak_alias" around weak_alias, to be like other
77856         glibc code.
77857         The following changes to getcwd.c have effect only when used in
77858         gnulib; they have no effect inside glibc proper.
77859         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
77860         as alloca isn't used.
77861         (alloca, __alloca): Likewise.
77862         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
77863         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
77864         unconditionally, as gnulib assumes C89 or better.
77865         Do not include <sys/param.h>.
77866         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
77867         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
77868         better.
77869         (NULL) [!defined NULL]: Remove; we assume C89 or better.
77870         Include <dirent.h> in a way that is compatible with modern Autoconf.
77871         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
77872         New macros, if not already defined.
77873         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
77874         Use "_LIBC", not "defined _LIBC", for consistency.
77875         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
77876         a mempcpy module.
77877         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
77878         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
77879         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
77880         credit only to Jim Meyering and adjust the copyright dates.
77881         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
77882         <stdlib.h>, <unistd.h>, "pathmax.h".
77883         Instead, include "xgetcwd.h" (first) and "getcwd.h".
77884         (INITIAL_BUFFER_SIZE): Remove.
77885         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
77886
77887 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77888
77889         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
77890         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
77891         Use the _ONCE methods, for efficiency.
77892         Check for fcntl.h.  In test program, include <errno.h>
77893         and <fcntl.h> if available.  Remove old K&R cruft from
77894         test program.  Check for common errors in GNU/Linux,
77895         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
77896         don't do AC_LIBOBJ, as that's getcwd.m4's job.
77897         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
77898         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
77899         name accordingly.
77900         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
77901         accommodate new getcwd.c.
77902         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
77903         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
77904         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
77905         that's all we need now.
77906
77907 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77908
77909         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
77910         argp-parse.c depends on getopt internals, that means we should
77911         always use our getopt, to be on the safe side.
77912         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
77913         order not to spoil the result of an eventual previous invocation
77914         of gl_GETOPT_SUBSTITUTE.
77915
77916 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77917
77918         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
77919         redefinition warnings. To avoid them, include the defines
77920         in `#if !defined __need_getopt ... #endif'. The only place
77921         where __getopt_argv_const is used is in definitions
77922         of getopt_long and getopt_long_only below, which are as well
77923         protected by `#ifndef __need_getopt'.
77924         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
77925         __need_getopt after including <stdio.h> and <unistd.h> These
77926         headers might have defined it.
77927
77928 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
77929
77930         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
77931
77932 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
77933
77934         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
77935         (futimens): New function, which uses futimes if available.
77936         (futimens, utimens): Support timespec==NULL, with same semantics
77937         as utime and utimens.
77938         * lib/utimens.h (futimens): New decl.
77939
77940 2004-11-23  Jim Meyering  <jim@meyering.net>
77941
77942         * lib/getopt_.h: Remove trailing blanks.
77943
77944 2004-11-23  Jim Meyering  <jim@meyering.net>
77945
77946         * lib/__fpending.c: Add comment.
77947
77948 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
77949
77950         * modules/canonicalize (Depends-on): Add xreadlink.
77951         Problem reported by James Youngman.
77952
77953 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
77954
77955         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
77956         New macros.
77957         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
77958         optopt): Use them instead of invoking ## directly; otherwise, the
77959         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
77960
77961 2004-11-19  Bruno Haible  <bruno@clisp.org>
77962
77963         * lib/strtok_r.c: Move comments from here...
77964         * lib/strtok_r.h: ... to here.
77965
77966 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
77967
77968         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
77969         implementations that mishandle size_t overflow.
77970
77971 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
77972
77973         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
77974         might fail.  Problem reported by Yoann Vandoorselaere.
77975         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
77976         implementations that mishandle size_t overflow.
77977
77978 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
77979
77980         * modules/canon-host (Depends-on): Add strdup.
77981
77982 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
77983
77984         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
77985
77986 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
77987
77988         * lib/canon-host.c: Include "strdup.h".
77989         (canon_host): Use getaddrinfo if available, so that IPv6 works.
77990         Use strdup instead of malloc/strcpy to duplicate strings.
77991
77992         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
77993         (human_space_before_unit): New constant.
77994         * lib/human.c (human_readable): Support it.
77995
77996         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
77997         (xgetcwd): Set errno correctly when failing.
77998         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
77999         the failure is actually due to a PATH_MAX problem.
78000
78001         Further getopt changes to make it more likely that glibc will
78002         buy the changes back.
78003         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78004         (getopt): Use it, so to preserve glibc semantic
78005         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78006         when compiling for libc.
78007         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78008         (getopt_long, getopt_long_only): Use it.
78009
78010         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78011         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78012         (getopt): Argv is now char * const *, as per standard.
78013         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78014         not char *__getopt_argv_const *.
78015         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78016         _getopt_long_only_r): Likewise.
78017         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78018         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78019         _getopt_long_r, _getopt_long_only_r): Likewise.
78020         * lib/getopt_.h (__getopt_argv_const): Remove.
78021         (getopt): Argv is now char * const *, as per standard.
78022
78023         * lib/getdate.y (tORDINAL): New token.
78024         (day, relunit): Allow it for relative times.
78025         (relative_time_table): Use tORDINAL for ordinals.
78026
78027 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78028
78029         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78030         Document that "second" isn't allowed as an ordinal number.
78031
78032 2004-11-16  Jim Meyering  <jim@meyering.net>
78033
78034         * modules/closeout (Depends-on): Add fpending.
78035
78036 2004-11-15  Jim Meyering  <jim@meyering.net>
78037
78038         * lib/closeout.c: Include "__fpending.h" once again.
78039         Include <stdbool.h>.
78040         (close_stdout): Don't fail just because stdout was closed initially,
78041         since some programs don't write to stdout in the normal course of
78042         operation (other than --version and --help), and we don't want this
78043         function to make e.g. `touch file >&-' fail.
78044         But do fail if it was closed and someone has tried to write to it.
78045         E.g., `printf foo >&-' must fail.
78046
78047 2004-11-13  Jim Meyering  <jim@meyering.net>
78048
78049         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78050
78051 2004-11-12  Simon Josefsson  <jas@extundo.com>
78052
78053         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78054         small doc fix is still pending.
78055
78056 2004-11-11  Simon Josefsson  <jas@extundo.com>
78057
78058         * modules/strtok_r: New file.
78059
78060         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78061         strtok_r.
78062
78063 2004-11-11  Simon Josefsson  <jas@extundo.com>
78064
78065         * m4/strtok_r.m4: New file.
78066
78067         * m4/getopt.m4: Replace opterr.
78068
78069 2004-11-11  Simon Josefsson  <jas@extundo.com>
78070
78071         * lib/strtok_r.h, strtok_r.c: New file.
78072
78073 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78074
78075         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78076         of replacing opterr, getopt, etc.  This should handle the
78077         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78078
78079 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78080
78081         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78082         we can stop lying to compilers about the constness of argv when we
78083         are compiled outside glibc.
78084         (getopt, getopt_long, getopt_long_only): Use it.
78085         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78086         _getopt_internal, getopt): Likewise.
78087         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78088         _getopt_long_only_r): Likewise.
78089         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78090         _getopt_long_r, _getopt_long_only_r): Likewise.
78091
78092         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78093         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78094         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78095         the other external symbols.
78096         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78097         declaration, since the above renaming now works around collisions.
78098
78099 2004-11-11  Jim Meyering  <jim@meyering.net>
78100
78101         * lib/linebreak.c: Remove trailing blanks.
78102         * lib/alloca_.h: Likewise.
78103         * lib/acosl.c: Likewise.
78104         * lib/euidaccess.c: Likewise.
78105         * lib/allocsa.h: Likewise.
78106
78107 2004-11-10  Simon Josefsson  <jas@extundo.com>
78108
78109         * m4/getaddrinfo.m4: New file.
78110
78111 2004-11-10  Simon Josefsson  <jas@extundo.com>
78112
78113         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78114
78115 2004-11-10  Simon Josefsson  <jas@extundo.com>
78116
78117         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78118         getaddrinfo.
78119
78120         * modules/getaddrinfo: New file.
78121
78122 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78123
78124         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78125
78126 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78127
78128         * lib/mktime.c (SHR): New macro, which is a portable
78129         substitute for >> that should work even on Crays.
78130         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78131         Problem reported by Mark D. Baushke in
78132         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78133         * lib/getdate.y (SHR): Likewise.
78134         (tm_diff): Use it.
78135         * lib/strftime.c (SHR): Likewise.
78136         (tm_diff): Use it.
78137         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78138         quote_these_too, so that right shifts are well defined.  All uses
78139         changed.
78140
78141 2004-11-10  Jim Meyering  <jim@meyering.net>
78142
78143         Ensure that no close failure goes unreported.
78144         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78145         return early when it seems there's nothing to flush.
78146         Don't include __fpending.h.
78147
78148 2004-11-10  Jim Meyering  <jim@meyering.net>
78149
78150         * modules/closeout (Depends-on): Remove fpending.
78151
78152 2004-11-10  Jim Meyering  <jim@meyering.net>
78153
78154         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78155
78156 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78157
78158         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78159         gl_FUNC_STRFTIME.
78160         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78161         and AC_REQUIRE when possible, to avoid duplicate checks.
78162         Check for <wchar.h>.
78163
78164 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78165
78166         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78167
78168 2004-11-09  Bruno Haible  <bruno@clisp.org>
78169
78170         * m4/sockpfaf.m4: New file.
78171
78172 2004-11-05  Bruno Haible  <bruno@clisp.org>
78173
78174         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78175         Reported by Mark D. Baushke <mdb@cvshome.org>.
78176
78177 2004-11-04  Bruno Haible  <bruno@clisp.org>
78178
78179         2004-09-11  Bruno Haible  <bruno@clisp.org>
78180                 * allocsa.valgrind: New file.
78181         2004-02-06  Bruno Haible  <bruno@clisp.org>
78182                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78183                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78184                 Reported by Christopher Seip <chris.seip@hp.com>.
78185
78186 2004-11-04  Bruno Haible  <bruno@clisp.org>
78187
78188         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78189         (Makefile.am): Distribute it.
78190
78191 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78192
78193         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78194         with errno == ERANGE if the buffer is too small.
78195         Problem reported by Mark D. Baushke.
78196
78197 2004-11-03  Albert Chin  <china@thewrittenword.com>
78198             Paul Eggert  <eggert@cs.ucla.edu>
78199
78200         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78201         equivalent, substitute $ac_type for equivalent type rather than
78202         blindly using uint32_t *always* which won't work if uint32_t is not
78203         available.  Define _UINT32_T to work around typedef of uint32_t if
78204         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78205         2.5.1.
78206
78207 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78208
78209         * m4/jm-macros.m4: Sync from coreutils.
78210         (gl_MACROS): Check for mbrlen, for pathchk.
78211         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78212
78213 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78214
78215         * lib/xreadlink.c (MAXSIZE): New macro.
78216         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78217         size does not exceed MAXSIZE.  Avoid cast.
78218         As suggested by Mark D. Baushke in
78219         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78220         if readlink fails with buffer size just under MAXSIZE, try again
78221         with MAXSIZE.
78222
78223 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78224
78225         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78226
78227 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78228         and  Paul Eggert  <eggert@cs.ucla.edu>
78229
78230         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78231         (get_date): Overparenthesize to avoid GCC warning.
78232
78233 2004-11-02  Bruno Haible  <bruno@clisp.org>
78234
78235         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78236         returns void.
78237
78238 2004-11-02  Bruno Haible  <bruno@clisp.org>
78239
78240         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78241         function returns void.
78242
78243 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78244
78245         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78246         fflush_unlocked, flockfile, funlockfile, funlockfile,
78247         fputs_unlocked, putc_unlocked.
78248
78249 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78250
78251         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78252         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78253         already declared.
78254
78255 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78256
78257         * modules/getdate (Files): Add doc/getdate.texi.
78258         (Depends-on): Add setenv, xalloc.
78259
78260 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78261
78262         * lib/getdate.y: Add support for TZ="foo" within a date string.
78263         Fix some bugs near time_t boundaries.  Reject dates with
78264         out-of-range components, e.g., "Sept 31".
78265         Include <stdlib.h>, "setenv.h", "xalloc.h".
78266         (ISDIGIT_LOCALE): Remove; unused.
78267         Note that the TZ and time functions used here are not reentrant.
78268         (mktime_ok, get_tz): New functions.
78269         (TZBUFSIZE): New constant.
78270         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78271         This requires that we sometimes generate our own TZ="XXX..." setting.
78272
78273 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78274
78275         * doc/getdate.texi: New file, from coreutils with modifications for
78276         the new TZ parsing.
78277
78278 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78279
78280         * lib/mktime.c (not_equal_tm): Remove redundant check.
78281
78282 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78283
78284         * modules/regex (lib_SOURCES): Add regex.c.
78285         Reported by James Youngman in
78286         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78287
78288 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78289
78290         * lib/getdate.y: Use Bison 1.875 features, and some minor
78291         code cleanups.  This change does not affect semantics.
78292         Don't include <stdlib.h>; no longer needed.
78293         Don't include unlocked-io.h; only the "#if TEST" code uses
78294         stdio, and performance isn't crucial there.
78295         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78296         Bison 1.875 features as described below.
78297         All uses of "PC." replaced by "pc->".
78298         (YYSTYPE): Add a forward declaration.
78299         (yylex, yyerror): Use full prototypes in forward decls.
78300         Use "%pure-parser" rather than obsolescent "%pure_parser".
78301         Use %parse-param and %lex-param instead of obsolescent
78302         YYPARSE_PARAM and YYLEX_PARAM.
78303         (meridian_table, month_and_day_table, time_units_table,
78304         relative_time_table, time_zone_table, military_table,
78305         lookup_zone, lookup_word, get_date):
78306         Use NULL instead of 0 where appropriate.
78307         (to_hour): Avoid abort (), to avoid a dependency on
78308         stdlib.h.
78309         (yyerror, yylex): Now accepts parser_control * arg.
78310         (main) [TEST]: Use '\0' rather than 0 for char.
78311
78312 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78313
78314         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78315
78316 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78317
78318         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78319         It's now the caller's responsibility to handle the case where
78320         !HAVE_GETPAGESIZE && !defined getpagesize.
78321
78322         * lib/mktime.c (leapyear): Arg is long int, not int.
78323
78324 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78325
78326         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78327
78328 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78329
78330         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78331         missing.  Problem reported by James Youngman.
78332
78333 2004-10-16  Simon Josefsson  <jas@extundo.com>
78334
78335         * gnulib-tool: Fix comments.  Fix parse problem.
78336         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78337
78338 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78339
78340         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78341         implementation of getopt_long.  Problem reported by Alexander Taler in:
78342         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78343
78344 2004-10-15  Bruno Haible  <bruno@clisp.org>
78345
78346         * gnulib-tool: Untabify. Initialize supplied_libname.
78347         (func_usage): More homogenous output.
78348         (func_modules_transitive_closure, func_modules_to_filelist,
78349         func_emit_lib_Makefile_am): New functions.
78350         (func_import): New function, extracted from big case statement. Use
78351         func_get_license, func_modules_transitive_closure,
78352         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78353         opt_lgpl. Don't use test -a, as it's not portable.
78354         (func_create_testdir): Use func_modules_transitive_closure,
78355         func_modules_to_filelist, func_emit_lib_Makefile_am.
78356
78357 2004-10-15  Bruno Haible  <bruno@clisp.org>
78358
78359         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78360
78361 2004-10-15  Bruno Haible  <bruno@clisp.org>
78362
78363         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78364         the portions belonging to each module.
78365         Suggested by Derek Robert Price <derek@ximbiot.com>.
78366
78367 2004-10-12  Simon Josefsson  <jas@extundo.com>
78368
78369         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78370         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78371         to real functions.
78372
78373 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78374
78375         * modules/vsnprintf: New file.
78376
78377 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78378
78379         * m4/vsnprintf.m4: New file.
78380
78381 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78382
78383         * lib/vsnprintf.h: New file.
78384         * lib/vsnprintf.c: New file.
78385
78386 2004-10-11  Bruno Haible  <bruno@clisp.org>
78387
78388         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78389         vsnprintf.
78390
78391 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78392
78393         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78394
78395 2004-10-07  Bruno Haible  <bruno@clisp.org>
78396
78397         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78398         fits into the provided buffer.
78399
78400 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78401
78402         * lib/diacrit.c, diacrit.h: Add GPL notice.
78403
78404         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78405         notice.
78406         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78407         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78408         This avoids a potential constant-folding bug.
78409
78410 2004-10-05  Bruno Haible  <bruno@clisp.org>
78411
78412         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78413         for the declaration of strsep.
78414
78415 2004-10-05  Bruno Haible  <bruno@clisp.org>
78416
78417         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78418
78419 2004-10-04  Simon Josefsson  <jas@extundo.com>
78420
78421         * modules/memmem: New file.
78422         * tests/test-memmem.c: New file.
78423         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78424
78425 2004-10-04  Simon Josefsson  <jas@extundo.com>
78426
78427         * m4/memmem.m4: New file.
78428
78429 2004-10-04  Simon Josefsson  <jas@extundo.com>
78430
78431         * lib/memmem.h: New file.
78432         * lib/memmem.c: New file, taken from glibc.
78433
78434 2004-10-04  Simon Josefsson  <jas@extundo.com>
78435
78436         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78437         '#ifdef USE_UNLOCKED_IO'.
78438
78439 2004-10-04  Simon Josefsson  <jas@extundo.com>
78440
78441         * config/srclist.txt: Add memmem from glibc.
78442
78443 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78444
78445         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78446
78447         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78448         modules/exclude, modules/getdate, modules/getline,
78449         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78450         modules/getusershell, modules/linebuffer, modules/md5,
78451         modules/mountlist, modules/posixtm, modules/readtokens,
78452         modules/readutmp, modules/regex, modules/sha1,
78453         modules/version-etc, modules/yesno:
78454         Remove dependency on unlocked-io.
78455
78456 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78457
78458         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78459
78460         * m4/unlocked-io.m4: Add copyright notice.
78461         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78462
78463 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78464
78465         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78466         * lib/xmalloc.c (xmemdup): Likewise.
78467         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78468         XFREE): Remove these long-obsolescent macros.
78469         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
78470         * lib/xstrdup.c: Remove.
78471
78472         * lib/regex.c (re_comp): Cast gettext return value to char *,
78473         Problem reported by Martin Neitzel via Mark D. Baushke.
78474
78475 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78476
78477         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
78478         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
78479         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
78480         regex.c, sha1.c, version-etc.c, yesno.c:
78481         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
78482         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
78483         the includer's responsibility.
78484
78485         Sync from coreutils.
78486
78487         * lib/modechange.c (mode_compile): Don't decrement a pointer that
78488         points to the start of a string, as the C Standard says the
78489         resulting behavior is undefined.
78490
78491         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
78492         simple -> simple_backups, numbered_existing ->
78493         numbered_existing_backups, numbered -> numbered_backups
78494         to avoid shadowing problems.  All uses changed.
78495         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
78496         * lib/backupfile.c (check_extension, numbered_backup):
78497         Rename locals to avoid shadowing 'basename'.
78498         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
78499         once.
78500
78501         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
78502         * lib/.cvsignore: Add getopt.h.
78503
78504 2004-10-04  Bruno Haible  <bruno@clisp.org>
78505
78506         * modules/README: New file.
78507         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
78508         not a module.
78509
78510 2004-10-02  Jim Meyering  <jim@meyering.net>
78511
78512         * lib/dirfd.h, getpagesize.h: Add copyright notice.
78513
78514 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78515
78516         * modules/strsep: New file.
78517
78518 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78519
78520         * m4/strsep.m4: New file.
78521
78522 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78523
78524         * lib/strsep.h: New file.
78525         * lib/strsep.c: New file.
78526
78527 2004-10-01  Simon Josefsson  <jas@extundo.com>
78528
78529         * lib/snprintf.c (snprintf): Handle size==0.
78530
78531 2004-10-01  Simon Josefsson  <jas@extundo.com>
78532             Bruno Haible  <bruno@clisp.org>
78533
78534         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
78535         (snprintf): Declare 'args'.
78536
78537 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
78538
78539         * lib/snprintf.c: Remove comments as to why each header is needed.
78540
78541 2004-10-01  Bruno Haible  <bruno@clisp.org>
78542
78543         * MODULES.html.sh: Add strsep.
78544
78545 2004-09-30  Simon Josefsson  <jas@extundo.com>
78546
78547         * modules/snprintf: New file.
78548
78549 2004-09-30  Simon Josefsson  <jas@extundo.com>
78550
78551         * m4/snprintf.m4: New file.
78552
78553 2004-09-30  Simon Josefsson  <jas@extundo.com>
78554
78555         * lib/snprintf.h, lib/snprintf.c: New files.
78556
78557 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78558
78559         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
78560         (hol_entry_help): Never translate an empty string.
78561         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
78562         * lib/argp.h (OPTION_NO_TRANS): New option.
78563
78564 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78565
78566         * modules/argp (Maintainer): Replace Simon Josefsson
78567         by Sergey Poznyakoff.
78568
78569 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78570
78571         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
78572         changes merged back into glibc.
78573
78574 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
78577
78578 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78579
78580         * lib/xvasprintf.c: Include xalloc.h.
78581         (xvasprintf): Use xalloc_die, not xmalloc_die.
78582
78583 2004-09-29  Bruno Haible  <bruno@clisp.org>
78584
78585         * modules/alloca-opt: New file, derived from modules/alloca.
78586         * modules/allocsa: Depend on alloca-opt instead of alloca.
78587         * modules/setenv: Likewise.
78588         * modules/vasnprintf: Likewise.
78589         * MODULES.html.sh: Add alloca-opt.
78590
78591 2004-09-28  Simon Josefsson  <jas@extundo.com>
78592
78593         * gnulib-tool: New parameter --lgpl, to asseert that modules are
78594         LGPL, and to replace license template from GPL to LGPL.
78595
78596 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78597
78598         * modules/dummy: Change license to LGPL.
78599
78600 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78601
78602         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
78603
78604 2004-09-24  Simon Josefsson  <jas@extundo.com>
78605
78606         * modules/minmax (License): Change from GPL to LGPL.
78607
78608 2004-09-23  Simon Josefsson  <jas@extundo.com>
78609
78610         * gnulib-tool (--import): Typo.
78611
78612 2004-09-23  Simon Josefsson  <jas@extundo.com>
78613
78614         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
78615
78616 2004-09-22  Bruno Haible  <bruno@clisp.org>
78617
78618         * modules/*: Add 'License' field.
78619         * gnulib-tool: Accept --extract-license option.
78620         (func_get_license): New function.
78621
78622 2004-09-21  Bruno Haible  <bruno@clisp.org>
78623
78624         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
78625         Reported by Simon Josefsson.
78626
78627 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78628
78629         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
78630         gl_AC_TYPE_LONG_LONG.
78631
78632 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78633
78634         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
78635
78636 2004-09-18  Simon Josefsson  <jas@extundo.com>
78637         and  Paul Eggert  <eggert@cs.ucla.edu>
78638
78639         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
78640         calls with autoreconf.  Define GL_LIB.
78641
78642 2004-09-14  Karl Berry  <karl@gnu.org>
78643
78644         * config/srclist.txt: unsync setenv.c, sigh.
78645
78646 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78647
78648         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
78649         Problem reported by Bruno Haible in:
78650         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
78651
78652 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78653
78654         * config/srclist.txt: Comment out argp-pvh.c.
78655
78656 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
78657
78658         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
78659         in case some system header has #define'd it.  Problem reported by
78660         Soeren D. Schulze in
78661         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
78662
78663 2004-09-09  Karl Berry  <karl@gnu.org>
78664
78665         * regex.[ch]: delete from the root.  These were supposed to be
78666                 synced with emacs cvs, but this has not happened for about
78667                 a year, and anyway nothing else uses emacs regex.[ch].
78668                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
78669                 lib/regex[.ch] is untouched.
78670
78671 2004-09-09  Bruno Haible  <bruno@clisp.org>
78672
78673         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
78674
78675 2004-09-09  Bruno Haible  <bruno@clisp.org>
78676
78677         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
78678         modifications.
78679         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
78680
78681 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78682
78683         * modules/xvasprintf: New file.
78684         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
78685
78686 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78687
78688         * lib/xvasprintf.h: New file.
78689         * lib/xvasprintf.c: New file.
78690         * lib/xasprintf.c: New file.
78691
78692 2004-09-08  Bruno Haible  <bruno@clisp.org>
78693
78694         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
78695
78696 2004-09-08  Bruno Haible  <bruno@clisp.org>
78697
78698         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
78699         length is > INT_MAX.
78700         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
78701         more.
78702
78703 2004-09-08  Bruno Haible  <bruno@clisp.org>
78704
78705         * lib/stdint_.h: New file, taken from GNU clisp.
78706
78707 2004-09-08  Bruno Haible  <bruno@clisp.org>
78708             Oskar Liljeblad  <oskar@osk.mine.nu>
78709
78710         * modules/stdint: New file.
78711         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
78712
78713 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78714
78715         Import from coreutils.
78716         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
78717         strings on unbounded length.  alloca's performance benefits aren't
78718         that important here.
78719         (V_STRDUP): Remove.
78720         (parse_with_separator): New function, with most of the internals
78721         of the old parse_user_spec.  Allow user to omit both user and group,
78722         for compatibility with FreeBSD.
78723         Clone only the user name, not the entire spec.
78724         Do not set *uid, *gid unless entirely successful.
78725         Avoid memory leak in some failing cases.
78726         Fix regression for USER.GROUP reported by Dmitry V. Levin in
78727         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
78728         (parse_user_spec): Rewrite to use parse_with_separator.
78729
78730 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78731
78732         * modules/userspec: Don't depend on alloca.
78733
78734 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78735
78736         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
78737
78738 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78739
78740         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
78741         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
78742         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
78743
78744 2004-08-16  Simon Josefsson  <jas@extundo.com>
78745
78746         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
78747         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
78748         Add --dry-run for --import.
78749         Let user provided command line parameters override configure.ac
78750         settings.
78751
78752 2004-08-12  Simon Josefsson  <jas@extundo.com>
78753
78754         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
78755         as discussed with Paul Eggert in threads rooted at
78756         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
78757         and
78758         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
78759         Before, the test was empty, and relied on ELIDE_CODE in source
78760         code.)
78761         (gl_PREREQ_GETOPT): New macro.
78762         (gl_GETOPT): Use them.
78763
78764 2004-08-12  Simon Josefsson  <jas@extundo.com>
78765
78766         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
78767         * lib/getopt_.h: Renamed from getopt.h.
78768
78769 2004-08-12  Simon Josefsson  <jas@extundo.com>
78770
78771         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
78772         Change default library name from libfoo to libgnu.
78773         Now, if you have a configure.ac that says:
78774                 gl_SOURCE_BASE(gl)
78775                 gl_M4_BASE(gl/m4)
78776                 gl_MODULES(error getopt etcetera)
78777                 gl_INIT
78778         you can import all you need by running:
78779                 ../gnulib/gnulib-tool --import
78780
78781         * modules/getopt (Files): Rename getopt.h to getopt_.h.
78782         (Makefile.am): Rewrite, use logic from argz.
78783         (Include): Use <getopt.h> instead of "getopt.h".
78784
78785 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78786
78787         * modules/argp (Files): Add m4/unlocked-io.m4.
78788         (Depends-on): Add extensions.
78789
78790 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78791
78792         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
78793         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
78794         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
78795         Check for program_invocation_name, program_invocation_short_name,
78796         flockfile, funlockfile, features.h, _getopt_long_only_r.
78797
78798 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78799
78800         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
78801         its complicated substitute.
78802         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
78803         and program_invocation_name.
78804         (__argp_basename) [!_LIBC]: Remove; the only use was
78805         replaced by its body.
78806         (__argp_short_program_name): Change condition from
78807         !defined __argp_short_program_name to
78808         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
78809         to match argp-namefrob.h.
78810         (__argp_failure): Don't assume strerror_r returns char *.
78811         * lib/argp-parse.c (N_): Define unconditionally.
78812         (argp_default_options): Fill out initializers with 0 to avoid
78813         gcc warnings.
78814
78815 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78816
78817         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
78818         getopt1.c.
78819
78820 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78821
78822         Merge from coreutils.
78823
78824         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
78825
78826         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
78827         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
78828
78829 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78830
78831         Merge from coreutils.
78832
78833         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
78834         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
78835         for Reliant Unix 5.43.
78836
78837         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
78838         (union fooround): Use uintmax_t, not long int.
78839         The rest is a merge from libc:
78840         [defined _LIBC]: Include <shlib-compat.h>.
78841         (_obstack) [defined _LIBC]: Remove after 2.3.4.
78842
78843         * lib/settime.c (settime): Recode to avoid warning with
78844         Sun Forte C 6U2.
78845
78846         * lib/strverscmp.c: Convert to UTF-8.
78847
78848 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78849
78850         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
78851         m4/uintmax_t.m4.
78852
78853 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78854
78855         * modules/xalloc-die: New file.
78856         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
78857
78858         * modules/md5 (Files): Add m4/uint32_t.m4.
78859         * modules/sha1: Renamed from modules/sha.
78860         (Files):
78861         Rename lib/sha.h to lib/sha1.h.
78862         Rename lib/sha.c to lib/sha1.c.
78863         Rename m4/sha.m4 to m4/sha1.m4.
78864         (lib_SOURCES): Likewise.
78865         (configure.ac): Rename gl_SHA to gl_SHA1.
78866         (Include): sha.h -> sha1.h.
78867
78868 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78869
78870         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
78871         * m4/sha1.m4: Renamed from sha.m4.
78872         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
78873
78874 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78875
78876         * lib/obstack.h (obstack_empty_p):
78877         Don't assume that chunk->contents is suitably aligned.
78878         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
78879         Likewise. Problem reported by Benno in
78880         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
78881
78882         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
78883         readable.  This could be improved further but it'd take some work.
78884
78885 2004-08-08  Simon Josefsson  <jas@extundo.com>
78886
78887         * modules/xgethostname (Depends-on): Remove exit and error (not
78888         used).
78889
78890         * modules/getpass-gnu: Add getpass.h.
78891         (Depends-on): Add stdbool.
78892         * modules/getpass: Add getpass.h.
78893
78894 2004-08-08  Simon Josefsson  <jas@extundo.com>
78895
78896         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
78897         Check getpass declaration.
78898
78899 2004-08-08  Simon Josefsson  <jas@extundo.com>
78900
78901         * lib/xgethostname.c: Don't include error.h (not used).
78902
78903         * lib/getpass.h: Add.
78904         * lib/getpass.c: Include getpass.h first.
78905
78906 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
78907
78908         * lib/xalloc-die.c: New file.
78909         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
78910         All uses removed.
78911         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
78912         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
78913         xalloc-die.c.
78914         (_, N_, xalloc_die): Move to xalloc-die.c.
78915         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
78916         so that we needn't mess with xalloc_msg_memory_exhausted.
78917
78918         * lib/sha1.h: Renamed from sha.h.
78919         (SHA1_H): Renamed from _SHA_H.
78920         (sha1_ctx): Renamed from sha_ctx.
78921         (sha1_init_ctx): Renamed from sha_init_ctx.
78922         (sha1_process_block): Renamed from sha_process_block.
78923         (sha1_process_bytes): Renamed from sha_process_bytes.
78924         (sha1_finish_ctx): Renamed from sha_finish_ctx.
78925         (sha1_read_ctx): Renamed from sha_read_ctx.
78926         (sha1_stream): Renamed from sha_stream.
78927         (sha1_buffer): Renamed from sha_buffer.
78928         * lib/sha1.c: Likewise; renamed from sha.c.
78929         Do not include <sys/types.h>.
78930         Include <stddef.h> rather than <stdlib.h>.
78931
78932 2004-08-08  Bruno Haible  <bruno@clisp.org>
78933
78934         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
78935         FILESYSTEM_PREFIX_LEN.
78936         * lib/progreloc.c: Likewise.
78937         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
78938
78939 2004-08-06  Simon Josefsson  <jas@extundo.com>
78940
78941         * modules/progname (Depends-on): Don't depend on stdbool.
78942
78943 2004-08-06  Simon Josefsson  <jas@extundo.com>
78944
78945         * modules/getsubopt: New file.
78946         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78947         getsubopt.
78948
78949 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
78950
78951         More merge from coreutils.
78952
78953         * m4/utimens.m4, m4/utimecmp.m4: New files.
78954         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
78955         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
78956         prereq.m4, sha.m4: Import changes from coreutils.
78957
78958 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
78959
78960         More merge from coreutils.
78961         * modules/raise, modules/readtokens0, modules/utimens:
78962         * modules/utimecmp, module/xnanosleep: New files.
78963         * modules/strftime: Add lib/strftime.h.
78964         Change include from <time.h> to "strftime.h".
78965         * modules/yesno: Add lib/yesno.h.
78966         * modules/backupfile: Remove lib/addext.c.
78967         * modules/euidaccess: Add stat-macros.h.
78968         * modules/canonicalize, modules/euidaccess,
78969         modules/filemode, modules/lchown, modules/makepath,
78970         modules/rmdir, modules/stat: Likewise.
78971
78972 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
78973
78974         Merge from tar.
78975         * lib/argp-help.c (make_hol, hol_append): Don't assume that
78976         SIZE_MAX is a valid preprocessor constant.
78977         (__argp_basename): Change from "#ifndef _LIBC"
78978         to "#ifndef __argp_short_program_name", so that
78979         we don't compile these functions for tar.
78980
78981         More merges from coreutils.
78982         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
78983         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
78984         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
78985         * lib/addext.c: Remove; no longer needed.
78986         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
78987         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
78988         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
78989         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
78990         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
78991         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
78992         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
78993         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
78994         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
78995         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
78996         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
78997         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
78998         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
78999         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79000         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79001         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79002         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79003         Import changes from coreutils.
79004
79005 2004-08-05  Simon Josefsson  <jas@extundo.com>
79006
79007         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79008
79009 2004-08-05  Simon Josefsson  <jas@extundo.com>
79010
79011         * m4/getsubopt.m4: New file.
79012
79013 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79014
79015         Merge from coreutils.
79016
79017         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79018         * m4/getcwd-path-max.m4: New files.
79019
79020         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79021         FILESYSTEM_PREFIX_LEN ->
79022         FILE_SYSTEM_PREFIX_LEN.
79023         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79024         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79025         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79026         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79027
79028         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79029         prerequisite modules now handle the DOS stuff.
79030         Don't check for unistd.h.
79031
79032 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79033
79034         Merge from coreutils.
79035
79036         * lib/.gdb-history: Remove; this doesn't belong here.
79037
79038         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79039         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79040         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79041         * lib/getcwd.c: New files.
79042
79043         * lib/dirname.h: Include <stdbool.h>.
79044         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79045         for consistency with POSIX terminology.  All uses changed.
79046         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79047         (strip_trailing_slashes): Use bool for booleans.
79048         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79049
79050         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79051         sometimes returns a positive errno value even when it succeeds.
79052         (print_errno_message) [!LIBC]: Fall back on strerror if
79053         __strerror_r fails.
79054
79055         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79056         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79057         (longest_relative_suffix): New function.
79058         (path_concat): Use it.  Assume first argument is not NULL.
79059         Port to DOS.  Omit redundant separators.
79060         Report an error instead of returning NULL.
79061         Use mempcpy instead of memcpy.
79062         (xpath_concat): Remove: not declared or used.
79063
79064         * lib/same.h: Include <stdbool.h>
79065         (same_name): Return bool, not int.
79066         * lib/same.c (same_name): Likewise.
79067         (errno): Don't declare; we assume C89 or better now.
79068
79069         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79070         if not already defined.
79071
79072         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79073         * lib/dup-safer.c (errno): Likewise.
79074
79075 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79076
79077         Merge from coreutils.
79078         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79079         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79080         * modules/path-concat: Don't depend on strdup.
79081
79082 2004-08-03  Simon Josefsson  <jas@extundo.com>
79083
79084         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79085         * lib/progname.h: Don't include stdbool.h.
79086
79087 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79088
79089         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79090         * MODULES.html.sh (func_all_modules): Remove fatal.
79091
79092 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79093
79094         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79095
79096 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79097
79098         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79099         working.
79100
79101 2004-08-02  Simon Josefsson  <jas@extundo.com>
79102
79103         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79104         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79105         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79106
79107 2004-08-01  Simon Josefsson  <jas@extundo.com>
79108
79109         * lib/xgetdomainname.c: Include stdlib.h, for free().
79110
79111 2004-07-19  Bruno Haible  <bruno@clisp.org>
79112
79113         * MODULES.html.sh (func_all_modules): Add dummy.
79114
79115 2004-07-16  Simon Josefsson  <jas@extundo.com>
79116
79117         * modules/dummy: New file.
79118
79119 2004-07-16  Simon Josefsson  <jas@extundo.com>
79120
79121         * lib/dummy.c: New file.
79122
79123 2004-07-16  Bruno Haible  <bruno@clisp.org>
79124
79125         * lib/backupfile.h: Add extern "C" for C++.
79126         * lib/closeout.h: Likewise.
79127         * lib/copy-file.h: Likewise.
79128         * lib/findprog.h: Likewise.
79129         * lib/full-write.h: Likewise.
79130         * lib/pathname.h: Likewise.
79131         * lib/progname.h: Likewise.
79132         * lib/stpcpy.h: Likewise.
79133         * lib/stpncpy.h: Likewise.
79134         * lib/strcase.h: Likewise.
79135         * lib/strstr.h: Likewise.
79136         * lib/xalloc.h: Likewise.
79137
79138         * lib/mbswidth.h: Add extern "C" for C++.
79139         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79140
79141 2004-07-13  Robert Millan  <robertmh@gnu.org>
79142
79143         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79144
79145 2004-07-09  Simon Josefsson  <jas@extundo.com>
79146
79147         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79148         failed without this.)
79149
79150 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79151
79152         * modules/chown (Files): Add lib/fchown-stub.c, since
79153         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79154
79155 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79156
79157         * lib/fchown-stub.c: New file.
79158
79159 2004-06-24  Jim Meyering  <jim@meyering.net>
79160
79161         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79162
79163 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79164
79165         * modules/argz: Omit "#include".
79166
79167         * MODULES.html.sh (func_all_modules): Add calloc, to match
79168         2004-06-01 addition of calloc module.
79169
79170 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79171
79172         * m4/argz.m4: New file, which is autoupdated from libtool.
79173
79174 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79175
79176         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79177         libtool.
79178
79179 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79180
79181         * config/srclist-update: Don't insist on "USA." before the
79182         close-comment, as libtool omits the period and puts the */ on a
79183         separate line.
79184         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79185         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79186
79187 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79188
79189         * modules/argz: New file.
79190         * MODULES.html.sh (func_all_modules): Add argz.
79191
79192 2004-06-12  Jim Meyering  <jim@meyering.net>
79193         and  Paul Eggert  <eggert@cs.ucla.edu>
79194
79195         * modules/hash (Files): Add lib/xalloc.h.
79196         * modules/pipe (Depends-on): Add wait-process.
79197         * modules/stat (Depends-on): Add xalloc.
79198         * modules/userspec (Files): Add lib/userspec.h.
79199         * modules/xstrto
79200
79201         Upgrade from gettext-0.13.
79202         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79203         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79204         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79205
79206 2004-06-10  Jim Meyering  <jim@meyering.net>
79207
79208         * lib/calloc.c: New file.
79209
79210 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79211
79212         * lib/getdate.y (yylex): Allow space between sign and number.
79213         Problem reported by Dan Jacobson.
79214
79215 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79216
79217         Merge from coreutils CVS.
79218
79219         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79220         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79221         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79222         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79223         xstrtol.m4: Fix copyright date and/or serial number.
79224
79225         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79226         See if we need an fchown replacement.
79227         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79228         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79229         and use the replacement function if we detect either defect.
79230
79231         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79232         gl_UTIMECMP.
79233
79234 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79235         and  Jim Meyering  <jim@meyering.net>
79236
79237         Merge from coreutils CVS.
79238
79239         * lib/stat-macros.h: New file, with contents from file-type.h
79240         and coreutils' system.h.
79241         * lib/file-type.c: Include "stat-macros.h".
79242         * lib/file-type.h (file_type): Move all macro definitions to new file,
79243         stat-macros.h.
79244
79245         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79246         Wrap old code with this conditional.
79247         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79248         function that does not dereference symlinks.
79249         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79250
79251         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79252         dependency problems.
79253         (xreadlink): Accept new arg SIZE, for efficiency.
79254         All decls and uses changed.
79255         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79256
79257         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79258         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79259
79260         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79261         sysexits.h.
79262
79263 2004-06-01  Jim Meyering  <jim@meyering.net>
79264
79265         * m4/calloc.m4: New file.
79266
79267 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79268
79269         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79270         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79271         Also, fix a typo in a diagnostic.
79272
79273 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79274
79275         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79276         or AC_FUNC_REALLOC.
79277
79278 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79279
79280         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79281         macros to be defined.
79282         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79283         the allocator returns NULL because the requested size is zero.
79284
79285 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79286
79287         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79288         var.  Add comment explaining why libc still defines it.  This
79289         merges the following patch from glibc:
79290         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79291
79292 2004-05-20  Andreas Schwab  <schwab@suse.de>
79293
79294         * m4/free.m4: Replace free if it not known to work, not the other
79295         way round.
79296
79297 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79298
79299         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79300         present in glibc since revision 1.1 of this file.
79301         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79302         obstack_alignment_mask, obstack_alloc, obstack_base,
79303         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79304         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79305         obstack_grow0, obstack_init, obstack_int_grow,
79306         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79307         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79308         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79309         nonexistent functions.
79310
79311 2004-05-18  Karl Berry  <karl@gnu.org>
79312
79313         * config/srclist.txt: break link for vasnprintf.c.
79314
79315 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79316
79317         Port obstack to the AS/400, where pointers are 16 bytes wide and
79318         you cannot cast an integer to a valid pointer.  This patch is
79319         currently waiting to be integrated into glibc; see
79320         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79321
79322         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79323         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79324         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79325         (struct obstack): temp member is now a union of a pointer and
79326         an integer, instead of an integer.  All integer uses changed.
79327         This does not affect the physical layout of struct obstack,
79328         except on hosts (like the AS/400) where the size or alignment of
79329         void * is greater than that of ptrdiff_t.
79330         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79331         __STDC__)]: Store temporary in pointer member of union, not
79332         integer member.
79333         * lib/obstack.c: Include <stddef.h>, for offsetof.
79334         (struct fooalign): Remove; it doesn't need a name.
79335         (union fooround): Change double to long double, and add void *.
79336         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79337         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79338         not a macro.  Hence the values are always int; so remove all
79339         casts-to-int in uses.
79340
79341 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79342
79343         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79344         we can get this patch merged into glibc.
79345
79346 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79347             Paul Eggert  <eggert@cs.ucla.edu>
79348
79349         * m4/argp: Depend on alloca.
79350
79351 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79352             Paul Eggert  <eggert@cs.ucla.edu>
79353
79354         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79355         freecoding.
79356
79357 2004-05-17  Bruno Haible  <bruno@clisp.org>
79358
79359         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79360         precision that consists of a '.' followed by an empty digit string.
79361         Patch by Tor Lillqvist <tml@iki.fi>.
79362
79363 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79364
79365         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79366         for backward compatibility with older code.  We need our own
79367         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79368         it under some other name, and our alloca.h will define it.
79369
79370 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79371             Derek Price  <derek@ximbiot.com>
79372
79373         * lib/alloca.c: Include <alloca.h>, to get our interface.
79374         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79375         include <alloca.h> first.  Use C89 prototype for alloca; this
79376         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79377         Use #elif for simplicity, since we can assume C89 now.
79378         Don't try to source the system alloca.h since it will not be found
79379         and to prevent recursively including its replacement.
79380         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79381         * lib/regex.c: Likewise.
79382
79383 2004-05-16  Derek Price  <derek@ximbiot.com>
79384             Paul Eggert  <eggert@cs.ucla.edu>
79385
79386         getline cleanup.  This changes the getndelim2 API: both order of
79387         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79388         no delimiter).
79389
79390         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79391         interface does that.
79392         (getline): Always use getdelim, so that we don't have two
79393         copies of this code.
79394         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79395         if available.
79396         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79397         (GETNDELIM2_MAXIMUM): New macro.
79398         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79399         instead of the old practice of delim2==0.  All callers changed.
79400         Return -1 on overflow, instead of returning junk.
79401         Do not set *linesize unless allocation succeeds.
79402         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79403         that we include sys/types.h.
79404         * lib/getnline.h: Likewise.
79405         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79406         (getndelim2): Reorder arguments.
79407         * lib/getnline.c (getnline, getndelim):
79408         Don't discard the NMAX argument.
79409         (getnline): Invoke getndelim, to avoid code duplication.
79410         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79411         of (size_t) -1 by callers of the getnline family.
79412
79413 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79414
79415         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79416         Check for gettimeofday.
79417         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79418         Check for settimeofday, stime.
79419
79420 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79421
79422         * lib/nanosleep.c (suspended): Change its type from int to
79423         sig_atomic_t volatile.
79424         (first_call): Make it private to rpl_nanosleep, and have it
79425         be zero initially as that's a bit faster.
79426         (my_usleep): Round up fractional times instead of truncating them,
79427         as this is the usual meaning for 'sleep'.
79428
79429         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79430         doesn't work.
79431         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79432         (ENOSYS): Define if not defined.
79433         (settime): Fall back on stime if it exists and settimeofday fails.
79434         But don't bother with fallbacks if a method fails with errno == EPERM.
79435
79436 2004-05-11  Jim Meyering  <jim@meyering.net>
79437
79438         Prior to this change, the save_cwd caller required read access to the
79439         current directory on most systems (ones with the fchdir function).
79440
79441         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79442         fails, try write-only, and finally, resort to using xgetcwd.
79443
79444 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79445
79446         * lib/obstack.c, obstack.h: Import changes from libc.
79447
79448 2004-04-28  Bruno Haible  <bruno@clisp.org>
79449
79450         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79451         also implicitly appends .exe to executables.
79452         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79453         accepts Windows pathnames.
79454         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79455         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79456         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79457         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79458         Reported by Derek Robert Price <derek@ximbiot.com>.
79459
79460 2004-04-21  Karl Berry  <karl@gnu.org>
79461
79462         * config/srclist.txt (localcharset.c): break sync.
79463
79464 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79465
79466         * m4/host-os.m4: Add a copyright notice.
79467
79468 2004-04-20  Jim Meyering  <jim@meyering.net>
79469
79470         Change UTILS_ to gl_ in AC_DEFINE'd names.
79471         Change utils_- and jm_-prefixed variables, too.
79472         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
79473         UTILS_FUNC_MKDIR_TRAILING_SLASH.
79474         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
79475
79476         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
79477         Don't emit trailing blanks.
79478         Also rename jm_-prefixed variables to have gl_ prefix.
79479
79480         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
79481         Also rename jm_-prefixed variables to have gl_ prefix.
79482
79483         * m4/jm-macros.m4: Reflect the renamings.
79484         * m4/prereq.m4: Likewise.
79485
79486 2004-04-20  Jim Meyering  <jim@meyering.net>
79487
79488         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
79489         memory.
79490
79491 2004-04-20  Jim Meyering  <jim@meyering.net>
79492             Bruno Haible  <bruno@clisp.org>
79493
79494         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
79495         memory when realloc fails.
79496
79497 2004-04-19  Jim Meyering  <jim@meyering.net>
79498
79499         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
79500         now that readutmp.c may call `free (0)'.
79501
79502 2004-04-19  Bruno Haible  <bruno@clisp.org>
79503
79504         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
79505         * m4/inttypes_h.m4: Likewise.
79506         * m4/stdint_h.m4: Likewise.
79507         * m4/intmax_t.m4: Likewise.
79508         * m4/uintmax_t.m4: Likewise.
79509
79510 2004-04-18  Jim Meyering  <jim@meyering.net>
79511
79512         * m4/prereq.m4: Don't forbid jm_ prefix.
79513
79514         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
79515         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
79516         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
79517         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
79518         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
79519         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
79520         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
79521         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
79522         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
79523         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
79524         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
79525         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
79526         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
79527         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
79528         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
79529         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
79530         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
79531         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
79532         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
79533
79534 2004-04-18  Jim Meyering  <jim@meyering.net>
79535
79536         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
79537         failure, don't leak memory and do call END_UTMP_ENT.
79538
79539 2004-04-16  Jim Meyering  <jim@meyering.net>
79540
79541         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
79542         coreutils' stat program.
79543         (gl_PREREQ): Don't require jm_PREREQ_STAT.
79544
79545 2004-04-11  Paul Eggert  <eggert@twinsun.com>
79546
79547         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
79548         C89.
79549         (CHAR_BIT): Remove, since we assume C89.
79550         Include <stdint.h> if available, as per current Autoconf CVS advice.
79551
79552 2004-03-31  Jim Meyering  <jim@meyering.net>
79553
79554         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
79555         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
79556         * m4/xalloc.m4: Likewise.
79557
79558 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79559
79560         Merge from coreutils.
79561
79562         * m4/inttostr.m4: New file.
79563         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
79564         Require AM_STDBOOL_H and gl_TIMESPEC instead.
79565         Require gl_CLOCK_TIME.
79566         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
79567
79568 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79569
79570         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
79571         not bool, to be more consistent with Unix conventions.
79572         Suggested by Bruno Haible.
79573
79574         Merge from coreutils.
79575
79576         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
79577         * lib/umaxtostr.c: New files.
79578
79579         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
79580         the usual <time.h> dance.
79581         (get_date): Change signature to support fractional time stamps.
79582         All callers changed.
79583         * lib/getdate.y: Include "getdate.h" first, as we can now
79584         assume C89 and don't need to worry about 'const'.
79585         Similarly, include "unlocked-io.h" near start, not in middle.
79586         Include <limits.h>.
79587         (textint.value): Use long int rather than int.
79588         (textint.digits): Use size_t rather than int.
79589         (BILLION, LOG10_BILLION): New constants.
79590         (parser_control): New member rel_ns.  Members day_ordinal,
79591         time_zone, month, day, hour, minutes, rel_year, rel_month,
79592         rel_day, rel_hour, rel_minutes, rel_seconds
79593         are now long int, not int.  Member seconds is now struct timespec,
79594         not int.  New member timespec_seen.  Members dates_seen, days_seen,
79595         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
79596         not int.
79597         (%union.intval): Now long int, not int.
79598         New member timespec.
79599         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
79600         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
79601         (spec): Now is a timespec or an item list.
79602         (timespec, items): New nonterminals.
79603         (time, rel, relunit, number, get_date):
79604         Add support for fractional seconds.
79605         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
79606         (gmtime, localtime, mktime): Remove decls; not needed with C89.
79607         (to_hour): First arg is now long int, not int.
79608         (to_year): Returns long int, not int.
79609         Don't treat year -70 like 70.
79610         (tm_diff): Returns long int, not int.
79611         (lookup_word): Use bool instead of int when appropriate.
79612         (yylex): Use size_t for count, not int.
79613         Detect overflow when parsing large integer constants.
79614         Add support for fractions.
79615         (get_date): Make pointers 'const' if possible.
79616         Use more-portable code to detect integer overflow.
79617         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
79618         Don't use ctime; it's not reliable if the year has >4 digits.
79619
79620         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
79621         This is for compatibility with BSD.
79622
79623         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
79624         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
79625         From coreutils' system.h.
79626
79627         * lib/userspec.c: Don't include "posixver.h".
79628         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
79629         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
79630         compatible extension.  Simplify code by removing a boolean int
79631         that was always nonzero if a string was nonnull.
79632
79633 2004-03-30  Jim Meyering  <jim@meyering.net>
79634
79635         Merge from coreutils.
79636
79637         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
79638         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
79639         on some systems one must include <grp.h> before it.
79640         Reported by Christian Krackowizer.
79641
79642 2004-03-30  Jim Meyering  <jim@meyering.net>
79643
79644         Merge from coreutils.
79645
79646         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
79647
79648         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
79649         an empty input stream.
79650
79651         * lib/readtokens.c: Include <stdbool.h>.
79652         (readtoken): Use `size_t' rather than int/long.
79653         All callers adjusted.
79654         Use `bool' rather than `int' where appropriate.
79655         Use memset rather than an explicit loop.
79656         Use x2nrealloc rather than xrealloc.
79657         Allow the use of `\0' as a delimiter.
79658         (readtokens): Likewise.
79659         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
79660
79661 2004-03-30  Jim Meyering  <jim@meyering.net>
79662
79663         * m4/realloc.m4: Remove file, since now it does no more than
79664         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
79665         the `configure.ac' section of module/realloc.
79666         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
79667
79668 2004-03-30  Bruno Haible  <bruno@clisp.org>
79669
79670         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
79671         nonnull.
79672
79673 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79674
79675         Merge changes to getloadavg.c from coreutils and Emacs.
79676
79677         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
79678         Define to an expression, not to the empty string.
79679         Include cloexec.h and xalloc.h.
79680         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
79681         Use set_cloexec_flag rather than rolling our own.
79682         * lib/cloexec.c, lib/cloexec.h: New files.
79683
79684 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79685
79686         * m4/cloexec.m4: New file.
79687
79688 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79689
79690         * lib/getopt.h: Sync with libc CVS.
79691
79692 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79693             Bruno Haible  <bruno@clisp.org>
79694
79695         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
79696         mbswidth.
79697
79698 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79699             Bruno Haible  <bruno@clisp.org>
79700
79701         * lib/mbswidth.h: Include <wchar.h> only if
79702         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
79703         <wchar.h>.
79704         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
79705
79706 2004-03-09  Paul Eggert  <eggert@twinsun.com>
79707
79708         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
79709         Sync with libc CVS.
79710         * lib/getopt_int.h: New file, also synced from libc.
79711
79712 2004-03-09  Paul Eggert  <eggert@twinsun.com>
79713
79714         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
79715         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
79716         Bring back getopt.c, getopt.h, getopt1.c.
79717
79718 2004-03-07  Paul Eggert  <eggert@twinsun.com>
79719
79720         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
79721         All uses changed.  Check for sa_sigaction member; this fixes
79722         a bug first reported by Jason Andrade in
79723         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
79724
79725 2004-03-07  Paul Eggert  <eggert@twinsun.com>
79726
79727         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
79728         '#if' expressions.  Unlike the code it replaces, it does not
79729         depend on (defined _SC_PAGESIZE).  However, it does depend on
79730         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
79731         first reported by Jason Andrade in
79732         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
79733
79734 2004-02-25  Simon Josefsson  <jas@extundo.com>
79735
79736         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
79737
79738 2004-02-25  Simon Josefsson  <jas@extundo.com>
79739
79740         * lib/strdup.h: New file.
79741         * lib/strdup.c: Include it.
79742         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
79743         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
79744
79745 2004-02-23  Karl Berry  <karl@gnu.org>
79746
79747         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
79748         (from fencepost.gnu.org:/gd/gnuorg).
79749
79750 2004-02-23  Karl Berry  <karl@gnu.org>
79751
79752         * config/srclistvars.sh (GNUORG) [karl]: redefine.
79753         * config/srclist.txt: add maintain/standards documents.
79754
79755 2004-02-18  Bruno Haible  <bruno@clisp.org>
79756
79757         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
79758         Reported by Derek Robert Price <derek@ximbiot.com>.
79759
79760 2004-02-16  Karl Berry  <karl@gnu.org>
79761
79762         * config/mkinstalldirs, install-sh: update from automake.
79763
79764 2004-02-06  Karl Berry  <karl@gnu.org>
79765
79766         * m4/po.m4: update from gettext 0.14.1.
79767
79768 2004-02-06  Karl Berry  <karl@gnu.org>
79769
79770         * lib/config.charset: update from gettext 0.14.1.
79771
79772 2004-02-05  Paul Eggert  <eggert@twinsun.com>
79773
79774         Add comments and code, prompted by suggestions from Bruno Haible
79775         for sh-quote.
79776         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
79777         describing the enum quoting_style values.
79778         * lib/quotearg.c (quotearg_alloc): New function.
79779         (quotearg_buffer_restyled): Treat lone { and } as special.
79780         Treat = as special.  Work around bug with older shells
79781         that "see" a '\' that is really the 2nd byte of a multibyte char.
79782         Quote empty string with shell_quoting_style.
79783
79784 2004-02-03  Bruno Haible  <bruno@clisp.org>
79785
79786         * m4/pipe.m4: New file, from GNU gettext.
79787
79788 2004-02-03  Bruno Haible  <bruno@clisp.org>
79789
79790         * lib/pipe.h: New file, from GNU gettext.
79791         * lib/pipe.c: New file, from GNU gettext.
79792
79793 2004-01-27  Bruno Haible  <bruno@clisp.org>
79794
79795         * m4/execute.m4: New file, from GNU gettext.
79796
79797 2004-01-27  Bruno Haible  <bruno@clisp.org>
79798
79799         * lib/execute.h: New file, from GNU gettext.
79800         * lib/execute.c: New file, from GNU gettext.
79801         * lib/w32spawn.h: New file, from GNU gettext.
79802
79803 2004-01-24  Paul Eggert  <eggert@twinsun.com>
79804
79805         Merge from diffutils.
79806
79807         * lib/file-type.c (file_type): Add typed memory objects.
79808         * lib/file-type.h (S_TYPEISTMO): New macro.
79809
79810         * lib/c-stack.h (c_stack_action): Remove argv argument.
79811         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
79812         (die): Don't calculate message unless segv_action returns.
79813         (get_stack_location, min_address_from_argv, max_address_from_argv,
79814         volatile stack_base, volatile_stack_size): Remove.
79815         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
79816         that every segmentation violation is a stack overflow.  (Ouch!)
79817         See Debian bug 136249 (still outstanding) for more info about why
79818         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
79819
79820 2004-01-24  Paul Eggert  <eggert@twinsun.com>
79821
79822         Exit-status fix from coreutils.
79823
79824         Use exit_failure consistently in place of EXIT_FAILURE,
79825         so that program exit statuses are consistent on failure.
79826
79827         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
79828         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
79829         * lib/argmatch.h: Comment fix to match the above.
79830         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
79831         Now a macro referring to exit_failure, instead of a separate
79832         variable.  Include "exitfail.h" to get it.
79833         * lib/xstrtol.h: Include "exitfail.h".
79834         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
79835
79836         * lib/long-options.c (parse_long_options): Use prototype
79837         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
79838         for clarity.
79839
79840 2004-01-21  Jim Meyering  <jim@meyering.net>
79841
79842         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
79843         so as not to conflict with a different-sized __mktime_internal
79844         function in GNU libc.
79845         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
79846         Problem building statically-linked `ls' reported by Michael Brunnbauer.
79847
79848 2004-01-20  Karl Berry  <karl@gnu.org>
79849
79850         * config/config.guess: update from config.
79851
79852         * config/srclistvars.sh: GNUWWWLICENSES for karl.
79853
79854 2004-01-20  Bruno Haible  <bruno@clisp.org>
79855
79856         Safer stack allocation.
79857         * lib/setenv.c: Include allocsa.h.
79858         (alloca): Remove fallback definition.
79859         (freea): Remove macro.
79860         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
79861         instead of freea.
79862
79863 2004-01-20  Bruno Haible  <bruno@clisp.org>
79864
79865         * m4/eealloc.m4: New file, from GNU gettext.
79866
79867 2004-01-20  Bruno Haible  <bruno@clisp.org>
79868
79869         * m4/allocsa.m4: New file, from GNU gettext.
79870
79871 2004-01-20  Bruno Haible  <bruno@clisp.org>
79872
79873         * lib/xallocsa.h: New file, from GNU gettext.
79874         * lib/xallocsa.c: New file, from GNU gettext.
79875
79876 2004-01-20  Bruno Haible  <bruno@clisp.org>
79877
79878         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
79879
79880 2004-01-20  Bruno Haible  <bruno@clisp.org>
79881
79882         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
79883         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
79884         specially.
79885
79886 2004-01-20  Bruno Haible  <bruno@clisp.org>
79887
79888         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
79889         patch.
79890
79891 2004-01-20  Bruno Haible  <bruno@clisp.org>
79892
79893         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
79894
79895 2004-01-20  Bruno Haible  <bruno@clisp.org>
79896
79897         * lib/eealloc.h: New file.
79898
79899 2004-01-20  Bruno Haible  <bruno@clisp.org>
79900
79901         * lib/binary-io.h: Avoid warnings on Cygwin.
79902
79903 2004-01-20  Bruno Haible  <bruno@clisp.org>
79904
79905         * lib/allocsa.h: New file, from GNU gettext.
79906         * lib/allocsa.c: New file, from GNU gettext.
79907
79908 2004-01-18  Karl Berry  <karl@gnu.org>
79909
79910         * doc/gpl.texi, doc/lgpl.texi: new files.
79911
79912 2004-01-18  Karl Berry  <karl@gnu.org>
79913
79914         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
79915         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
79916
79917 2004-01-15  Paul Eggert  <eggert@twinsun.com>
79918
79919         Merge from coreutils.
79920
79921         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
79922         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
79923         (gl_DEFAULT_POSIX2_VERSION): Move
79924         the documentation from 'configure' into 'config.hin',
79925         so that 'configure --help' isn't burdened by it and
79926         we don't have to worry about its formatting there.
79927         Reword the documentation so that it's more succinct
79928         and can be run together into a single paragraph.
79929         * m4/same.m4 (gl_SAME): Check for pathconf.
79930
79931 2004-01-15  Paul Eggert  <eggert@twinsun.com>
79932
79933         Merge from coreutils.
79934
79935         * lib/posixver.c: Include posixver.h.
79936
79937         * lib/same.c: Include <stdbool.h>, <limits.h>.
79938         (_POSIX_NAME_MAX): Define if not defined.
79939         (MIN): New macro.
79940         (same_name): If file names are silently truncated, report
79941         that the file names are the same if they are the same after
79942         the silent truncation.
79943
79944         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
79945         conversion function.
79946         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
79947         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
79948         longer needed.
79949
79950 2004-01-15  Jim Meyering  <jim@meyering.net>
79951
79952         Merge from coreutils.
79953
79954         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
79955         if no library is required.
79956         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
79957         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
79958         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
79959         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
79960         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
79961         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
79962         value, $ac_cv_search_crypt, if it's "none required".
79963         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
79964         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
79965         not gl_FUNC_GETLOADAVG.
79966         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
79967         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
79968
79969 2004-01-15  Jim Meyering  <jim@meyering.net>
79970
79971         Merge from coreutils.
79972
79973         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
79974         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
79975         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
79976
79977         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
79978         optional configure-time default.
79979
79980         * lib/version-etc.c (version_etc_copyright): Update copyright date.
79981
79982         * lib/xreadlink.c (xreadlink): Correct outdated comment.
79983
79984 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
79985
79986         Merge from coreutils.
79987
79988         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
79989         value, $ac_cv_search_nanosleep, if it's "none required".
79990
79991 2004-01-14  Paul Eggert  <eggert@twinsun.com>
79992
79993         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
79994         with like-named macro in fnmatch.c.
79995         (EXT): Use an internal constant instead.
79996
79997         Merge fnmatch patches from glibc.
79998         * lib/fnmatch.c (mbsinit): Remove define.
79999         Add libc_hidden_ver (__fnmatch, fnmatch).
80000         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80001         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80002
80003 2004-01-14  Karl Berry  <karl@gnu.org>
80004
80005         * config/install-sh: update from automake.
80006
80007 2004-01-13  Karl Berry  <karl@gnu.org>
80008
80009         * config/install-sh: update from automake.
80010
80011 2004-01-09  Karl Berry  <karl@gnu.org>
80012
80013         * config/install-sh: update from automake.
80014
80015 2004-01-05  Karl Berry  <karl@gnu.org>
80016
80017         * config/config.{sub,guess}: update from config.
80018
80019 2003-12-31  Karl Berry  <karl@gnu.org>
80020
80021         * config/depcomp: update from automake.
80022
80023 2003-12-14  Karl Berry  <karl@gnu.org>
80024
80025         * lib/config.charset: update from gettext-runtime.
80026
80027 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80028
80029         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80030         Bug reported by Alfred M. Szmidt.
80031
80032 2003-12-03  Bruno Haible  <bruno@clisp.org>
80033
80034         * m4/gettext.m4: Upgrade from gettext-0.13.
80035         * m4/po.m4: Upgrade from gettext-0.13.
80036         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80037         * m4/intmax.m4: New file, from gettext-0.13.
80038         * m4/printf-posix.m4: New file, from gettext-0.13.
80039
80040 2003-11-29  Karl Berry  <karl@gnu.org>
80041
80042         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80043
80044 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80045             Bruno Haible  <bruno@clisp.org>
80046
80047         * lib/printf-parse.h: Don't include sys/types.h.
80048         (ARG_NONE): New macro.
80049         (char_directive): Change type of *arg_index fields to size_t.
80050         * lib/printf-parse.c: Don't include sys/types.h.
80051         (SSIZE_MAX): Remove macro.
80052         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80053         Remove unnecessary overflow check.
80054         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80055         fields.
80056
80057 2003-11-25  Bruno Haible  <bruno@clisp.org>
80058
80059         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80060
80061 2003-11-25  Bruno Haible  <bruno@clisp.org>
80062
80063         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80064         gt_TYPE_SSIZE_T.
80065
80066 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80067
80068         * modules/alloca: Remove dependency on xalloc.
80069
80070 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80071
80072         * lib/alloca.c: Remove dependency on xalloc module.
80073         (xalloc_die): Remove.
80074         (memory_full) [!defined emacs]: New macro.
80075         [!defined emacs]: Don't include xalloc.h.
80076         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80077         address arithmetic overflows.  Change datatypes a bit to avoid
80078         unnecessary casts.
80079
80080 2003-11-22  Jim Meyering  <jim@meyering.net>
80081
80082         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80083         s/size/size_t/.
80084
80085 2003-11-21  Karl Berry  <karl@gnu.org>
80086
80087         * config/config.{sub,guess}: update from config.
80088
80089 2003-11-18  Karl Berry  <karl@gnu.org>
80090
80091         * config/config.{sub,guess}: update from config.
80092
80093         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80094
80095 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80096
80097         * README: Mention that S+T cannot overflow if S is the size of
80098         an existing object and T is sufficiently small.
80099
80100 2003-11-17  Jim Meyering  <jim@meyering.net>
80101
80102         On systems without utime and without a utimes function capable of
80103         dealing with a NULL struct utimbuf* argument, this utime replacement
80104         could -- in unusual circumstances -- leak a file descriptor.
80105         * lib/utime.c: Include <unistd.h> and <errno.h>.
80106         (utime_null): Be sure to close `fd' and to preserve errno.
80107         Reported by Geoff Collyer via Arnold Robbins.
80108
80109 2003-11-17  Bruno Haible  <bruno@clisp.org>
80110
80111         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80112         (Depends-on): Add xsize.
80113
80114 2003-11-17  Bruno Haible  <bruno@clisp.org>
80115
80116         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80117
80118 2003-11-17  Bruno Haible  <bruno@clisp.org>
80119
80120         * lib/vasnprintf.c (alloca): Remove fallback definition.
80121         (freea): Remove definition.
80122         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80123         Reported by Paul Eggert.
80124
80125 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80126             Bruno Haible  <bruno@clisp.org>
80127
80128         Protect against address arithmetic overflow.
80129         * lib/printf-args.h: Include stddef.h.
80130         (arguments): Change type of field 'count' to size_t.
80131         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80132         'unsigned int' where appropriate.
80133         * lib/printf-parse.h: Include sys/types.h.
80134         (char_directive): Change type of *arg_index fields to ssize_t.
80135         (char_directives): Change type of fields 'count', max_*_length to
80136         size_t.
80137         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80138         (SSIZE_MAX): Define fallback value.
80139         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80140         instead of 'int' where appropriate. Check a_allocated, d_allocated
80141         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80142         * lib/vasnprintf.c: Include xsize.h.
80143         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80144         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80145         overflow. Avoid wraparound when converting a width or precision from
80146         decimal to binary.
80147
80148 2003-11-16  Bruno Haible  <bruno@clisp.org>
80149
80150         Update from GNU gettext.
80151         * lib/printf-parse.c: Generalize to it can be compiled for wide
80152         strings.
80153         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80154         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80155         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80156         SNPRINTF): New macros.
80157         Don't include <alloca.h> if the file is used inside libintl.
80158         (local_wcslen): New function, for Solaris 2.5.1.
80159         (VASNPRINTF): Use it instead of wcslen.
80160
80161 2003-11-16  Bruno Haible  <bruno@clisp.org>
80162
80163         * lib/xsize.h (xmax): New function.
80164         (xsum, xsum3, xsum4): Declare as "pure" functions.
80165
80166 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80167
80168         * modules/xalloc (Files): Undo latest change, since xalloc.h
80169         no longer needs SIZE_MAX or PTRDIFF_MAX.
80170
80171 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80172
80173         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80174         gl_PTRDIFF_MAX.
80175
80176 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80177
80178         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80179         "return", to pacify some unknown compiler.  Problem reported
80180         by Joerg Schilling.
80181
80182 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80183
80184         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80185         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80186         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80187         heuristic is just as accurate as far as we know, and it removes a
80188         dependency on size_max.m4 and ptrdiff_max.m4.
80189
80190 2003-11-11  Bruno Haible  <bruno@clisp.org>
80191
80192         * modules/xsize (Files): Add m4/size_max.m4.
80193         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80194
80195 2003-11-11  Bruno Haible  <bruno@clisp.org>
80196
80197         * m4/size_max.m4: New file.
80198         * m4/ptrdiff_max.m4: New file.
80199         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80200         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80201         (gl_XALLOC): Invoke it.
80202
80203 2003-11-11  Bruno Haible  <bruno@clisp.org>
80204
80205         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80206         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80207         defined.
80208
80209 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80210
80211         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80212         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80213         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80214         From Bruno Haible.
80215         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80216         not (size_t) -1, since it's defined here.
80217
80218 2003-11-09  Karl Berry  <karl@gnu.org>
80219
80220         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80221
80222 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80223
80224         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80225         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80226         Reject sizes of exactly SIZE_MAX bytes.
80227         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80228         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80229
80230 2003-11-05  Bruno Haible  <bruno@clisp.org>
80231
80232         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80233         SIZE_MAX defined in <limits.h> on Solaris.
80234
80235 2003-11-04  Jim Meyering  <jim@meyering.net>
80236
80237         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80238         variable names, rather than @VAR@.
80239         * modules/poll: Likewise.
80240
80241 2003-11-04  Bruno Haible  <bruno@clisp.org>
80242
80243         * modules/xsize: New file.
80244         * modules/linebreak: Depend on xsize.
80245         * MODULES.html.sh (func_all_modules): Add xsize.
80246
80247 2003-11-04  Bruno Haible  <bruno@clisp.org>
80248
80249         * m4/xsize.m4: New file.
80250
80251 2003-11-04  Bruno Haible  <bruno@clisp.org>
80252
80253         * lib/xsize.h: New file.
80254         * lib/linebreak.c: Include xsize.h.
80255         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80256         argument for overflow.
80257         Suggested by Paul Eggert.
80258
80259 2003-11-03  Karl Berry  <karl@gnu.org>
80260
80261         * config/config.{guess,sub}: update from config.
80262
80263 2003-11-03  Jim Meyering  <jim@meyering.net>
80264
80265         * modules/userspec (lib_SOURCES): Add userspec.h.
80266         (Include): Add "userspec.h".
80267         Improve description.
80268
80269 2003-11-03  Jim Meyering  <jim@meyering.net>
80270
80271         * lib/userspec.c: Include "userspec.h".
80272         * lib/userspec.h: New file.
80273
80274 2003-11-03  Bruno Haible  <bruno@clisp.org>
80275
80276         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80277
80278 2003-11-03  Bruno Haible  <bruno@clisp.org>
80279
80280         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80281         available, to avoid (extremely rare) race condition.
80282         Suggested by Paul Eggert.
80283
80284 2003-11-02  Karl Berry  <karl@gnu.org>
80285
80286         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80287
80288 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80289
80290         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80291         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80292         (read_filesystem_list): Set and use me_type_malloced.
80293         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80294         whatever the type happens to be), for brevity and consistency.
80295         Check for size calculation overflow on Alphas running OSF/1.
80296
80297 2003-10-31  Jim Meyering  <jim@meyering.net>
80298
80299         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80300
80301         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80302
80303 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80304             Bruno Haible  <bruno@clisp.org>
80305
80306         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80307         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80308
80309 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80310
80311         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80312         netbsd*-gnu*.  Suggested by Robert Millan.
80313
80314 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80315
80316         * modules/group-member: Depend on stdbool.
80317
80318 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80319
80320         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80321
80322 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80323
80324         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80325         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80326         after the 'gnu' in these cases.  This fixes some bugs in the
80327         previous change, and is based on suggestions by Robert Millan.
80328
80329 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80330
80331         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80332         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80333         no longer needed.
80334         * lib/quotearg.c (quotearg_n_options): Use it.
80335         * lib/group-member.c: Include <stdbool.h>.
80336         (free_group_info): Arg is now const *; don't free arg.
80337         (get_group_info): Now returns bool and accepts struct group_info *,
80338         rather than returning a malloc'ed struct group_info *.
80339         All uses changed.  Check for overflow in internal size calculation.
80340
80341         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80342         rather than xmalloc/xrealloc.
80343         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80344         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80345         conformance bug: the old code used a pointer after freeing the
80346         storage that it addressed.
80347         * lib/hash.c (hash_initialize): Simplify the code by using
80348         xalloc_oversized rather than doing it by hand.
80349         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80350         the buffer preserved.  Use free and xmalloc instead.
80351         * lib/quotearg.c (quotearg_n_options): Likewise.
80352         Use a simpler test for size overflow.  Don't use xalloc_oversized
80353         because unsigned int might be wider than size_t (!); this suggests
80354         that we should switch from unsigned int to size_t for slot numbers.
80355
80356 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80357
80358         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80359         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80360         NetBSD kernels.  Requested by Richard Stallman.
80361
80362 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80363
80364         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80365         to allocate the returned structure.  Do not allocate a subarray,
80366         as x2nrealloc will do that.
80367         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80368         instead of xnrealloc.
80369         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80370
80371 2003-10-27  Bruno Haible  <bruno@clisp.org>
80372
80373         * lib/stdbool_.h: Better support for BeOS.
80374
80375 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80376
80377         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80378         now uses inline.
80379
80380 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80381
80382         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80383         callers that want to do their own size-overflow checking.  Include
80384         <stdbool.h>, since xalloc_oversized returns bool.
80385         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80386         to use xalloc_oversized.
80387
80388         Add two functions x2realloc, x2nrealloc, for programs that grow
80389         arrays dynamically by doubling their sizes.
80390         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80391         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80392         New functions.
80393
80394         Port to C99 semantics for 'inline' of external functions.
80395         Bug reported by Bruno Haible.
80396         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80397         with the old contents of xnmalloc.
80398         (xnmalloc, xmalloc): Use it.
80399         (xnrealloc_inline): New static inline function,
80400         with the old contents of xnrealloc.
80401         (xnrealloc, xrealloc): Use it.
80402
80403         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80404         that.
80405
80406 2003-10-26  Karl Berry  <karl@gnu.org>
80407
80408         * config/srclist.txt (COPYING.DOC): no longer available from
80409         /gd/gnuorg; don't know where the ultimate source is.
80410
80411 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80412
80413         Fix several address-calculation bugs in the hash modules,
80414         plus some minor code cleanup.
80415
80416         * lib/hash.h: Include <stdbool.h>, for bool.
80417         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80418         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80419         hash_get_n_entries, hash_get_max_bucket_length,
80420         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80421         hash_rehash): Use size_t rather than unsigned.
80422         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80423         hash_get_n_buckets_used, hash_get_n_entries,
80424         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80425         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80426         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80427         Likewise.
80428         (SIZE_MAX): Define if not defined.
80429         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80430         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80431         hash_print):
80432         Use const * when possible.
80433         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80434         (check_tuning): Fix bug: if tuning parameters were very close to
80435         0 or 1, rounding errors could have caused subscript violations.
80436         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80437         (hash_initialize): Add 'fail:' label
80438         to free table and return NULL, and use it to simplify code.
80439         Use calloc rather than clearing the storage ourself.
80440         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80441         buffer size calculations.
80442         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80443         Include <stddef.h>, for size_t.
80444         * lib/hash-pjw.c (hash_pjw): Likewise.
80445         Switch to method described by Bruno Haible.
80446         Include <limits.h>, for CHAR_BIT.
80447         (SIZE_BITS): New macro.
80448
80449 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80450
80451         * m4/getline.m4 (AM_FUNC_GETLINE):
80452         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80453         hosts.  Problem reported by Derek Robert Price in
80454         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80455         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80456         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80457
80458 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80459
80460         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80461         ceiling the allocation at NMAX bytes rather than silently
80462         discarding input bytes before NMAX is reached.  This makes
80463         a difference only if NMAX exceeds SIZE_MAX / 2.
80464
80465         * lib/obstack.c: Merge from glibc.
80466         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80467         Add libc_hidden_def (_obstack_newchunk).
80468         (_obstack_free) [! defined _LIBC]: Remove.
80469         [defined _LIBC]: Make a strong alias from obstack_free, rather than
80470         a clone of the function body.
80471         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
80472         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
80473
80474         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
80475         glibc.
80476         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
80477         arg to memcpy.
80478
80479         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
80480         (obstack_ptr_grow_fast, obstack_int_grow_fast):
80481         Don't use lvalue casts, as GCC plans to remove support for them
80482         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
80483         was also present in the non-GCC version, indicating that this
80484         code had always been buggy and had never been widely used.
80485         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
80486         Use the fast variant of each macro, rather than copying the
80487         definiens of the fast variant; that way, we'll be more likely to
80488         catch future bugs in the fast variants.
80489
80490 2003-10-20  Bruno Haible  <bruno@clisp.org>
80491
80492         * modules/wait-process: New file.
80493         * MODULES.html.sh (func_all_modules): Add wait-process.
80494
80495 2003-10-20  Bruno Haible  <bruno@clisp.org>
80496
80497         * m4/wait-process.m4: New file.
80498
80499 2003-10-20  Bruno Haible  <bruno@clisp.org>
80500
80501         * lib/wait-process.h: New file, from GNU gettext.
80502         * lib/wait-process.c: New file, from GNU gettext.
80503
80504 2003-10-19  Jim Meyering  <jim@meyering.net>
80505
80506         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
80507         HPUX 10.20.
80508
80509 2003-10-18  Karl Berry  <karl@gnu.org>
80510
80511         * config/config.guess: update from config.
80512
80513 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80514
80515         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
80516         (getgroups): First arg is int, not size_t.
80517         Don't let 'free' mangle errno.
80518
80519 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80520
80521         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
80522
80523 2003-10-16  Karl Berry  <karl@gnu.org>
80524
80525         * config/config.{guess,sub}: update from config.
80526
80527 2003-10-16  Jim Meyering  <jim@meyering.net>
80528
80529         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
80530         memcpy.
80531
80532 2003-10-15  Paul Eggert  <eggert@twinsun.com>
80533
80534         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
80535         (SIZE_MAX): Remove.
80536         (new_exclude, add_exclude_file): Initial size no longer needs to
80537         be a power of 2.
80538         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
80539         our own address arithmetic overflow checking.
80540
80541         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
80542         (fnmatch): Do not alloca more than 2000 wide characters;
80543         instead, use malloc for large buffers.
80544         Check for address arithmetic overflow, and return -1
80545         with errno set to ENOMEM in that case.
80546         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
80547         (NEW_PATTERN): Do not alloca more than 8000 bytes;
80548         instead, return -1.  Check for address arithmetic overflow.
80549
80550 2003-10-14  Paul Eggert  <eggert@twinsun.com>
80551
80552         Handle invalid suffixes and overflow independently, so that
80553         callers can treat them independently as needed.  Fix some bugs in
80554         suffix handling, e.g., "100k@" was not diagnosed as an invalid
80555         suffix for a human-readable blocksize.  The major caller-visible
80556         change is the addition of a new
80557         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
80558         that both overflow and suffix chars were found.
80559
80560         * lib/human.c (humblock): Don't check separately for invalid suffix
80561         char; that is xstrtoumax's job (now that its bug is fixed).
80562         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
80563         INTMAX_MAX]: New macros.
80564         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
80565         TYPE_MAXIMUM): New macros.
80566         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
80567         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
80568         if overflow occurs, as it's what __strtol does and it's more useful
80569         in practice.
80570         (__xstrtol): If __strtol reports some error other than ERANGE,
80571         reflect it to the caller as LONGINT_INVALID.  If it reports
80572         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
80573         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
80574         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
80575         value.
80576         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
80577         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
80578         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
80579         [defined UINTMAX_MAX]: New macros.
80580
80581 2003-10-14  Bruno Haible  <bruno@clisp.org>
80582
80583         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
80584
80585 2003-10-14  Bruno Haible  <bruno@clisp.org>
80586
80587         * m4/sig_atomic_t: New file, from GNU gettext.
80588         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
80589
80590 2003-10-14  Bruno Haible  <bruno@clisp.org>
80591
80592         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
80593         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
80594         Also use volatile where needed.
80595
80596 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80597
80598         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
80599         Change maintainer from Bruno Haible to 'all'.
80600
80601 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80602
80603         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
80604
80605 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80606
80607         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
80608         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
80609         and define in terms of the other primitives.
80610         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
80611         (SIZE_MAX): Define if not already defined.
80612         (array_size_overflow): New function.
80613         (xalloc_die): Abort instead of exiting if 'error' returns.
80614         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
80615         (xmalloc, xrealloc): Use them.
80616         (xcalloc): Check for address arithmetic overflow.
80617         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
80618         a bit faster than strcpy.
80619
80620 2003-10-10  Simon Josefsson  <jas@extundo.com>
80621
80622         * modules/argp (Depends-on): Add restrict and strcase.
80623
80624 2003-10-10  Simon Josefsson  <jas@extundo.com>
80625
80626         * m4/argp.m4: Add AC_C_INLINE.
80627
80628 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80629
80630         Merge getpass from libc, plus a few fixes.
80631
80632         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
80633         Include <stdbool.h>.
80634         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
80635         __fsetlocking to empty.
80636         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
80637         do include <bits/libc-lock.h>.
80638         Do not include <fcntl.h>; not needed.
80639         [_LIBC]: Include <wchar.h>.
80640         (NOTCANCEL_MODE): New macro.
80641         (flockfile, funlockfile) [_LIBC]: New macros.
80642         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
80643         [!_LIBC]: New macros.
80644         (call_fclose): New function.
80645         (getpass): Use it.  Save tty stream separately; this simplifies the
80646         code and makes it more reliable if stdin happens to equal stdout.
80647         Invoke __fsetlocking on tty.
80648         Handle thread cancellation if needed.
80649         Namespace cleanup (use __tcgetattr, __getline).
80650         Use bool for Booleans.
80651         [USE_IN_LIBIO]: Handle wide streams.
80652         [!_LIBC]: Unconditionally do the fseek, since we don't know what
80653         stream might go where.
80654
80655         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
80656         doesn't have to include <stdio.h> before us.
80657         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
80658         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
80659         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
80660         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
80661         if not declared, so that we can use getpass.c code from libc without
80662         rewriting it.
80663         (flockfile, ftrylockfile, funlockfile): New macros.
80664
80665 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80666
80667         * modules/getpass: Depend on stdbool.
80668
80669 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80670
80671         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
80672
80673 2003-10-07  Karl Berry  <karl@gnu.org>
80674
80675         * config/config.{guess,sub}: update from config.
80676
80677 2003-10-06  Jim Meyering  <jim@meyering.net>
80678             Bruno Haible  <bruno@clisp.org>
80679
80680         This lets translators provide better translations for the
80681         "Written by ..." part of --version output.
80682         * lib/version-etc.h: Include stdarg.h.
80683         (version_etc_copyright): Declare as readonly.
80684         (version_etc): Make this function variadic with a NULL-terminated list
80685         of author name strings.
80686         (version_etc_va): New declaration.
80687         * lib/version-etc.c: Include stdarg.h, stdlib.h.
80688         (version_etc_copyright): Declare as readonly.
80689         (version_etc_va): New function. Provide a different translatable string
80690         for each possible number of authors < 10. Abbreviate when there are 10
80691         authors or more.
80692         (version_etc): Make this function variadic. Call version_etc_va.
80693         Suggestion from Gary V. Vaughan.
80694
80695         * lib/long-options.h (parse_long_options): Change prototype: the
80696         authors string is moved to the end and becomes variadic.
80697         * lib/long-options.c: Include stdarg.h.
80698         (parse_long_options): Make this function variadic, too.
80699         Call version_etc_va, not version_etc.
80700
80701 2003-10-06  Bruno Haible  <bruno@clisp.org>
80702
80703         * modules/version-etc-2: Remove file.
80704         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
80705
80706 2003-10-06  Bruno Haible  <bruno@clisp.org>
80707
80708         * modules/fatal-signal: New file.
80709         * MODULES.html.sh (func_all_modules): Add fatal-signal.
80710
80711 2003-10-06  Bruno Haible  <bruno@clisp.org>
80712
80713         * m4/fatal-signal.m4: New file.
80714         * m4/signalblocking.m4: New file, from GNU gettext.
80715
80716 2003-10-06  Bruno Haible  <bruno@clisp.org>
80717
80718         * lib/version-etc-2.h: Remove file.
80719         * lib/version-etc-2.c: Remove file.
80720
80721 2003-10-06  Bruno Haible  <bruno@clisp.org>
80722
80723         * lib/fatal-signal.h: New file, from GNU gettext.
80724         * lib/fatal-signal.c: New file, from GNU gettext.
80725
80726 2003-10-05  Paul Eggert  <eggert@twinsun.com>
80727
80728         * README: Rework advice for preventing empty .o files.
80729         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
80730         not <sys/types.h>.
80731
80732 2003-10-04  Karl Berry  <karl@gnu.org>
80733
80734         * lib/argp*: update from libc.
80735
80736 2003-10-04  Karl Berry  <karl@gnu.org>
80737
80738         * config/config.{guess,sub}: update from config.
80739
80740 2003-10-02  Bruno Haible  <bruno@clisp.org>
80741
80742         * modules/lchown (Include): Add lchown.h.
80743         * modules/time_r (Include): Use "..." syntax.
80744         * modules/xgetdomainname (Include): Add xgetdomainname.h.
80745
80746 2003-10-01  Simon Josefsson  <jas@extundo.com>
80747
80748         * MODULES.html.sh (func_all_modules): Move gethostname from section
80749         'based on' to section 'lacking' POSIX:2001.
80750
80751 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
80752
80753         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
80754         to output mode on the same stream.
80755
80756 2003-09-29  Paul Eggert  <eggert@twinsun.com>
80757
80758         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
80759         Fix arg typo in previous patch.
80760
80761 2003-09-28  Jim Meyering  <jim@meyering.net>
80762
80763         * lib/error.c: Correct cpp indentation.
80764
80765 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80766
80767         * modules/free: New file.
80768
80769 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80770
80771         * m4/free.m4: New file.
80772
80773 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80774
80775         * lib/minmax.h (MIN, MAX)
80776         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
80777         Omit the special code that used __typeof__, since we worry that
80778         it could be more trouble than it's worth.  See:
80779         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
80780         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
80781
80782         * lib/free.c: New file.
80783
80784 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
80785
80786         Trivial fixes to Makefile.am parts of module listings.
80787         * modules/strstr: Append strstr.h to lib_SOURCES.
80788         * modules/strcase: Likewise, for strcase.h.
80789
80790 2003-09-27  Karl Berry  <karl@gnu.org>
80791
80792         * config/mkinstalldirs: update from automake.
80793
80794 2003-09-26  Paul Eggert  <eggert@twinsun.com>
80795
80796         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
80797         (error_tail): Do not loop, reallocating temporary buffer, since
80798         the output cannot contain more wide characters than the input
80799         contains bytes, the size must be big enough already.  This avoids
80800         one potential size overflow calculation.  Check for size overflow
80801         when calculating temporary buffer size.  Free temporary buffer
80802         when done, if it was allocated with malloc; this plugs a memory
80803         leak.  Remove casts from void * to pointers, that are no longer
80804         needed now that we're assuming C89 or better.
80805
80806         Merge error changes from glibc.
80807
80808         * lib/error.c, error.h: Update copyright notice header to match glibc.
80809         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
80810         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
80811         Disable cancellation while printing error.
80812         * lib/error.h: Prepend __ to parameter names.
80813
80814 2003-09-26  Jim Meyering  <jim@meyering.net>
80815
80816         * lib/error.c (error_tail): Move some declarations
80817         into inner scope where the local variables are used.
80818
80819 2003-09-26  Bruno Haible  <bruno@clisp.org>
80820
80821         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
80822         stpncpy().
80823         Don't define stpncpy through config.h; it's now done through stpncpy.h.
80824
80825 2003-09-26  Bruno Haible  <bruno@clisp.org>
80826
80827         * lib/stpncpy.h (gnu_stpncpy): New declaration.
80828         (stpncpy): Define as alias for gnu_stpncpy.
80829         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
80830
80831 2003-09-25  Simon Josefsson  <jas@extundo.com>
80832
80833         * lib/xgetdomainname.h: New file.
80834         * lib/xgetdomainname.c: New file.
80835
80836 2003-09-25  Simon Josefsson  <jas@extundo.com>
80837             Bruno Haible  <bruno@clisp.org>
80838
80839         * modules/getdomainname: New file.
80840         * modules/xgetdomainname: New file.
80841         * MODULES.html.sh (func_all_modules): Add getdomainname,
80842         xgetdomainname.
80843
80844 2003-09-25  Simon Josefsson  <jas@extundo.com>
80845             Bruno Haible  <bruno@clisp.org>
80846
80847         * m4/getdomainname.m4: New file.
80848
80849 2003-09-25  Simon Josefsson  <jas@extundo.com>
80850             Bruno Haible  <bruno@clisp.org>
80851
80852         * lib/getdomainname.h: New file.
80853         * lib/getdomainname.c: New file.
80854
80855 2003-09-25  Karl Berry  <karl@gnu.org>
80856
80857         * lib/argp-fmtstream.c, argp-help.c: update from libc.
80858
80859 2003-09-25  Karl Berry  <karl@gnu.org>
80860
80861         * config/install-sh: update from automake.
80862
80863 2003-09-25  Bruno Haible  <bruno@clisp.org>
80864
80865         * modules/version-etc-2: New file, from modules/version-etc with
80866         modifications.
80867         * MODULES.html.sh (func_all_modules): Add version-etc-2.
80868
80869 2003-09-25  Bruno Haible  <bruno@clisp.org>
80870
80871         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
80872         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
80873
80874 2003-09-24  Simon Josefsson  <jas@extundo.com>
80875
80876         * modules/xgethostname: Add xgethostname.h.
80877
80878 2003-09-24  Paul Eggert  <eggert@twinsun.com>
80879
80880         * lib/linebuffer.c (freebuffer): Don't free the argument, just
80881         the buffer associated with the argument.  Bug reported by
80882         Simon Josefsson.
80883
80884 2003-09-24  Paul Eggert  <eggert@twinsun.com>
80885
80886         * README: Document assumptions that 'int' is at least 32 bits
80887         wide, that integer arithmetic is 2's complement without overflow,
80888         that there are no holes in integer values, that adding sizes of
80889         two nonoverlapping objects can't overflow, and that all-bits-zero
80890         yields scalar zero.  Fix spelling and capitalization typos.
80891
80892 2003-09-19  Karl Berry  <karl@gnu.org>
80893
80894         * lib/argp.h: update from libc.
80895
80896 2003-09-17  Paul Eggert  <eggert@twinsun.com>
80897
80898         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
80899         to avoid spurious warnings like "AC_RUN_IFELSE was called before
80900         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
80901
80902 2003-09-17  Paul Eggert  <eggert@twinsun.com>
80903
80904         * gnulib-tool: Use "test -h", not "test -L", for portability
80905         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
80906         (tags_regexp): Remove, since \| doesn't conform to POSIX.
80907         (sed_extract_prog): Issue s commands one-by-one, rather than
80908         using \| in one s command.
80909
80910 2003-09-16  Paul Eggert  <eggert@twinsun.com>
80911
80912         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
80913         input error, instead of returning NULL the next time we are called
80914         (and therefore losing track of errno).
80915
80916 2003-09-16  Bruno Haible  <bruno@clisp.org>
80917
80918         * gnulib-tool (func_create_testdir): Warn about duplicated
80919         dependencies.
80920
80921 2003-09-15  Paul Eggert  <eggert@twinsun.com>
80922
80923         * modules/argmatch, modules/fatal, modules/obstack,
80924         modules/xalloc, modules/xgethostname: Sort dependencies by
80925         importance, not alphabetically.
80926
80927 2003-09-15  Paul Eggert  <eggert@twinsun.com>
80928
80929         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
80930         fails, so that the caller gets the proper errno.
80931
80932         * lib/readutmp.c (read_utmp): Likewise.
80933         Check for fstat error.  Close stream and free storage
80934         when failing.
80935
80936 2003-09-14  Karl Berry  <karl@gnu.org>
80937
80938         * config/srclist.txt (strdup.c): disable for c89 changes.
80939
80940 2003-09-14  Jim Meyering  <jim@meyering.net>
80941
80942         * lib/getloadavg.c: Correct cpp indentation.
80943         * lib/strdup.c: Likewise.
80944         * lib/vasnprintf.c: Likewise.
80945
80946 2003-09-14  Bruno Haible  <bruno@clisp.org>
80947
80948         * modules/fwriteerror: New file.
80949         * MODULES.html.sh (func_all_modules): Add fwriteerror.
80950
80951 2003-09-14  Bruno Haible  <bruno@clisp.org>
80952
80953         * lib/fwriteerror.h: New file.
80954         * lib/fwriteerror.c: New file.
80955
80956 2003-09-12  Paul Eggert  <eggert@twinsun.com>
80957
80958         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
80959         modules/xgethostname, modules/xalloc: Depend on exit.
80960
80961 2003-09-12  Paul Eggert  <eggert@twinsun.com>
80962
80963         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
80964
80965         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
80966         and AC_MINIX, too, so that their extensions are available.
80967
80968         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
80969         This macro has been superseded by gl_BACKUPFILE.
80970
80971         More patches to assume C89 or better.
80972
80973         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
80974
80975         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
80976         unconditionally.
80977         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
80978         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
80979         Include <string.h>, <stdlib.h> unconditionally.
80980         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
80981         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
80982         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
80983         headers or for string.h.
80984         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
80985         or strtoul.
80986
80987         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
80988         headers.
80989         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
80990         * m4/userspec.m4 (gl_USERSPEC): Likewise.
80991         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
80992         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
80993         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80994         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
80995         memcpy, memset.
80996         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
80997         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
80998         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
80999         strtol.
81000         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81001         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81002         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81003         strtoul.
81004
81005 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81006
81007         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81008         * lib/obstack.c [!defined _LIBC]: Likewise.
81009         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81010         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81011         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81012
81013         More changes to assume C89 or better.
81014
81015         * lib/error.c (error_tail): Assume vprintf.
81016
81017         * lib/argmatch.c (getenv): Remove decl.
81018         * lib/progreloc.c (get_full_program_name): Define via prototype.
81019         * lib/setenv.c (clearenv): Likewise.
81020         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81021         needed.
81022         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81023         (malloc, memcpy): Remove decls.
81024         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81025         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81026         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81027         (memcpy): Remove macro.
81028         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81029         (__P): Remove.  All uses removed.
81030         (PTR): Remove.  All uses changed to void *.
81031         (CHAR_BIT, NULL): Remove.
81032         (spaces, zeros, memset_space, memset_zero)
81033         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81034         Remove.
81035         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81036         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81037         Define with prototype.
81038         Remove now-unnecessary prototype decl.
81039         (extra_args_spec): Assume ANSI C.  All uses changed.
81040         (extra_args_spec_iso): Remove.
81041         (my_strftime, emacs_strftimeu): Define via prototype.
81042         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81043         unconditionally.
81044         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81045         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81046         (strtoul, strtol): Remove decls.
81047         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81048         LONG_MAX): Remove.
81049         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81050         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81051         (LOCALE_PARAM_PROTO): New macro.
81052         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81053         (INTERNAL (strtol), strtol): Define with a prototype.
81054         (PARAMS): Remove.  All uses removed.
81055         * lib/tempname.c: Include <string.h> unconditionally.
81056         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81057         * lib/xgethostname.c (main): Define with a prototype.
81058         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81059         Include <stdlib.h> unconditionally.
81060         (calloc, malloc, realloc, free): Remove decls.
81061         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81062         Include <stdlib.h> unconditionally.  Sort include file names.
81063         (strtod): Remove.
81064         (xstrtod): Define with a prototype.
81065         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81066         (strtol, strtoul): Remove decls.
81067
81068 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81069
81070         More patches to assume C89 or better.
81071         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81072         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81073         string.h, memchr, STDC_HEADERS.
81074
81075 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81076
81077         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81078         Include <stdlib.h>, <string.h> unconditionally.
81079         Remove now-unnecessary cast to char *.
81080         * lib/strnlen.c: Include <string.h> unconditionally.
81081         * lib/yesno.c (yesno): Define with a prototype.
81082
81083 2003-09-11  Bruno Haible  <bruno@clisp.org>
81084
81085         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81086
81087 2003-09-10  Jim Meyering  <jim@meyering.net>
81088
81089         * lib/error.c: Correct indentation of cpp directives.
81090
81091 2003-09-10  Bruno Haible  <bruno@clisp.org>
81092
81093         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81094         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81095         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81096         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81097         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81098         <stdlib.h> and <string.h> checks.
81099         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81100         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81101
81102 2003-09-10  Bruno Haible  <bruno@clisp.org>
81103
81104         * lib/strcspn.c: Include <string.h> unconditionally.
81105         * lib/strpbrk.c: Include <string.h> unconditionally.
81106         * lib/strstr.c: Include <string.h> unconditionally.
81107         * lib/unicodeio.c: Include <string.h> unconditionally.
81108         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81109         * lib/unsetenv.c: Likewise.
81110         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81111         * lib/yesno.c: Include <stdlib.h> unconditionally.
81112         (rpmatch): Add prototype.
81113
81114 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81115
81116         More patches to assume C89 or better.
81117         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81118         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81119         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81120         or for string.h.
81121         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81122         stdlib.h.
81123         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81124         C headers.
81125         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81126         string.h.
81127         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81128         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81129         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81130         or for string.h.
81131         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81132         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81133         C headers.
81134         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81135         memcpy.
81136         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81137         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81138         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81139         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81140         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81141         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81142         string.h, free.
81143         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81144         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81145         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81146         C headers, or for string.h.
81147         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81148         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81149         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81150         headers, memory.h, stdlib.h, string.h, strings.h.
81151         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81152         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81153         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81154         strchr.
81155         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81156         headers, memory.h, string.h.
81157         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81158         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81159         free.
81160         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81161         headers.
81162         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81163         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81164         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81165         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81166         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81167
81168 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81169
81170         More K&R removal.
81171
81172         * lib/acosl.c (main): Use a prototype.
81173         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81174         tanl.c: Likewise.
81175
81176         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81177
81178         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81179         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81180         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81181         with a prototype.
81182         * lib/getopt.c (const): Remove macro.
81183         Include <string.h> unconditionally.
81184         (my_index): Remove; all uses changed to strchr.
81185         (strlen): Remove decl.
81186         (exchange): Remove forward decl; no longer needed.
81187         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81188         Define with prototype.
81189         * lib/getopt1.c (const): Remove macro.
81190         (getopt_long, getopt_long_only, main): Define with prototype.
81191
81192         * lib/getugroups.c: Include <string.h> unconditionally.
81193
81194         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81195         (getusershell, setusershell, endusershell, readname, main):
81196         Define with prototypes.
81197
81198         * lib/group-member.c: Include group-member.h first.
81199         Include <stdlib.h> unconditionally.
81200
81201         * lib/hard-locale.c: Include hard-locale.h first.
81202         Include <stdlib.h>, <string.h> unconditionally.
81203
81204         * lib/hash.c (free, malloc): Remove decls.
81205         Include <stdlib.h> unconditionally.
81206
81207         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81208         (getenv): Do not declare.
81209
81210         * lib/idcache.c: Include <string.h> unconditionally.
81211
81212         * lib/long-options.c: Include long-options.h first, to test interface.
81213         Include <stdlib.h> unconditionally.
81214
81215         * lib/makepath.c: Include makepath.h first, to test interface.
81216         Include <stdlib.h> and <string.h> unconditionally.
81217
81218         * lib/linebuffer.c: Include <stdlib.h>.
81219         (free): Remove decl.
81220
81221         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81222         stddef.h. rpl_malloc returns void *, not char *.
81223         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81224         prototype.
81225
81226         * lib/md5.h: Include <limits.h> unconditionally.
81227         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81228         (__P): Remove; all uses removed.
81229         * lib/md5.c: Include "md5.h" first.
81230         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81231         md5_buffer, md5_process_bytes, md5_process_block):
81232         Define with prototypes.
81233         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81234         * lib/sha.c: Include "sha.h" first.
81235         Include <stdlib.h>, <string.h> unconditionally.
81236
81237         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81238         * lib/memcmp.c (__ptr_t): Likewise.
81239         * lib/memrchr.c (__ptr_t): Likewise.
81240         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81241         Include <string.h> unconditionally.
81242         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81243         * lib/memchr.c: Include <stdlib.h> unconditionally.
81244         * lib/memchr.c (LONG_MAX): Remove.
81245         * lib/memrchr.c (LONG_MAX): Likewise.
81246         * lib/memchr.c (__memchr): Define via a prototype.
81247         * lib/memrchr.c (__memrchr): Likewise.
81248         * lib/memcmp.c (__P): Remove, and remove all uses.
81249         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81250         Remove forward decls; no longer needed.
81251         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81252         Use types required by C89 in prototype.
81253
81254         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81255         * lib/savedir.c: Likewise.
81256         * lib/mkdir.c (free): Remove decl.
81257         * lib/rmdir.c (rmdir): Define with a prototype.
81258         * lib/savedir.c: Include savedir.h first, to test interface.
81259
81260         * lib/mktime.c (STDC_HEADERS): Remove.
81261         Include <stdlib.h>, <string.h> unconditionally.
81262
81263         * lib/modechange.c: Include <stdlib.h> unconditionally.
81264         (malloc): Remove decl.
81265
81266         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81267         (free): Remove decl.
81268
81269         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81270         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81271         (This type really should be intptr_t, but that's a C99ism.)
81272         (_obstack_memcpy): Remove: all uses changed to memcpy.
81273         Include <string.h> unconditionally.
81274         (struct obstack): Assume __STDC__ for types of members
81275         chunkfun, freefun, extra_arg.
81276         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81277         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81278         obstack_begin, obstack_specify_allocation,
81279         obstack_specify_allocation_with_arg, obstack_chunkfun,
81280         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81281         Remove unprototyped decls and the macros that use them.
81282         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81283         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81284         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81285         (defined __STDC__ && __STDC__)]:
81286         Remove nonprototyped code.
81287         Include <stdlib.h> unconditionally.
81288         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81289         _obstack_allocated_p, _obstack_free, obstack_free,
81290         _obstack_memory_used, print_and_abort):
81291         Define using prototypes.
81292         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81293         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81294         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81295         obstack_next_free, obstack_object_size, obstack_room) [0]:
81296         Remove unused, unprototyped code.
81297
81298         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81299
81300         * lib/physmem.c (physmem_total, physmem_available, main): Define
81301         with prototypes.
81302
81303         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81304         (main): Define with a prototype.
81305
81306         * lib/posixver.c (getenv): Remove decl.
81307
81308         * lib/putenv.c (malloc): Returns void *, not char *.
81309         Include <string.h> unconditionally.
81310         (strchr, memcpy, NULL): Do not define.
81311
81312         * lib/readtokens.c: Include readtokens.h first, to test interface.
81313         Include <stdlib.h>, <string.h> unconditionally.
81314         (init_tokenbuffer): Define with a prototype.
81315
81316         * lib/regex.c (PARAMS): Remove.  All uses removed.
81317         All uses of _RE_ARGS removed, too.
81318         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81319         unconditionally.
81320         (bzero): Assume memset exists.
81321         (memcmp, memcpy, NULL): Remove.
81322         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81323         char, or assignments to local vars of type signed char.
81324         (init_syntax_once, PREFIX(extract_number_and_incr),
81325         PREFIX(print_partial_compiled_pattern),
81326         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81327         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81328         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81329         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81330         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81331         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81332         wcs_compile_range, byte_compile_range, truncate_wchar,
81333         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81334         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81335         count_mbs_length, wcs_re_match_2_internal,
81336         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81337         PREFIX(alt_match_null_string_p),
81338         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81339         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81340         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81341         now-unnecessary declaration, if any.
81342         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81343         regcomp, regexec):
81344         Remove now-unnecessary casts among pointer types.
81345         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81346
81347         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81348         (free): Remove decl.
81349
81350         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81351
81352         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81353         (free): Remove decl.
81354
81355         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81356         * lib/xgetcwd.c: Likewise.
81357
81358         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81359         (free): Remove decl.
81360
81361         * lib/strchrnul.c (strchrnul): Define with a prototype.
81362         Fix bug: c_in was not converted to char before searching.
81363
81364         The following changes are not K&R related:
81365
81366         * lib/group-member.h: Include <sys/types.h>, so that this file is
81367         self-contained.
81368         * lib/makepath.h: Likewise.
81369
81370         * lib/getusershell.c (readname, default_index, line_size, readname):
81371         Use size_t, not int, for sizes.
81372         (readname): If the size overflows, report an error instead of
81373         looping forever.
81374
81375 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81376
81377         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81378         libc.
81379
81380 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81381
81382         * README: New section: portability guidelines.
81383
81384 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81385
81386         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81387         C89 spec.
81388
81389 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81390
81391         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81392
81393 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81394
81395         Assume C89 or better; remove K&R cruft.
81396         A few of these changes were first proposed by Derek Robert Price
81397         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81398
81399         * lib/addext.c: Include <string.h> unconditionally.
81400         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81401         Don't declare getenv or malloc.
81402
81403         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81404         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81405         (NULL): Remove.
81406         (find_stack_direction, alloca): Use prototypes.
81407
81408         * lib/atexit.c (atexit): Define using a prototype.
81409
81410         * lib/basename.c, dirname.c, stripslash.c:
81411         Include <string.h> unconditionally.
81412
81413         * lib/bcopy.c: Include <stddef.h>.
81414         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81415
81416         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81417
81418         * lib/error.h (error, error_at_line, error_print_progname)
81419         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81420         * lib/error.c: Include error.h first, to check interface.
81421         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81422         (VA_START): Remove; all uses changeed to va_start.
81423         (exit, strerror): Remove decls.
81424         (error_print_progname): Prototype uncondionally.
81425         Don't include <errno.h>; no longer needed.
81426         (private_strerror): Remove.
81427         (error_tail): Always define.
81428         (error, error_at_line): Assume C89 or better; always use prototypes.
81429         * lib/fatal.c: Include "fatal.h" first, to test interface.
81430         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81431         (VA_START): Remove; all uses changed to va_start.
81432         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81433         this case.
81434         (exit): Remove decl.
81435         (fatal): Prototype unconditionally.  Assume va_start works.
81436         Abort at end, to pacify gcc.
81437
81438         * lib/euidaccess.c (main): Define with a prototype.
81439
81440         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81441
81442         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81443
81444         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81445         prototypes.
81446         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81447         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81448         (getenv): Remove decl.
81449         (fnmatch): Define using a prototype.
81450         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81451         (FCT): Define using a prototype.
81452
81453         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81454
81455         * lib/gethostname.c: Include <stddef.h>.
81456         (gethostname): Define with prototype.  Length is size_t, not int.
81457
81458 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81459
81460         Assume C89 or better; remove K&R cruft.
81461         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81462         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81463         string.h, getenv, malloc.
81464         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81465         headers.
81466         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81467         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81468         do not check for strerror.
81469         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
81470         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
81471         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
81472         do not check for doprnt or vprintf.
81473         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
81474         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
81475
81476 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81477
81478         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
81479         getversion.c should have been removed then, but was accidentally
81480         preserved.
81481
81482         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
81483         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
81484
81485 2003-09-08  Karl Berry  <karl@gnu.org>
81486
81487         * config/config.sub, config.guess, srclistvars.sh: update from savannah
81488                 config, forget about prep.
81489
81490         * config/depcomp, missing: update from automake.
81491
81492 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81493
81494         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
81495         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81496
81497 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81498
81499         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
81500         copy_tm_result.  Bug reported by Simon Josefsson in
81501         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81502
81503 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81504
81505         * m4/time_r.m4: New file.
81506         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
81507         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
81508         is. Check for timegm declaration.
81509         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
81510         Do not check for gmtime_r.
81511         Replace mktime if __mktime_internal does not exist and if mktime
81512         hasn't been replaced already.
81513
81514 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81515
81516         * lib/time_r.c, lib/time_r.h: New files.
81517
81518         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
81519         __localtime_r.
81520         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
81521         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
81522
81523         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
81524         __gmtime_r.
81525         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
81526         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
81527         Include <time_r.h>.
81528
81529         * lib/timegm.c: Switch to glibc implementation, with the following
81530         changes:
81531         [defined HAVE_CONFIG_H]: Include <config.h>.
81532         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
81533         (__mktime_internal) [!defined _LIBC]: New decl.
81534         (__gmtime_r) [!defined _LIBC]: New macro and function.
81535         (timegm): Use a prototype, since gnulib assumes C89.
81536         Do not bother declaring tmp to be const, as it's not really usefu.
81537         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
81538         (timegm): Declare only if HAVE_DECL_TIMEGM.
81539
81540 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81541
81542         * MODULES.html.sh (func_all_modules): Add time_r.
81543         * modules/time_r: New file.
81544         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
81545         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
81546
81547 2003-09-03  Paul Eggert  <eggert@twinsun.com>
81548
81549         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
81550         Bug reported by Lute Kamstra in
81551         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
81552
81553         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
81554         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
81555         course with correspondingly smaller numbers for tomorrow and
81556         yesterday.  From Tadayoshi Funaba.  Originally installed into
81557         sh-utils on 1999-08-07, but the patch got lost (I guess during the
81558         coreutils merge?).
81559
81560 2003-08-31  Simon Josefsson  <jas@extundo.com>
81561
81562         * modules/timegm: New file.
81563         * MODULES.html.sh (func_all_modules): Add timegm.
81564
81565 2003-08-31  Simon Josefsson  <jas@extundo.com>
81566
81567         * m4/timegm.m4: New file.
81568
81569 2003-08-31  Simon Josefsson  <jas@extundo.com>
81570
81571         * lib/timegm.h: New file.
81572         * lib/timegm.c: New file.  Based on
81573         wget-1.8.2/src/http.c:mktime_from_utc.
81574
81575 2003-08-31  Karl Berry  <karl@gnu.org>
81576
81577         * lib/argp.h: update from libc.
81578
81579 2003-08-28  Bruno Haible  <bruno@clisp.org>
81580
81581         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
81582         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
81583         followed by '#define fnmatch fnmatch_posix' gives an error.
81584
81585 2003-08-28  Bruno Haible  <bruno@clisp.org>
81586
81587         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
81588         warning on QNX, which defines O_BINARY to 000000.
81589
81590 2003-08-27  Jim Meyering  <jim@meyering.net>
81591
81592         * m4/mkstemp.m4: Require that the system mkstemp be able to create
81593         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
81594         would fail after 32.  Reported by Danny Levinson.  Details here:
81595         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
81596
81597 2003-08-24  Bruno Haible  <bruno@clisp.org>
81598
81599         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
81600         MSVC7 <stdio.h> is included later.
81601
81602 2003-08-22  Simon Josefsson  <jas@extundo.com>
81603
81604         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
81605
81606 2003-08-20  Karl Berry  <karl@gnu.org>
81607
81608         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
81609
81610 2003-08-20  Bruno Haible  <bruno@clisp.org>
81611
81612         * modules/progname: New file.
81613         * MODULES.html.sh (func_all_modules): Add progname.
81614
81615 2003-08-20  Bruno Haible  <bruno@clisp.org>
81616
81617         * lib/progname.h: New file, from GNU gettext.
81618         * lib/progname.c: New file, from GNU gettext.
81619         * lib/progreloc.c: New file, from GNU gettext.
81620
81621 2003-08-19  Jim Meyering  <jim@meyering.net>
81622
81623         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
81624         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
81625
81626 2003-08-19  Bruno Haible  <bruno@clisp.org>
81627
81628         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
81629         more.
81630
81631 2003-08-19  Bruno Haible  <bruno@clisp.org>
81632
81633         * lib/xstrdup.c: Assume <string.h> exists.
81634
81635 2003-08-18  Paul Eggert  <eggert@twinsun.com>
81636
81637         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
81638         in makefile rules.
81639
81640 2003-08-18  Jim Meyering  <jim@meyering.net>
81641
81642         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
81643         * m4/lib-ld.m4: Likewise.
81644
81645 2003-08-18  Jim Meyering  <jim@meyering.net>
81646
81647         * lib/setenv.h: Indent nested cpp directive.
81648         * lib/vasnprintf.c: Remove trailing blanks.
81649
81650 2003-08-17  Simon Josefsson  <jas@extundo.com>
81651
81652         * modules/xstrndup: New file.
81653         * MODULES.html.sh (func_all_modules): Add xstrndup.
81654
81655 2003-08-17  Simon Josefsson  <jas@extundo.com>
81656
81657         * modules/argp: Fix autoconf macro name. Add more dependencies.
81658
81659 2003-08-17  Simon Josefsson  <jas@extundo.com>
81660
81661         * m4/xstrndup.m4: New file.
81662
81663 2003-08-17  Simon Josefsson  <jas@extundo.com>
81664
81665         * m4/argp.m4: New file.
81666
81667 2003-08-17  Simon Josefsson  <jas@extundo.com>
81668             Bruno Haible  <bruno@clisp.org>
81669
81670         * lib/xstrndup.h: New file.
81671         * lib/xstrndup.c: New file.
81672
81673 2003-08-17  Bruno Haible  <bruno@clisp.org>
81674
81675         * modules/strndup (Files, Include): Add lib/strndup.h.
81676
81677 2003-08-17  Bruno Haible  <bruno@clisp.org>
81678
81679         * modules/euidaccess (Files): Add lib/euidaccess.h.
81680
81681 2003-08-17  Bruno Haible  <bruno@clisp.org>
81682
81683         * lib/strndup.h: New file.
81684
81685 2003-08-17  Bruno Haible  <bruno@clisp.org>
81686
81687         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
81688         like AC_GNU_SOURCE.
81689         * modules/extensions (configure.ac): Comment out the invocation of
81690         gl_USE_SYSTEM_EXTENSIONS.
81691
81692 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81693
81694         Merges from coreutils, etc.
81695         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
81696         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
81697         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
81698         fixing a typo.
81699         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
81700         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
81701
81702 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81703
81704         Document merge from coreutils.
81705         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
81706         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
81707         * modules/utime: Add m4/utimes-null.m4.
81708
81709 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81710
81711         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
81712         space, undoing this 2003-08-12 change:
81713         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
81714
81715 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81716
81717         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
81718         strtoul.c from libc, undoing this 2003-08-12 change:
81719         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
81720
81721 2003-08-16  Jim Meyering  <jim@meyering.net>
81722
81723         Merges from coreutils.
81724         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
81725         prefix.  Adjust cache variables similarly.  Create 500 rather than
81726         just 300 files, to exercise bug on Darwin6.5, too.
81727         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
81728         $missing_dir.
81729         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
81730         AM_SYS_POSIX_TERMIOS.
81731         Reported by mkc@mathdogs.com.
81732         Also change use of $am_cv_sys_posix_termios
81733         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
81734         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
81735         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
81736         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
81737         in /proc/mounts until it finds one with matching device number.  This
81738         is unnecessary when the FILE argument *is* a mount point.  No stat call
81739         is necessary in that case.  So, disable the statvfs-testing code on
81740         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
81741         as RedHat bug# 84846.
81742         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
81743         to 1MB, so as not to render systems with no stack size limit (e.g.,
81744         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
81745         Include <unistd.h>.  On some systems,
81746         it is required for the definition of _SC_PAGESIZE.
81747
81748 2003-08-16  Jim Meyering  <jim@meyering.net>
81749
81750         Merge from coreutils.
81751         * lib/xstrtoimax.c: #else #if -> #elif.
81752         * lib/xstrtoumax.c: Likewise.
81753
81754 2003-08-16  Jim Meyering  <jim@meyering.net>
81755
81756         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
81757         * m4/utimes.m4: Removed.
81758         * m4/utimes-null.m4: Renamed from utimes.m4.
81759
81760         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
81761         to 1MB, so as not to render systems with no stack size limit (e.g.,
81762         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
81763         Include <unistd.h>.  On some systems,
81764         it is required for the definition of _SC_PAGESIZE.
81765
81766 2003-08-16  Jim Meyering  <jim@meyering.net>
81767         and Paul Eggert  <eggert@cs.ucla.edu>
81768
81769         Merges from coreutils, etc.
81770
81771         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
81772         using the latest version from cvs.  This avoids problems with #line
81773         directives using a vendor (Sun) compiler.
81774         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
81775         Don't set GETGROUPS_LIB here; now it's
81776         done via getgroups.m4's wrapper function.
81777         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
81778         rather than just in sh-util/configure.in, so that the
81779         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
81780         same.
81781         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
81782         AC_FUNC_GETLOADAVG where to find getloadavg.c.
81783         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
81784         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
81785         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
81786         Remove code that is now done by the newly-required macros.
81787         Append $(EXEEXT) to DF_PROG.
81788         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
81789         Do not invoke or require the following here,
81790         since prereq.m4 or some gnulib .m4 now does this for us:
81791         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
81792         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
81793         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
81794         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
81795         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
81796         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
81797         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
81798         AC_FUNC_OBSTACK.
81799         Do not replace the following functions, as this is now the job
81800         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
81801         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
81802         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
81803         atexit getpass, strdup, getpagesize.
81804         Replace 'raise'.
81805         Do not check for the following functions, as this is now the job
81806         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
81807         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
81808         setregid.
81809         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
81810         Check for sys/sysctl.h.
81811         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
81812         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
81813         of checking for ssize_t ourselves.
81814
81815         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
81816         Require every macro that gnulib/modules/* suggests for us.
81817         (jm_PREREQ_ADDEXT): New macro.
81818         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
81819         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
81820
81821         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
81822         (gl_PHYSMEM): Use it.
81823         Also check for `table' function.
81824         Check for new headers and functions.
81825         Add check for sys/sysmp.h.
81826         With suggestions from Kaveh Ghazi.
81827         Ignore headers that are present but cannot be compiled.  This
81828         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
81829         C 5.4.
81830
81831 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81832
81833         Document merge from coreutils.
81834         * modules/userspec: Depend on posixver.
81835         * modules/strftime: Depend on tzset.
81836
81837 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81838
81839         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
81840         rather than tab, after '#' in shell-script copyright notices.
81841         Suggested by Bruno Haible.
81842
81843 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81844
81845         * config/srclist-update: Use three spaces, rather than tab, after '#'
81846         in shell-script copyright notices.  Suggested by Bruno Haible.
81847         Remove unnecessary parenthesization in regular expression.
81848
81849 2003-08-15  Jim Meyering  <jim@meyering.net>
81850
81851         Merge from coreutils.
81852         * lib/xgethostname.c: Include <stdlib.h>.
81853         (xghostname): Don't exit for anything other than memory-related
81854         failure; just return NULL.
81855         * lib/userspec.c: Include "posixver.h".
81856         (parse_user_spec): Accept `.' as a separator only
81857         in pre-POSIX-200112 mode.
81858         * lib/strtoimax.c: Use #elif rather than #else #if.
81859         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
81860         Remove function, now that we can rely on a working tzset function.
81861         [!_LIBC]: Ensure that the required autoconf test has been run.
81862         [!defined _NL_CURRENT && HAVE_STRFTIME]:
81863         Use underlying_strftime for %r.
81864         * lib/sha.c: Merge in some clean-up and optimization changes from
81865         glibc.
81866         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
81867         Ensure that it is a multiple of 64.
81868         Rearrange loop exit tests so as to avoid performing an
81869         additional fread after encountering an error or EOF.
81870         * lib/realloc.c: Update copyright date.
81871
81872 2003-08-15  Jim Meyering  <jim@meyering.net>
81873         and Paul Eggert  <eggert@twinsun.com>
81874
81875         Merge from coreutils.
81876         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
81877         member but strut utmpx does not.  Needed for AIX 4.3.3.
81878         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
81879
81880 2003-08-15  Jim Meyering  <jim@meyering.net>
81881         and Paul Eggert  <eggert@cs.ucla.edu>
81882
81883         Merges from coreutils, etc.
81884         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
81885         Require gl_FUNC_TZSET_CLOBBER.
81886         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
81887         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
81888         members.
81889
81890 2003-08-14  Paul Eggert  <eggert@twinsun.com>
81891
81892         Help the merge from coreutils.
81893         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
81894         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
81895         * m4/tzset.m4: Use it too.
81896
81897 2003-08-14  Paul Eggert  <eggert@twinsun.com>
81898
81899         * modules/tzset: New file.
81900
81901 2003-08-14  Jim Meyering  <jim@meyering.net>
81902
81903         Merges from coreutils.
81904         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
81905         variable names, rather than @FNMATCH_H@.
81906         * modules/alloca: Likewise for $(ALLOCA_H).
81907
81908         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
81909         the three copies of the literal target, `fnmatch.h'.
81910         * modules/alloca (alloca.h): Likewise.
81911
81912 2003-08-14  Jim Meyering  <jim@meyering.net>
81913
81914         Merge from coreutils.
81915         * m4/tzset.m4: New file.
81916         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
81917         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
81918         otherwise, AIX 5.1 systems would end up using the latter.
81919         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
81920         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
81921         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
81922         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
81923
81924 2003-08-14  Jim Meyering  <jim@meyering.net>
81925
81926         Merge from coreutils.
81927         * lib/obstack.h: Whitespace changes.
81928         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
81929         and xcalloc return values.
81930         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
81931         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
81932         hang on OSF/1 5.1 for DIR on both local and remote file systems.
81933         Reported by (and fix confirmed by) Nelson H. F. Beebe.
81934         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
81935         error from mntctl.
81936         Use mntctl's return value to drive the entry-processing loop, since
81937         we can't rely on the value of the vmt_length member in the last
81938         entry.  On some systems doing so could result in exhausting
81939         virtual memory.  Based in part on a patch from Mike Jetzer.
81940
81941 2003-08-14  Jim Meyering  <jim@meyering.net>
81942         and Paul Eggert  <eggert@twinsun.com>
81943
81944         Merges from coreutils, plus other fixes.
81945         * lib/physmem.c: Merge in portability changes from gcc/libiberty
81946         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
81947         for credits and details.  Thanks to Kaveh Ghazi for helping
81948         to keep these files in sync.
81949         (ARRAY_SIZE): Define it.
81950         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
81951         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
81952         (memcasecmp): Don't assume size_t fits in unsigned int.
81953         Remove casts and duplicate code.
81954         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
81955         (memcpy): Remove definition.
81956         Merge in some clean-up and optimization changes from glibc.
81957         [BLOCKSIZE]: Move definition to top of file.
81958         Ensure that it is a multiple of 64.
81959         Rearrange loop exit tests so as to avoid performing an
81960         additional fread after encountering an error or EOF.
81961         * lib/md5.h (md5_uintptr): Define.
81962         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
81963         return to the initial working directory.  Preserve errno
81964         for caller.
81965         * lib/idcache.c: Include "xalloc.h".
81966         (xmalloc, xrealloc): Remove decls.
81967         (getuser): Remove casts no longer required in C89.
81968         * lib/human.c: Include stdio.h, for sprintf.
81969         * lib/group-member.c: Include "xalloc.h".
81970         (xmalloc, xrealloc): Remove decls.
81971         (get_group_info): Remove casts no longer required in C89.
81972         * lib/getusershell.c (readname): Remove casts no longer required in
81973         C89.
81974         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
81975         * lib/getline.c: Whitespace fix, from coreutils.
81976
81977 2003-08-13  Paul Eggert  <eggert@twinsun.com>
81978
81979         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
81980         Check for isascii.
81981
81982         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
81983         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
81984         Undo previous (whitespace-only) change.
81985
81986 2003-08-13  Paul Eggert  <eggert@twinsun.com>
81987
81988         * lib/exclude.c: Include <ctype.h>
81989         (IN_CTYPE_DOMAIN): New macro.
81990         (is_space): New fn.
81991         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
81992         and empty lines.
81993
81994         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
81995         Undo previous (whitespace-only) change.
81996
81997 2003-08-13  Paul Eggert  <eggert@twinsun.com>
81998
81999         * config/srclist-update: Change update back to the old behavior,
82000         leaving whitespace alone.  Use one 'sed' command rather than a
82001         pipeline.
82002         (fixlicense): Now a variable, not a function.
82003         (remove_trailing_blanks): Remove.
82004         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82005         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82006         Undo previous (whitespace-only) change.
82007
82008 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82009
82010         Merge from coreutils.
82011         * modules/euidaccess: Add lib_SOURCES, include for new
82012         file euidaccess.h
82013
82014 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82015
82016         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82017         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82018         Normalize leading white space and remove trailing white space.
82019
82020         Merge from coreutils
82021         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82022
82023         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82024         0.12.1.  These files are now being upgraded automatically by
82025         ../config/srclist-update.
82026
82027 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82028
82029         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82030         Normalize leading white space and remove trailing white space.
82031         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82032         notice, as per ../config/srclist-update.
82033
82034         Merge from coreutils.
82035         * lib/euidaccess.h: New file.
82036         * lib/euidaccess.c: Include it.
82037         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82038         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82039         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82040
82041 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82042
82043         * config/srclist-update: Add copyright notice.
82044         (remove_id_lines, remove_trailing_blanks): New constants.
82045         (fixfile): Use them to normalize spacing a bit in copied files.
82046         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82047         Normalize leading white space and remove trailing white space.
82048
82049         * config/texinfo.tex: Sync with texinfo.
82050
82051         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82052         strtoul.c from libc, to merge coreutils whitespace changes.
82053
82054         * config/srclist.txt: Get the following m4 files from gettext:
82055         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82056         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82057         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82058         wint_t.m4.
82059
82060 2003-08-12  Karl Berry  <karl@gnu.org>
82061
82062         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82063         been made.
82064
82065 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82066
82067         * modules/gnu-source, m4/gnu-source.m4:
82068         Remove; we're assuming Autoconf 2.54 or later now.
82069         Suggested by Bruno Haible.
82070         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82071
82072 2003-08-11  Bruno Haible  <bruno@clisp.org>
82073
82074         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82075
82076 2003-08-11  Bruno Haible  <bruno@clisp.org>
82077
82078         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82079         (vasnprintf): Use it instead of wcslen.
82080
82081 2003-08-11  Bruno Haible  <bruno@clisp.org>
82082
82083         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82084         value to ensure that _Bool promotes to int. Use #define for _Bool when
82085         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82086
82087 2003-08-10  Karl Berry  <karl@gnu.org>
82088
82089         * lib/regex.h: update from libc (whitespace fix).
82090
82091 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82092
82093         Merge some files from coreutils.  These changes were
82094         originally made by Jim Meyering.
82095         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82096         many older Unixes require this.
82097         * lib/alloca.c (alloca): Remove cast to argument of free;
82098         no longer needed in C89.
82099         * lib/alloca_.h, regex.h: Fix white space to match
82100         what GNU indent does.
82101
82102 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82103
82104         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82105         apparently Emacs's Unicode mode got confused before my 2003-08-05
82106         checkin.
82107
82108 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82109
82110         * m4/extensions.m4: New file.
82111         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82112         Require gl_USE_SYSTEM_EXTENSIONS.
82113         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82114         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82115
82116 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82117
82118         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82119         * modules/extensions, modules/gnu-source: New files.
82120         * modules/timespec, modules/unlocked-io: Depend on extensions.
82121
82122 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82123
82124         * modules/restrict: New file.
82125         * MODULES.html.sh (func_all_modules): Add restrict.
82126         * modules/regex: Depend on restrict.
82127
82128 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82129
82130         * m4/restrict.m4: New file.
82131         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82132
82133 2003-08-07  Bruno Haible  <bruno@clisp.org>
82134
82135         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82136         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82137
82138 2003-08-07  Bruno Haible  <bruno@clisp.org>
82139
82140         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82141         makes the module 'getndelim2' compatible with the module 'getline'.
82142
82143 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82144
82145         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82146         byte with "\201" to avoid glitches when editing that source file
82147         with multi-gnome-terminal.
82148
82149 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82150
82151         * lib/bumpalloc.h: Remove.
82152
82153 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82154
82155         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82156         * modules/bumpalloc: Remove.
82157
82158 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82159
82160         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82161         GNU coding style.
82162
82163         Merge from coreutils.
82164         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82165         1. From glibc.
82166         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82167         from Karl Berry, implemented by Jim Meyering.
82168         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82169         from Dmitry V. Levin.
82170         Remove anachronistic cast of xrealloc.
82171         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82172         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82173         type. Otherwise, it wouldn't compile with at least /bin/cc on
82174         ymp-cray-unicos9.0.2.X.
82175         Combine two mostly-identical uses of alloca into one.
82176         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82177
82178 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82179
82180         [From Emacs.]
82181
82182         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82183         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82184         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82185         obsolete NLIST_NAME_UNION.
82186         [__GNU__]: Undef BSD and FSCALE.
82187         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82188
82189 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82190
82191         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82192         an enum type, so that it's guaranteed to promote to int.  See:
82193         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82194
82195 2003-08-03  Karl Berry  <karl@gnu.org>
82196
82197         * config/depcomp: update from automake.
82198
82199 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82200
82201         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82202         (strerror): Don't assume that a printable int fits in 14 bytes.
82203
82204 2003-07-31  Bruno Haible  <bruno@clisp.org>
82205
82206         * modules/getpass-gnu: New file.
82207         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82208
82209 2003-07-31  Bruno Haible  <bruno@clisp.org>
82210
82211         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82212
82213 2003-07-24  Karl Berry  <karl@gnu.org>
82214
82215         * config/missing: update from automake.
82216
82217 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82218             Bruno Haible  <bruno@clisp.org>
82219
82220         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82221         * lib/getline.c (getline, getdelim): Likewise.
82222         Remove _GNU_SOURCE define; now it's defined in config.h through
82223         m4/getline.m4.
82224
82225 2003-07-23  Karl Berry  <karl@gnu.org>
82226
82227         * config/config.sub: update from prep.
82228
82229 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82230
82231         * modules/xalloc (Depends-on): Add exitfail.
82232         * modules/xmemcoll: Likewise.
82233
82234 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82235
82236         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82237         over-parenthesization in macros.
82238
82239         Sync with coreutils.
82240
82241         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82242         required by C99.
82243
82244         Use `exit_failure' for xalloc and xmemcoll instead of their own
82245         private exit-failure variables.
82246         * lib/xalloc.h (xalloc_exit_failure): Remove.
82247         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82248         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82249         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82250         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82251         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82252
82253 2003-07-20  Jim Meyering  <jim@meyering.net>
82254
82255         * modules/closeout (Depends-on): Add exitfail.
82256         Suggestion from Bruno Haible.
82257
82258 2003-07-19  Karl Berry  <karl@gnu.org>
82259
82260         * config/config.sub: update from prep.
82261
82262 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82263
82264         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82265         Remove.
82266         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82267         to test that it can stand by itself.  Include "exitfail.h".
82268         Clients should set exit_failure instead.
82269         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82270
82271 2003-07-18  Bruno Haible  <bruno@clisp.org>
82272
82273         * modules/getndelim2: New file.
82274         * modules/getline: Share files with module getndelim2.
82275         * modules/getnline: Depend on getndelim2 instead of sharing files with
82276         it. Add getnline.c to lib_SOURCES.
82277         * MODULES.html.sh (func_all_modules): Add getndelim2.
82278
82279 2003-07-18  Bruno Haible  <bruno@clisp.org>
82280
82281         * m4/getndelim2.m4: New file.
82282         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82283         invoke gl_PREREQ_GETNDELIM2.
82284         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82285         gl_PREREQ_GETNDELIM2.
82286         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82287         gl_GETNDELIM2.
82288
82289 2003-07-18  Bruno Haible  <bruno@clisp.org>
82290
82291         * lib/getndelim2.h: New file.
82292         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82293         getndelim2.h.
82294         (getndelim2): Make non-static. Change return type to ssize_t.
82295         * lib/getline.h: Change argument names.
82296         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82297         * lib/getnline.c: Include getndelim2.h.
82298
82299 2003-07-18  Andreas Schwab  <schwab@suse.de>
82300
82301         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82302
82303 2003-07-17  Karl Berry  <karl@gnu.org>
82304
82305         * config/config.sub: update from prep.
82306
82307 2003-07-17  Bruno Haible  <bruno@clisp.org>
82308
82309         * modules/getnline: New file.
82310         * modules/getline: Add lib/getndelim2.c to source file list.
82311         * MODULES.html.sh (func_all_modules): Add getnline.
82312
82313 2003-07-17  Bruno Haible  <bruno@clisp.org>
82314
82315         * m4/getnline.m4: New file.
82316
82317 2003-07-17  Bruno Haible  <bruno@clisp.org>
82318
82319         * m4/Makefile.am.in: Remove file.
82320         * m4/Makefile.am: Remove file.
82321         * m4/Makefile.in: Remove file.
82322
82323 2003-07-17  Bruno Haible  <bruno@clisp.org>
82324
82325         * lib/getnline.h: New file.
82326         * lib/getnline.c: New file.
82327         * lib/getndelim2.c: New file, extracted from getline.c.
82328         (getndelim2): Renamed from getdelim2, with added nmax argument.
82329         * lib/getline.c: Include getndelim2.c.
82330         (getdelim2): Moved out to getndelim2.c.
82331         (getline, getdelim): Update.
82332
82333 2003-07-17  Bruno Haible  <bruno@clisp.org>
82334
82335         * lib/Makefile.am: Remove file.
82336         * lib/Makefile.in: Remove file.
82337
82338 2003-07-17  Bruno Haible  <bruno@clisp.org>
82339
82340         * configure.in: Remove file.
82341         * Makefile.in: Remove file.
82342
82343 2003-07-17  Bruno Haible  <bruno@clisp.org>
82344
82345         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82346
82347 2003-07-16  Karl Berry  <karl@gnu.org>
82348
82349         * config/srclist-update: was running fixlicense twice, which caused
82350                 texinfo.tex to be nullified for some reason.  Simplify,
82351                 $gplsrc is no longer needed as far as I can see?
82352
82353 2003-07-16  Jim Meyering  <jim@meyering.net>
82354
82355         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82356
82357 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82358
82359         * config/srclist.txt: Get the following files from gettext-runtime/intl
82360         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82361         ref-del.sin.  From Bruno Haible.
82362         * config/srclist-update (fixfile): Change grep pattern again, since the
82363         previous fix didn't work (there was another trailing $).  Use
82364         '[$]' to escape the $s.
82365
82366 2003-07-15  Karl Berry  <karl@gnu.org>
82367
82368         * lib/vasnprintf.c: update from gettext.
82369
82370 2003-07-15  Karl Berry  <karl@gnu.org>
82371
82372         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82373         gets expanded when surrounded by '$'.
82374
82375 2003-07-15  Jim Meyering  <jim@meyering.net>
82376
82377         * modules/save-cwd: Don't depend on error.  From Derek Price.
82378
82379 2003-07-15  Jim Meyering  <jim@meyering.net>
82380
82381         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82382
82383 2003-07-14  Simon Josefsson  <jas@extundo.com>
82384
82385         * modules/mempcpy: New file.
82386         * MODULES.html.sh (func_all_modules): Add mempcpy.
82387
82388 2003-07-14  Simon Josefsson  <jas@extundo.com>
82389
82390         * m4/mempcpy.m4: New file.
82391
82392 2003-07-14  Simon Josefsson  <jas@extundo.com>
82393
82394         * lib/mempcpy.h: New file.
82395         * lib/mempcpy.c: New file.
82396
82397 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82398
82399         * modules/getdate, modules/posixtm: Depend on mktime.
82400
82401 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82402
82403         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82404         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82405         unicodeio.c, unicodeio.h, unlocked-io.h:
82406         Switch from LGPL to GPL.
82407
82408 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82409
82410         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82411         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82412         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82413         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82414         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82415         updated automatically by ../config/srclist-update.  This changes
82416         their license from LPGL to GPL.
82417
82418 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82419
82420         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82421         assumed to refer to the root of the most recent stable gettext version.
82422         * config/srclistvars.sh: Add defaults for eggert.
82423         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82424         Match "This program" as well as "The program".  This is needed
82425         for gettext.
82426
82427 2003-07-14  Jim Meyering  <jim@meyering.net>
82428
82429         Don't emit diagnostics.  Let callers do that.
82430         * lib/save-cwd.c: Don't include "error.h".
82431         (save_cwd): Don't call error.  Ensure that errno is valid
82432         when returning nonzero.
82433
82434         * lib/save-cwd.h (restore_cwd): Update prototype.
82435         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82436         Simplify.  Don't call error upon failure.  Let callers do that.
82437         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82438         when auditing is enabled.  But don't bother updating the #if.
82439
82440 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82441
82442         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82443         it breaks C++ compilation.
82444         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82445
82446 2003-07-10  Simon Josefsson  <jas@extundo.com>
82447
82448         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82449
82450 2003-07-10  Jim Meyering  <jim@meyering.net>
82451
82452         * m4/clock_time.m4: Remove trailing blank.
82453         * m4/intmax_t.m4: Likewise.
82454
82455 2003-07-10  Jim Meyering  <jim@meyering.net>
82456
82457         * lib/vasnprintf.c: Remove trailing blanks.
82458         Make cpp indentation consistent.
82459
82460 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82461
82462         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82463         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82464         Switch from LGPL to GPL.
82465
82466 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82467
82468         * config/srclist.txt: Sort sublists.  Add
82469         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
82470         that differ from gnulib for one reason or another; we'd like this list
82471         to be smaller but for now let's document what we have.
82472
82473 2003-07-08  Paul Eggert  <eggert@twinsun.com>
82474
82475         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
82476         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
82477         and sweeter "eval x=$x".
82478         * config/srclist.txt: Get lib/argp* from glibc.
82479
82480 2003-07-07  Paul Eggert  <eggert@twinsun.com>
82481
82482         * lib/mktime.c: Fix some boundary cases and remove need for floating
82483         point.
82484
82485         Issue a compile-time diagnostic if time_t is floating point, or if
82486         two's complement arithmetic is not in effect, or if arithmetic
82487         right shift does not propagate the sign.  These assumptions were
82488         all in the original code but they weren't checked.
82489
82490         (TIME_T_MIDPOINT, verify): New macros.
82491         (__isleap): Remove; it has integer overflow problems.
82492         (leapyear): New function, without those problems.
82493         (ydhms_tm_diff): Remove; splitting into two parts.
82494         (ydhms_diff): New function, containing the arithmetic part of
82495         the old ydhms_tm_diff function.  Issue a compile-time
82496         diagnostic if we are not using C99 integer division.
82497         Avoid casts when possible.
82498         (guess_time_tm): New function, containing the checking part of
82499         the old ydhms_tm_diff function.  Return the new value, rather than
82500         the difference between it and the old.  Accept a new argument T
82501         so that *T specifies the old value.  Check for overflow in the result.
82502
82503         (__mktime_internal): Use a time_t offset, not a long int offset.
82504         This undoes the 2003-06-04 change, which is no longer needed now
82505         that we have better overflow checking.
82506         (localtime_offset): Likewise.
82507
82508         (__mktime_internal): Avoid harmful overflow on hosts where time_t
82509         and long are 64-bit but int is only 32-bit.
82510         (ydhms_diff): Use long int to store year1 and yday1.
82511         Issue a compile-time diagnostic if long int is not wide enough.
82512
82513         (__mktime_internal): Use long int to store adjusted year and yday.
82514         Use plain C rather than preprocessor commands, if that doesn't
82515         affect efficiency.
82516         Check for overflow (and try to repair) after each probe
82517         rather than checking only at the very end.  This avoids some bugs
82518         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
82519         does not equal GMT offset at maximum time).
82520         Use integer to check for overflow rather than floating point; this
82521         is more portable to non-IEEE hosts, and is a tad faster.
82522         When we detect that we are oscillating between two values,
82523         don't check whether tm_isdst has the requested value, since
82524         we already know the answer.  When tm_isdst has the wrong value,
82525         use a different heuristic to find the right one, based on the
82526         extreme values actually observed in practice in tz2003a,
82527         rather than the (overly optimistic) "previous 3 calendar quarters".
82528
82529         (not_equal_tm, print_tm, check_result): Use "const T" rather than
82530         "T const" to accommodate glibc style.
82531         (check_result): Use less-confusing report format.  "long" -> "long int.
82532         (main): Likewise.
82533         Don't loop if the iteration overflows time_t.
82534         Allow a negative step in the iteration.
82535
82536 2003-07-06  Karl Berry  <karl@gnu.org>
82537
82538         * config/depcomp: update from automake.
82539         * config/config.sub: update from prep.
82540
82541 2003-07-03  Karl Berry  <karl@gnu.org>
82542
82543         * config/config.guess: update from prep.
82544
82545 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82546
82547         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
82548         xreadlink.c now includes it unconditionally.
82549
82550 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82551
82552         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
82553         having it depend on HAVE_SYS_TYPES_H.
82554
82555 2003-07-01  Bruno Haible  <bruno@clisp.org>
82556
82557         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
82558         <sys/types.h> should be sufficient.
82559         Reported by Paul Eggert.
82560
82561 2003-06-26  Karl Berry  <karl@gnu.org>
82562
82563         * config/depcomp: update from automake.
82564
82565 2003-06-26  Bruno Haible  <bruno@clisp.org>
82566
82567         * modules/human: Depend on module stdbool.
82568
82569 2003-06-25  Bruno Haible  <bruno@clisp.org>
82570
82571         * modules/readlink: New file.
82572         * modules/xreadlink: Depend on it.
82573         * MODULES.html.sh (func_all_modules): Add readlink.
82574
82575 2003-06-25  Bruno Haible  <bruno@clisp.org>
82576
82577         * m4/readlink.m4: New file.
82578
82579 2003-06-25  Bruno Haible  <bruno@clisp.org>
82580
82581         * lib/readlink.c: New file.
82582
82583 2003-06-22  Karl Berry  <karl@gnu.org>
82584
82585         * config/srclist.txt: update mkinstalldirs from automake.
82586         * config/mkinstalldirs: update.
82587
82588 2003-06-22  Bruno Haible  <bruno@clisp.org>
82589
82590         Portability to mingw32.
82591         * m4/ssize_t.m4: New file, from GNU gettext.
82592         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
82593         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
82594
82595 2003-06-22  Bruno Haible  <bruno@clisp.org>
82596
82597         * modules/safe-read: Add m4/ssize_t.m4.
82598         * modules/xreadlink: Add m4/ssize_t.m4.
82599
82600 2003-06-20  Bruno Haible  <bruno@clisp.org>
82601
82602         Assume C89, so PARAMS isn't needed.
82603         * lib/unicodeio.h (PARAMS): Remove.
82604         * lib/unicodeio.c: Don't use PARAMS.
82605
82606 2003-06-18  Karl Berry  <karl@gnu.org>
82607
82608         * config/config.{guess,sub}: update from prep.
82609
82610 2003-06-18  Jim Meyering  <jim@meyering.net>
82611
82612         Merge changes from coreutils.
82613         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
82614         Remove explicit declarations of xmalloc and realloc.
82615         Include xalloc.h.
82616         (read_utmp): Remove anachronistic cast of xmalloc.
82617
82618 2003-06-17  Paul Eggert  <eggert@twinsun.com>
82619
82620         Assume C89, so PARAMS isn't needed.
82621         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
82622         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
82623         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
82624         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
82625         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
82626         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
82627         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
82628         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
82629         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
82630         lib/xstrtod.h, lib/xstrtol.h: Likewise.
82631         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
82632         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
82633         no longer needed. Anyway, config.h should always be included before any
82634         other file.
82635
82636 2003-06-11  Simon Josefsson  <jas@extundo.com>
82637
82638         * modules/sysexits: New file.
82639         * MODULES.html.sh (func_all_modules): Add sysexits.
82640
82641 2003-06-11  Simon Josefsson  <jas@extundo.com>
82642
82643         * lib/sysexit_.h: New file.
82644
82645 2003-06-11  Derek Price  <derek@ximbiot.com>
82646
82647         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
82648         necessary.
82649
82650 2003-06-11  Bruno Haible  <bruno@clisp.org>
82651
82652         * m4/sysexits.m4: New file.
82653
82654 2003-06-10  Simon Josefsson  <jas@extundo.com>
82655
82656         * lib/argp.h: New file, from glibc.
82657         * lib/argp-ba.c: New file, from glibc.
82658         * lib/argp-eexst.c: New file, from glibc.
82659         * lib/argp-fmtstream.c: New file, from glibc.
82660         * lib/argp-fmtstream.h: New file, from glibc.
82661         * lib/argp-fs-xinl.c: New file, from glibc.
82662         * lib/argp-help.c: New file, from glibc.
82663         * lib/argp-namefrob.h: New file, from glibc.
82664         * lib/argp-parse.c: New file, from glibc.
82665         * lib/argp-pv.c: New file, from glibc.
82666         * lib/argp-pvh.c: New file, from glibc.
82667         * lib/argp-xinl.c: New file, from glibc.
82668
82669 2003-06-10  Simon Josefsson  <jas@extundo.com>
82670
82671         * modules/strchrnul: New file.
82672
82673 2003-06-10  Simon Josefsson  <jas@extundo.com>
82674
82675         * modules/argp: New file.
82676
82677 2003-06-10  Simon Josefsson  <jas@extundo.com>
82678
82679         * m4/strchrnul.m4: New file.
82680
82681 2003-06-10  Simon Josefsson  <jas@extundo.com>
82682
82683         * lib/strchrnul.h: New file.
82684         * lib/strchrnul.c: New file.
82685
82686 2003-06-10  Bruno Haible  <bruno@clisp.org>
82687
82688         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
82689
82690 2003-06-07  Karl Berry  <karl@gnu.org>
82691
82692         * config/config.{guess,sub}: update from prep.
82693
82694 2003-06-07  Jim Meyering  <jim@meyering.net>
82695
82696         * modules/strtod: Use $(...) notation, not @...@ for
82697         AC_REPLACE'd variables.
82698         * modules/localcharset: Likewise.
82699
82700 2003-06-07  Jim Meyering  <jim@meyering.net>
82701
82702         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
82703         in place of my name in the copyright comment.
82704         Remove definition and uses of __P.
82705
82706         From coreutils.
82707         * lib/stat.c: Don't declare xmalloc explicitly.
82708         Instead, include "xalloc.h".
82709         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
82710         xrealloc, and xcalloc return values.
82711         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
82712         Improve comment.
82713         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
82714
82715 2003-06-07  Bruno Haible  <bruno@clisp.org>
82716
82717         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
82718         avoid AC_CONFIG_LINKS.
82719         * modules/fnmatch (Makefile.am): Use explicit creation rule for
82720         fnmatch.h, to avoid AC_CONFIG_LINKS.
82721         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
82722
82723 2003-06-07  Bruno Haible  <bruno@clisp.org>
82724
82725         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
82726         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
82727         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
82728         directory.
82729         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
82730         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
82731         directory.
82732
82733 2003-06-06  Jim Meyering  <jim@meyering.net>
82734
82735         Merge from coreutils.
82736         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
82737         Consolidate declarations and initializations of *_base* locals.
82738
82739         Merge from coreutils.
82740         This avoids a core dump on systems without GNU putenv,
82741         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
82742         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
82743         (unsetenv): New static function, from GNU libc.
82744         (rpl_putenv): Use it.
82745
82746         * lib/modechange.c: Remove trailing blanks.
82747
82748         Merge from coreutils.
82749         * lib/fsusage.c: Remove declaration of statfs.
82750         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
82751
82752         * lib/posixtm.c: Include <stdbool.h> unconditionally.
82753
82754 2003-06-06  Jim Meyering  <jim@meyering.net>
82755
82756         * lib/stdbool_.h: Renamed from stdbool.h.in.
82757
82758 2003-06-06  Jim Meyering  <jim@meyering.net>
82759             Bruno Haible  <bruno@clisp.org>
82760
82761         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
82762         Adjust Makefile.am snippet not to redirect directly to target.
82763         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
82764
82765 2003-06-05  Paul Eggert  <eggert@twinsun.com>
82766
82767         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
82768         mismatch, look in future quarters as well as past.  This fixes a
82769         bug when processing fall-backwards gaps immediately after a long
82770         period of daylight-saving time.
82771
82772         * lib/mktime.c: Assume freestanding C89 or better.
82773         (HAVE_LIMITS_H): Remove.  Assume it's 1.
82774         (__P): Remove; not used.
82775         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
82776         (mktime, not_equal_tm, print_tm, check_result,
82777         main): Use prototypes.  Use const * where appropriate.
82778         (main): Fix typo in testing code that uncovered by above changes.
82779         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
82780
82781 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82782
82783         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
82784         locale.h, localeconv.  This merges changes from coreutils.
82785
82786         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
82787         It can be removed after the next Autoconf is released.
82788         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
82789         needed.
82790
82791 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82792
82793         * lib/mktime.c: Fix Debian bug 177940
82794         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
82795         (localtime_offset): Now long int, not time_t, because we want it
82796         to be guaranteed to be signed.  All uses changed.
82797         (__mktime_internal): If overflow would occur when adding offset,
82798         don't add it.
82799
82800         Merge 'human' changes from coreutils.  Rewrite to support
82801         locale-specific notations like thousands separators.
82802         * lib/human.c: Simplify authorship notice.
82803         Include human.h immediately after config.h.
82804         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
82805         <limits.h>: Do not include, since human.h does.
82806         (SIZE_MAX, UINTMAX_MAX): New macros.
82807         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
82808         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
82809         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
82810         (power_letter): Renamed from suffixes.
82811         (generate_suffix_backwards): Remove.
82812         (adjust_value): Now takes int style (because of human.h changes)
82813         and long double value (for greater precision on some platforms).
82814         (group_number): New function.
82815         (human_readable): Use it.  Use integer options, not enum.
82816         Put the options before the sizes in the arg list.
82817         Support all the new options.
82818         The old human_readable function has been removed;
82819         use inttostr.h instead.
82820         (human_readable, default_block_size, humblock):
82821         Use uintmax_t, not int, for block sizes.
82822         (human_readable_inexact, block_size_types): Remove.
82823         (block_size_opts): New constant.
82824         (human_options): Renamed from human_block_size, with new signature
82825         that allows block sizes up to UINTMAX_MAX.  All callers changed.
82826         * lib/human.h: Add copyright and authorship notice.
82827         Include <limits.h> and <stdbool.h> unconditionally.
82828         (PARAMS): Remove.  All uses removed.
82829         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
82830         (enum human_inexact_style): Remove tag; now a nameless enum.
82831         (human_floor, human_ceiling, human_round_to_even): Now have
82832         values 2, 0, 1 rather than -1, 1, 0.
82833         (human_group_digits, human_suppress_point_zero, human_autoscale,
82834         human_base_1024, human_SI, human_B): New constants.
82835         (human_readable_inexact, human_block_size): Remove.
82836         (human_readable): Size args are now uintmax_t, not int.
82837         (human_options): New decl.
82838
82839         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
82840         unnecessary now that we assume C89 or better.  This change
82841         imported from coreutils.
82842
82843         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
82844         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
82845         in the 2003-05-30 sync from glibc.
82846
82847         .h files should stand alone, but we shouldn't include <sys/types.h>
82848         if we can get away with just <stddef.h>.
82849
82850         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
82851         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
82852         rather than <sys/types.h>, as we merely need size_t.
82853         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
82854         to get size_t.
82855         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
82856         Include <stdio.h>, to get FILE.
82857         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
82858         memcasecmp.h has included <stddef.h> and all we need is size_t.
82859         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
82860         our interface, instead of including <sys/types.h>
82861
82862 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82863
82864         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
82865         now, as glibc mktime is buggy on non-glibc systems.
82866
82867 2003-06-03  Karl Berry  <karl@gnu.org>
82868
82869         * config/config.sub: update from prep.
82870
82871 2003-06-02  Paul Eggert  <eggert@twinsun.com>
82872
82873         [from coreutils]
82874         Fix some minor time-related bugs with POSIX time arguments.
82875         Some valid time stamps were being rejected (notably -1, and
82876         time stamps before 1900 on 64-bit hosts).  And some invalid
82877         time stamps were being accepted, e.g. September 31.
82878
82879         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
82880         that we can return (time_t) -1 successfully.
82881         * lib/posixtm.c: Likewise.
82882         [HAVE_STDBOOL_H]: Include <stdbool.h>.
82883         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
82884         (t): Remove static var.
82885         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
82886         of static var.  All uses changed.
82887         (year): Do not reject years before 1900; they can occur with
82888         64-bit time_t.
82889         (posix_time_parse): Do not check for out-of-range components;
82890         that is now the caller's responsibility, since our checks were
82891         only approximations.
82892         (posixtime): Use mktime to check for out-of-range components,
82893         since it knows them exactly.
82894         If mktime returns (time_t) -1, check whether an error actually occurred
82895         by invoking localtime on -1.
82896         (main) [TEST_POSIXTIME]: Check for input data errors, and report
82897         posixtime failures better.
82898         Improve the test data (in comments only).
82899
82900 2003-06-02  Karl Berry  <karl@gnu.org>
82901
82902         * config/mkinstalldirs (version): new variable.
82903         (--version): new option.
82904         (usage): improve message.
82905
82906 2003-05-30  Karl Berry  <karl@gnu.org>
82907
82908         * lib/mktime.c: update from libc.
82909
82910 2003-05-30  Bruno Haible  <bruno@clisp.org>
82911
82912         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
82913         * config/config.rpath: Upgrade to gettext-0.12.1.
82914
82915 2003-05-30  Bruno Haible  <bruno@clisp.org>
82916
82917         * m4/gettext.m4: Upgrade to gettext-0.12.1.
82918         * m4/nls.m4: New file, from gettext-0.12.1.
82919         * m4/po.m4: New file, from gettext-0.12.1.
82920         * m4/progtest.m4: Upgrade to gettext-0.12.1.
82921
82922 2003-05-30  Bruno Haible  <bruno@clisp.org>
82923
82924         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
82925         * lib/localcharset.h: Likewise.
82926         * lib/localcharset.c: Likewise.
82927
82928 2003-05-29  Karl Berry  <karl@gnu.org>
82929
82930         * config/config.rpath: update from gettext.
82931
82932 2003-05-28  Paul Eggert  <eggert@twinsun.com>
82933
82934         Assume the headers required for C89 freestanding compilers.
82935         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
82936         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
82937         * m4/human.m4 (gl_HUMAN): Likewise.
82938         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
82939         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
82940         * m4/userspec.m4 (gl_USERSPEC): Likewise.
82941         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
82942         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
82943         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
82944
82945 2003-05-28  Paul Eggert  <eggert@twinsun.com>
82946
82947         Assume the headers required for C89 freestanding compilers.
82948         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
82949         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
82950         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
82951         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
82952         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
82953         define, since <limits.h> is guaranteed to do that.
82954         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
82955         * lib/exclude.c: Include <stdbool.h> unconditionally.
82956         * lib/tempname.c: Include <stddef.h> unconditionally.
82957         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
82958         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
82959         <stddef.h> does that.
82960         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
82961         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
82962         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
82963         needed.
82964         * lib/xstrtol.c: Likewise.
82965         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
82966         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
82967
82968         * lib/addext.c (addext): Use assignment rather than cast, to avoid
82969         warnings on some platforms.
82970
82971         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
82972         arbitrarily.
82973
82974 2003-05-26  Jim Meyering  <jim@meyering.net>
82975
82976         Merge in a change from coreutils:
82977         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
82978         that is guaranteed to be `no'.  Use `no_such_member' to indicate
82979         that condition, rather than `-1' which is slightly misleading.
82980         Change the name of the cache variable to have the gl_ prefix.
82981         Prompted by a patch from Richard Dawe for DJGPP.
82982
82983 2003-05-24  Karl Berry  <karl@gnu.org>
82984
82985         * config/config.guess: update from prep.
82986
82987 2003-05-22  Karl Berry  <karl@gnu.org>
82988
82989         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
82990
82991 2003-05-20  Karl Berry  <karl@gnu.org>
82992
82993         * config/config.guess: update from prep.
82994
82995 2003-05-18  Karl Berry  <karl@gnu.org>
82996
82997         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
82998         might actually be set by the user.
82999
83000         * config/depcomp, install-sh, mdate-sh: update from automake.
83001
83002 2003-05-17  Bruno Haible  <bruno@clisp.org>
83003
83004         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83005         invalid expansion for AC_EGREP_CPP.
83006         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83007         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83008         Suggested by Akim Demaille <akim@epita.fr> in
83009         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83010
83011 2003-05-12  Jim Meyering  <jim@meyering.net>
83012
83013         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83014         the space-padded-by-default conversion specifiers, %e, %k, %l.
83015
83016 2003-05-12  Bruno Haible  <bruno@clisp.org>
83017
83018         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83019         the string is longer than 4 KB.
83020
83021 2003-05-11  Karl Berry  <karl@gnu.org>
83022
83023         * config/config.{guess,sub}: update from prep.
83024
83025 2003-05-09  Bruno Haible  <bruno@clisp.org>
83026
83027         * modules/error: Add m4/strerror_r.m4 to file list.
83028
83029 2003-05-03  Bruno Haible  <bruno@clisp.org>
83030
83031         Upgrade to Unicode-4.0.
83032         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83033         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83034         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83035         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83036         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83037         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83038         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83039         Change width of U+E0100..U+E01EF from 1 to 0.
83040
83041 2003-04-25  Jim Meyering  <jim@meyering.net>
83042
83043         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83044         of type size_t, not int.
83045
83046 2003-04-25  Bruno Haible  <bruno@clisp.org>
83047
83048         * lib/copy-file.c: Include <stddef.h>, for size_t.
83049
83050 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83051
83052         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83053         code which expansion is under static control.  Patch imported from
83054         Akim Demaille's patch to Bison; see
83055         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83056
83057 2003-04-14  Bruno Haible  <bruno@clisp.org>
83058
83059         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83060
83061 2003-04-11  Jim Meyering  <jim@meyering.net>
83062
83063         Merge changes from Coreutils.
83064
83065         2003-03-22  Jim Meyering  <jim@meyering.net>
83066
83067         * lib/strftime.c (widen): Cast alloca return value to proper type.
83068
83069         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83070
83071         From GNU libc.
83072         * lib/strftime.c (my_strftime): Handle very large width
83073         specifications for numeric values correctly.  Improve checks for
83074         overflow.
83075
83076         2003-01-19  Jim Meyering  <jim@meyering.net>
83077
83078         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83079         definitions.
83080         (nl_get_alt_digit) [! defined my_strftime]: Define.
83081         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83082         _nl_get_alt_digit and _nl_get_walt_digit.
83083
83084         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83085         libc. These changes have no effect outside of _LIBC.
83086
83087 2003-04-10  Bruno Haible  <bruno@clisp.org>
83088
83089         * modules/findprog: New file.
83090         * MODULES.html.sh (func_all_modules): Add it.
83091
83092 2003-04-10  Bruno Haible  <bruno@clisp.org>
83093
83094         * m4/findprog.m4: New file.
83095         * m4/eaccess.m4: New file.
83096
83097 2003-04-10  Bruno Haible  <bruno@clisp.org>
83098
83099         * lib/findprog.h: New file, from GNU gettext.
83100         * lib/findprog.c: New file, from GNU gettext.
83101
83102 2003-04-05  Jim Meyering  <jim@meyering.net>
83103
83104         Merge changes from Coreutils.
83105
83106         * lib/exclude.h (PARAMS): Remove definition and uses.
83107         * lib/exclude.c: Remove uses of `PARAMS'.
83108
83109         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83110         Add test-cases for DOS filenames. Declare program_name.
83111         (main): Set up program_name.  Patch by Rich Dawe.
83112
83113         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83114         error from mntctl.
83115         Use mntctl's return value to drive the entry-processing loop, since
83116         we can't rely on the value of the vmt_length member in the last
83117         entry.  On some systems doing so could result in exhausting
83118         virtual memory.  Based in part on a patch from Mike Jetzer.
83119
83120 2003-04-04  Bruno Haible  <bruno@clisp.org>
83121
83122         * modules/linebreak: New file.
83123         * MODULES.html.sh (func_all_modules): Add it.
83124
83125 2003-04-04  Bruno Haible  <bruno@clisp.org>
83126
83127         * m4/linebreak.m4: New file.
83128
83129 2003-04-04  Bruno Haible  <bruno@clisp.org>
83130
83131         * lib/linebreak.h: New file, from GNU gettext.
83132         * lib/linebreak.c: New file, from GNU gettext with slight
83133         modifications.
83134         * lib/lbrkprop.h: New file, from GNU gettext.
83135
83136 2003-04-03  Bruno Haible  <bruno@clisp.org>
83137
83138         * modules/utf8-ucs4: New file.
83139         * modules/utf16-ucs4: New file.
83140         * modules/ucs4-utf8: New file.
83141         * modules/ucs4-utf16: New file.
83142         * MODULES.html.sh (func_all_modules): Add them.
83143
83144 2003-04-03  Bruno Haible  <bruno@clisp.org>
83145
83146         * m4/utf-ucs4.m4: New file.
83147         * m4/ucs4-utf.m4: New file.
83148
83149 2003-04-03  Bruno Haible  <bruno@clisp.org>
83150
83151         * lib/utf8-ucs4.h: New file, from GNU gettext.
83152         * lib/utf16-ucs4.h: New file, from GNU gettext.
83153         * lib/ucs4-utf8.h: New file, from GNU gettext.
83154         * lib/ucs4-utf16.h: New file, from GNU gettext.
83155
83156 2003-04-02  Bruno Haible  <bruno@clisp.org>
83157
83158         * modules/binary-io: New file.
83159         * MODULES.html.sh (func_all_modules): Add it.
83160
83161 2003-04-02  Bruno Haible  <bruno@clisp.org>
83162
83163         * lib/binary-io.h: New file, from GNU gettext.
83164
83165 2003-04-01  Bruno Haible  <bruno@clisp.org>
83166
83167         * modules/pathname: New file.
83168         * MODULES.html.sh (func_all_modules): Add it.
83169
83170 2003-04-01  Bruno Haible  <bruno@clisp.org>
83171
83172         * lib/pathname.h: New file, from GNU gettext.
83173         * lib/concatpath.c: New file, from GNU gettext.
83174
83175 2003-03-30  Bruno Haible  <bruno@clisp.org>
83176
83177         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83178
83179 2003-03-30  Bruno Haible  <bruno@clisp.org>
83180
83181         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83182         function chown() doesn't exist.
83183
83184 2003-03-28  Bruno Haible  <bruno@clisp.org>
83185
83186         * modules/copy-file: New file.
83187         * MODULES.html.sh (func_all_modules): Add it.
83188
83189 2003-03-28  Bruno Haible  <bruno@clisp.org>
83190
83191         * m4/copy-file.m4: New file.
83192
83193 2003-03-28  Bruno Haible  <bruno@clisp.org>
83194
83195         * lib/copy-file.h: New file, from GNU gettext.
83196         * lib/copy-file.c: New file, from GNU gettext.
83197
83198 2003-03-18  Jim Meyering  <jim@meyering.net>
83199
83200         * lib/quote.c (quote_n): Fix typo in comment.
83201
83202 2003-03-18  Bruno Haible  <bruno@clisp.org>
83203
83204         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83205         checking.
83206         * m4/onceonly_2_57.m4: Likewise.
83207
83208 2003-03-17  Bruno Haible  <bruno@clisp.org>
83209
83210         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83211         (m4_quote): Remove macro.
83212         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83213
83214 2003-03-14  Jim Meyering  <jim@meyering.net>
83215
83216         Merge changes from Coreutils.
83217         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83218         to be const, in order to avoid warnings.
83219         (obstack_room): Likewise.
83220         (obstack_empty_p): Likewise.
83221
83222 2003-03-14  Bruno Haible  <bruno@clisp.org>
83223
83224         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83225         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83226
83227 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83228
83229         Merge changes from Bison.
83230         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83231         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83232         when compiling Bison 1.875's `bitset bset = obstack_alloc
83233         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83234         * lib/hash.c: Include <stdbool.h> unconditionally.
83235
83236 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83237
83238         * m4/onceonly.m4 (m4_quote): New macro.
83239         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83240         Quote AC_FOREACH variable-expansions properly.
83241
83242 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83243
83244         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83245
83246 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83247
83248         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83249         Reported by Bruce Becker; see:
83250         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83251
83252 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83253             Bruno Haible  <bruno@clisp.org>
83254
83255         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83256         Reported by John Hughes, see
83257         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83258
83259 2003-02-20  Bruno Haible  <bruno@clisp.org>
83260
83261         * MODULES.html.sh (func_all_modules): Add poll.
83262
83263 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83264
83265         * modules/poll: New file.
83266
83267 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83268
83269         * lib/poll_.h: New file.
83270         * lib/poll.c: New file.
83271
83272 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83273
83274         * m4/poll.m4: New file.
83275
83276 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83277
83278         * modules/mathl: New file.
83279
83280 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83281
83282         * lib/mathl.h: New file.
83283         * lib/acosl.c: New file.
83284         * lib/asinl.c: New file.
83285         * lib/atanl.c: New file.
83286         * lib/ceill.c: New file.
83287         * lib/cosl.c: New file.
83288         * lib/expl.c: New file.
83289         * lib/floorl.c: New file.
83290         * lib/frexpl.c: New file.
83291         * lib/ldexpl.c: New file.
83292         * lib/logl.c: New file.
83293         * lib/sincosl.c: New file.
83294         * lib/sinl.c: New file.
83295         * lib/sqrtl.c: New file.
83296         * lib/tanl.c: New file.
83297         * lib/trigl.c: New file.
83298         * lib/trigl.h: New file.
83299
83300 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83301
83302         * m4/mathl.m4: New file.
83303
83304 2003-02-18  Bruno Haible  <bruno@clisp.org>
83305
83306         * MODULES.html.sh (func_all_modules): Add mathl.
83307
83308 2003-02-17  Bruno Haible  <bruno@clisp.org>
83309
83310         * modules/mkdtemp: New module.
83311         * MODULES.html.sh (func_all_modules): Add it.
83312
83313 2003-02-17  Bruno Haible  <bruno@clisp.org>
83314
83315         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83316
83317 2003-02-17  Bruno Haible  <bruno@clisp.org>
83318
83319         * lib/mkdtemp.h: New file, from GNU gettext.
83320         * lib/mkdtemp.c: New file, from GNU gettext.
83321
83322 2003-02-02  Jim Meyering  <jim@meyering.net>
83323
83324         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83325         e.g. glibc-2.2.93.
83326
83327 2003-01-31  Bruno Haible  <bruno@clisp.org>
83328
83329         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83330         'rpl_rename'.
83331         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83332         'rpl_strnlen'.
83333         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83334         'rpl_strtod'.
83335         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83336         'rpl_utime'.
83337
83338 2003-01-31  Bruno Haible  <bruno@clisp.org>
83339
83340         * lib/rename.c: #undef rename before defining rpl_rename.
83341         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83342
83343 2003-01-30  Bruno Haible  <bruno@clisp.org>
83344
83345         * modules/vasnprintf, modules/vasprintf: New modules.
83346         * MODULES.html.sh (func_all_modules): Add them.
83347
83348 2003-01-30  Bruno Haible  <bruno@clisp.org>
83349
83350         * m4/signed.m4: New file, from GNU gettext.
83351         * m4/longdouble.m4: New file, from GNU gettext.
83352         * m4/wchar_t.m4: New file, from GNU gettext.
83353         * m4/wint_t.m4: New file, from GNU gettext.
83354         * m4/vasnprintf.m4: New file.
83355         * m4/vasprintf.m4: New file.
83356
83357 2003-01-30  Bruno Haible  <bruno@clisp.org>
83358
83359         * lib/printf-args.h: New file, from GNU gettext.
83360         * lib/printf-args.c: New file, from GNU gettext.
83361         * lib/printf-parse.h: New file, from GNU gettext.
83362         * lib/printf-parse.c: New file, from GNU gettext.
83363         * lib/vasnprintf.h: New file, from GNU gettext.
83364         * lib/vasnprintf.c: New file, from GNU gettext.
83365         * lib/asnprintf.c: New file, from GNU gettext.
83366         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83367         * lib/vasprintf.c: New file, from GNU gettext.
83368         * lib/asprintf.c: New file, from GNU gettext.
83369
83370 2003-01-29  Bruno Haible  <bruno@clisp.org>
83371
83372         * modules/stpncpy: New module.
83373         * MODULES.html.sh (func_all_modules): Add it.
83374
83375 2003-01-29  Bruno Haible  <bruno@clisp.org>
83376
83377         * m4/stpncpy.m4: New file.
83378
83379 2003-01-29  Bruno Haible  <bruno@clisp.org>
83380
83381         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83382         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83383
83384 2003-01-28  Bruno Haible  <bruno@clisp.org>
83385
83386         * modules/c-ctype: New module.
83387         * MODULES.html.sh (func_all_modules): Add it.
83388
83389 2003-01-28  Bruno Haible  <bruno@clisp.org>
83390
83391         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83392         Paul Eggert.
83393         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83394         Paul Eggert.
83395
83396 2003-01-27  Bruno Haible  <bruno@clisp.org>
83397
83398         * modules/xsetenv: New module.
83399         * MODULES.html.sh (func_all_modules): Add it.
83400
83401 2003-01-27  Bruno Haible  <bruno@clisp.org>
83402
83403         * lib/xsetenv.h: New file, from GNU gettext.
83404         * lib/xsetenv.c: New file, from GNU gettext.
83405
83406 2003-01-23  Jim Meyering  <jim@meyering.net>
83407
83408         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83409         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83410
83411 2003-01-23  Bruno Haible  <bruno@clisp.org>
83412
83413         * modules/minmax: New module.
83414         * MODULES.html.sh (func_all_modules): Add it.
83415
83416 2003-01-23  Bruno Haible  <bruno@clisp.org>
83417
83418         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83419         Eggert.
83420
83421 2003-01-22  Bruno Haible  <bruno@clisp.org>
83422
83423         * modules/exit: New module.
83424         * MODULES.html.sh (func_all_modules): Add it.
83425
83426 2003-01-22  Bruno Haible  <bruno@clisp.org>
83427
83428         * lib/exit.h: New file, from GNU gettext.
83429
83430 2003-01-19  Bruno Haible  <bruno@clisp.org>
83431
83432         * gnulib-tool: Recognize option --extract-maintainer.
83433         (func_get_maintainer): New function.
83434         * modules/*: Add Maintainer entry.
83435
83436 2003-01-16  Jim Meyering  <jim@meyering.net>
83437
83438         * m4/regex.m4: The `regex' struct is both input and output.
83439         Initialize it before each use.  Patch by Tim Waugh.
83440
83441 2003-01-16  Bruno Haible  <bruno@clisp.org>
83442
83443         * MODULES.html.sh: Add a table of contents. Add the module name as
83444         leftmost column. Add hyperlinks.
83445
83446 2003-01-15  Bruno Haible  <bruno@clisp.org>
83447
83448         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83449
83450 2003-01-15  Bruno Haible  <bruno@clisp.org>
83451
83452         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83453         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83454         suffix.
83455
83456 2003-01-15  Bruno Haible  <bruno@clisp.org>
83457
83458         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83459
83460 2003-01-15  Bruno Haible  <bruno@clisp.org>
83461
83462         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83463         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83464
83465 2003-01-14  Jim Meyering  <jim@meyering.net>
83466
83467         * lib/same.c (same_name): Tweak a comment.
83468
83469 2003-01-14  Bruno Haible  <bruno@clisp.org>
83470
83471         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
83472         when a string comparison is sufficient.
83473
83474 2003-01-14  Bruno Haible  <bruno@clisp.org>
83475
83476         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
83477         'unsigned int'.
83478
83479 2003-01-14  Bruno Haible  <bruno@clisp.org>
83480
83481         * lib/hash-pjw.c: Add comment about low quality of this function.
83482
83483 2003-01-13  Bruno Haible  <bruno@clisp.org>
83484
83485         * modules/stpcpy: Distribute lib/stpcpy.h.
83486         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
83487
83488 2003-01-13  Bruno Haible  <bruno@clisp.org>
83489
83490         * modules/*: Add a description.
83491         * modules/strpbrk: Fix Makefile.am snippet.
83492         * modules/strtoimax: Fix dependencies.
83493         * modules/strtoumax: Likewise.
83494
83495 2003-01-13  Bruno Haible  <bruno@clisp.org>
83496
83497         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
83498         * modules/alloca (Makefile.am): All object files depend on alloca.h.
83499         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
83500
83501 2003-01-13  Bruno Haible  <bruno@clisp.org>
83502
83503         * gnulib-tool (func_create_testdir): Store config/* files in the main
83504         directory.
83505         * config.rpath: Move to ...
83506         * config/config.rpath: ... here.
83507         * modules/gettext: Contains config/config.rpath, not config.rpath.
83508         * modules/iconv: Likewise.
83509
83510 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83511
83512         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83513         to avoid collisions with libcurses and libreadline.
83514
83515         * m4/getstr.m4: Remove.
83516         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
83517
83518 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83519
83520         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83521         to avoid collisions with libcurses and libreadline.
83522
83523         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
83524         * lib/getstr.h, getstr.c: Remove.
83525         * lib/getline.c: Include "getline.h", to check interface.
83526         Move body of old getstr.c here: this defines MIN_CHUNK and
83527         declares getdelim2, which is renamed from getstr.
83528         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
83529
83530         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
83531         All uses changed.
83532         * lib/linebuffer.h: Likewise.
83533         (readline): Remove backward-compatibility macro.
83534
83535 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83536
83537         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83538         to avoid collisions with libcurses and libreadline.
83539         * getstr: Remove.
83540         * MODULES.html.sh: Remove getstr.
83541         * modules/getline: Depend on unlocked-io, not getstr.
83542
83543 2003-01-12  Jim Meyering  <jim@meyering.net>
83544
83545         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
83546
83547 2003-01-10  Bruno Haible  <bruno@clisp.org>
83548
83549         * modules/alloca: Change Makefile.am requirements. Simplify Include
83550         requirements. Add lib/alloca_.h to file list.
83551
83552 2003-01-10  Bruno Haible  <bruno@clisp.org>
83553
83554         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
83555
83556 2003-01-10  Bruno Haible  <bruno@clisp.org>
83557
83558         * lib/alloca_.h: New file.
83559         * lib/getdate.y: Unconditionally include alloca.h.
83560         * lib/makepath.c: Likewise.
83561         * lib/setenv.c: Likewise.
83562         * lib/userspec.c: Likewise.
83563
83564 2003-01-09  Karl Berry  <karl@gnu.org>
83565
83566         * MODULES.html.sh: include `dirname $0` in PATH, to find
83567         gnulib-tool.
83568
83569 2003-01-09  Bruno Haible  <bruno@clisp.org>
83570
83571         * modules/stdbool: Change configure.ac, Makefile.am requirements.
83572         Simplify Include requirements. Add lib/stdbool.h.in to file list.
83573
83574 2003-01-09  Bruno Haible  <bruno@clisp.org>
83575
83576         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
83577
83578 2003-01-09  Bruno Haible  <bruno@clisp.org>
83579
83580         * lib/stdbool.h.in: New file.
83581
83582 2003-01-09  Bruno Haible  <bruno@clisp.org>
83583
83584         * gnulib-tool (func_all_modules): Ignore files ending in ~.
83585         * MODULES.html.sh: Likewise.
83586
83587 2003-01-08  Jim Meyering  <jim@meyering.net>
83588
83589         * lib/full-write.c: Undefine and define-away `const' after inclusion
83590         of errno.h, not before.  Suggestion from Bruno Haible.
83591
83592 2003-01-08  Bruno Haible  <bruno@clisp.org>
83593
83594         * modules/full-read: Depend on full-write.
83595
83596 2003-01-08  Bruno Haible  <bruno@clisp.org>
83597
83598         * lib/safe-read.c: Include specification header first, to ensure its
83599         selfcontainedness.
83600         * lib/full-write.c: Likewise.
83601
83602 2003-01-07  Jim Meyering  <jim@meyering.net>
83603
83604         * lib/full-write.c: Rework so that it may serve to define full_read,
83605         too.
83606         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
83607
83608 2003-01-07  Bruno Haible  <bruno@clisp.org>
83609
83610         * lib/strtoimax.c: Include <stdint.h> as an alternative to
83611         <inttypes.h>.
83612         * lib/xstrtol.h: Likewise.
83613         * lib/xstrtoimax.c: Likewise.
83614         * lib/xstrtoumax.c: Likewise.
83615         * lib/human.h: Likewise.
83616
83617         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
83618         on systems that have <inttypes.h> but not <stdint.h>.
83619
83620 2003-01-07  Bruno Haible  <bruno@clisp.org>
83621
83622         * MODULES.html.sh: Add copyright notice.
83623         (missed_files): Omit CVS directory entries.
83624         (func_module): Make it work with sed-3.02.
83625         * MODULES.txt: Remove file.
83626
83627 2003-01-06  Jim Meyering  <jim@meyering.net>
83628
83629         * lib/version-etc.c: Update year in translatable copyright string.
83630
83631 2003-01-03  Karl Berry  <karl@gnu.org>
83632
83633         * config/config.{guess,sub}: update from prep.
83634
83635 2003-01-02  Karl Berry  <karl@gnu.org>
83636
83637         * doc/COPYING.DOC: belatedly updated to 1.2.
83638
83639 2003-01-01  Karl Berry  <karl@gnu.org>
83640
83641         * gnulib-tool (func_verify_module): report module name $module in
83642         error message, not $1.
83643         * gnulib-tool (create-testdir): don't complain if destdir couldn't
83644         be created, only if it doesn't exist.
83645         * gnulib-tool (last_checkin_date): don't expand the $Date here.
83646
83647 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83648
83649         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
83650
83651 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83652
83653         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
83654         memcmp if strcoll doesn't work.
83655
83656 2002-12-31  Bruno Haible  <bruno@clisp.org>
83657
83658         * lib/utime.c (utime_null): No need to call ftruncate if the file was
83659         nonempty.
83660
83661 2002-12-31  Bruno Haible  <bruno@clisp.org>
83662
83663         * lib/memcoll.c (STRCOLL): New macro.
83664         (memcoll): Use it.
83665
83666 2002-12-31  Bruno Haible  <bruno@clisp.org>
83667
83668         * lib/localcharset.h: New file.
83669         * lib/localcharset.c: Include it.
83670         * lib/unicodeio.c: Likewise.
83671
83672 2002-12-31  Bruno Haible  <bruno@clisp.org>
83673
83674         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
83675         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
83676
83677 2002-12-31  Bruno Haible  <bruno@clisp.org>
83678
83679         * lib/getline.h: Include <stddef.h>, for size_t.
83680
83681         * lib/unicodeio.h: Include <stddef.h>, for size_t.
83682         * lib/unicodeio.c: Don't include <stddef.h>.
83683
83684 2002-12-31  Bruno Haible  <bruno@clisp.org>
83685
83686         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
83687         HAVE_TM_ZONE.
83688
83689 2002-12-24  Karl Berry  <karl@gnu.org>
83690
83691         * config/config.guess: update from prep.
83692
83693 2002-12-24  Bruno Haible  <bruno@clisp.org>
83694
83695         General infrasructure.
83696         * m4/README: Rewritten.
83697         * m4/onceonly.m4: New file.
83698         * m4/onceonly_2_57.m4: New file.
83699
83700         Module atexit.
83701         * m4/atexit.m4: New file.
83702
83703         Module strtod.
83704         * m4/strtod.m4: New file.
83705
83706         Module strtol.
83707         * m4/strtol.m4: New file.
83708
83709         Module strtoul.
83710         * m4/strtoul.m4: New file.
83711
83712         Module memchr.
83713         * m4/memchr.m4: New file.
83714
83715         Module memcmp.
83716         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
83717         (jm_FUNC_MEMCMP): Invoke it.
83718
83719         Module memcpy.
83720         * m4/memcpy.m4: New file.
83721
83722         Module memmove.
83723         * m4/memmove.m4: New file.
83724
83725         Module memset.
83726         * m4/memset.m4: New file.
83727
83728         Module strcspn.
83729         * m4/strcspn.m4: New file.
83730
83731         Module strpbrk.
83732         * m4/strpbrk.m4: New file.
83733
83734         Module strstr.
83735         * m4/strstr.m4: New file.
83736
83737         Module strerror.
83738         * m4/strerror.m4: New file.
83739
83740         Module mktime.
83741         * m4/mktime.m4: Renamed from jm-mktime.m4.
83742         (gl_PREREQ_MKTIME): New macro.
83743         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
83744
83745         Module malloc.
83746         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
83747         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
83748         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
83749
83750         Module realloc.
83751         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
83752         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
83753         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
83754
83755         Module strftime.
83756         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
83757         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
83758         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
83759         gl_TM_GMTOFF.
83760         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
83761
83762         Module xalloc.
83763         * m4/xalloc.m4: New file.
83764
83765         Module alloca.
83766         * m4/alloca.m4: New file.
83767
83768         Module putenv.
83769         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
83770         (jm_FUNC_PUTENV): Invoke it.
83771
83772         Module setenv.
83773         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
83774         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
83775         when invoked twice.
83776         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
83777         gt_FUNC_SETENV.
83778
83779         Module memrchr.
83780         * m4/memrchr.m4: New file.
83781
83782         Module stpcpy.
83783         * m4/stpcpy.m4: New file.
83784
83785         Module strcase.
83786         * m4/strcase.m4: New file.
83787
83788         Module strdup.
83789         * m4/strdup.m4: New file.
83790
83791         Module strnlen.
83792         * m4/strnlen.m4: New file.
83793
83794         Module strndup.
83795         * m4/strndup.m4: New file.
83796
83797         Module xstrtod.
83798         * m4/xstrtod.m4: New file.
83799
83800         Module xstrtol.
83801         * m4/xstrtol.m4: New file.
83802
83803         Module getdate.
83804         * m4/getdate.m4: New file.
83805
83806         Module unlocked-io.
83807         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
83808         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
83809         * m4/jm-glibc-io.m4n: Remove file.
83810
83811         Module long-options.
83812         * m4/long-options.m4: New file.
83813
83814         Module md5.
83815         * m4/md5.m4: New file.
83816
83817         Module sha.
83818         * m4/sha.m4: New file.
83819
83820         Module getstr.
83821         * m4/getstr.m4: New file.
83822
83823         Module getline.
83824         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
83825         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
83826         <sys/types.h>, for size_t. Use the function name gnu_getline, not
83827         simply getline. Infoke gl_PREREQ_GETLINE.
83828
83829         Module obstack.
83830         * m4/obstack.m4: New file.
83831
83832         Module hash.
83833         * m4/hash.m4: New file.
83834
83835         Module readtokens.
83836         * m4/readtokens.m4: New file.
83837
83838         Module strverscmp.
83839         * m4/strverscmp.m4: New file.
83840
83841         Module stdbool.
83842         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
83843         OSF/1.
83844
83845         Module strtoll.
83846         * m4/strtoll.m4: New file.
83847
83848         Module strtoull.
83849         * m4/strtoull.m4: New file.
83850
83851         Module strtoimax.
83852         * m4/strtoimax.m4: New file.
83853
83854         Module strtoumax.
83855         * m4/strtoumax.m4: New file.
83856
83857         Module xstrtoimax.
83858         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
83859         jm_AC_PREREQ_XSTRTOIMAX.
83860         Moved the strtol prerequisites to strtol.m4.
83861         Moved the strtoll prerequisites to strtoll.m4.
83862         Moved the strtoimax prerequisites to strtoimax.m4.
83863
83864         Module xstrtoumax.
83865         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
83866         jm_AC_PREREQ_XSTRTOUMAX.
83867         Moved the strtoul prerequisites to strtoul.m4.
83868         Moved the strtoull prerequisites to strtoull.m4.
83869         Moved the strtoumax prerequisites to strtoumax.m4.
83870
83871         Module chown.
83872         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
83873         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
83874
83875         Module dup2.
83876         * m4/dup2.m4: New file.
83877
83878         Module ftruncate.
83879         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
83880         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
83881
83882         Module getgroups.
83883         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
83884         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
83885
83886         Module gettimeofday.
83887         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
83888         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
83889         gl_PREREQ_GETTIMEOFDAY.
83890
83891         Module mkdir.
83892         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
83893         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
83894
83895         Module mkstemp.
83896         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
83897         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
83898         jm_AC_TYPE_UINTMAX_T.
83899         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
83900
83901         Module stat.
83902         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
83903         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
83904
83905         Module lstat.
83906         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
83907         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
83908
83909         Module timespec.
83910         * m4/timespec.m4 (gl_TIMESPEC): New macro.
83911         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
83912         * m4/st_mtim.m4: Indentation.
83913
83914         Module nanosleep.
83915         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
83916         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
83917         gl_PREREQ_NANOSLEEP.
83918
83919         Module regex.
83920         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
83921         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
83922         (gl_REGEX): New macro.
83923
83924         Module rename.
83925         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
83926         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
83927
83928         Module rmdir.
83929         * m4/rmdir.m4: New file.
83930
83931         Module utime.
83932         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
83933         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
83934         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
83935
83936         Module dirname.
83937         * m4/dirname.m4: New file.
83938
83939         Module getopt.
83940         * m4/getopt.m4: New file.
83941
83942         Module unistd-safer.
83943         * m4/unistd-safer.m4: New file.
83944
83945         Module fnmatch.
83946         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
83947         declaration.
83948         (gl_PREREQ_FNMATCH_EXTRA): New macro.
83949         (gl_FUNC_FNMATCH_POSIX): New macro.
83950         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
83951         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
83952         simply fnmatch.
83953
83954         Module exclude.
83955         * m4/exclude.m4: New file.
83956
83957         Module human.
83958         * m4/human.m4: New file.
83959
83960         Module acl.
83961         * m4/acl.m4: Nop.
83962
83963         Module backupfile.
83964         * m4/backupfile.m4: New file.
83965         * m4/d-ino.m4: Indentation.
83966
83967         Module fsusage.
83968         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
83969         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
83970         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
83971
83972         Module dirfd.
83973         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
83974         requirements.
83975
83976         Module euidaccess.
83977         * m4/euidaccess.m4: New file.
83978
83979         Module file-type.
83980         * m4/file-type.m4: New file.
83981
83982         Module fileblocks.
83983         * m4/fileblocks.m4: New file.
83984
83985         Module filemode.
83986         * m4/filemode.m4: New file.
83987
83988         Module isdir.
83989         * m4/isdir.m4: New file.
83990
83991         Module lchown.
83992         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
83993         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
83994
83995         Module makepath.
83996         * m4/makepath.m4: New file.
83997
83998         Module modechange.
83999         * m4/modechange.m4: New file.
84000
84001         Module mountlist.
84002         * m4/mountlist.m4: New file.
84003         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84004         Indentation.
84005
84006         Module path-concat.
84007         * m4/path-concat.m4: New file.
84008
84009         Module pathmax.
84010         * m4/pathmax.m4: New file.
84011
84012         Module same.
84013         * m4/same.m4: New file.
84014
84015         Module save-cwd.
84016         * m4/save-cwd.m4: New file.
84017
84018         Module savedir.
84019         * m4/savedir.m4: New file.
84020
84021         Module xgetcwd.
84022         * m4/xgetcwd.m4: New file.
84023         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84024
84025         Module xreadlink.
84026         * m4/xreadlink.m4: New file.
84027
84028         Module safe-read.
84029         * m4/safe-read.m4: New file.
84030
84031         Module safe-write.
84032         * m4/safe-write.m4: New file.
84033
84034         Module closeout.
84035         * m4/closeout.m4: New file.
84036
84037         Module stdio-safer.
84038         * m4/stdio-safer.m4: New file.
84039
84040         Module getpass.
84041         * m4/getpass.m4: New file.
84042
84043         Module getugroups.
84044         * m4/getugroups.m4: New file.
84045
84046         Module group-member.
84047         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84048         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84049
84050         Module idcache.
84051         * m4/idcache.m4: New file.
84052
84053         Module userspec.
84054         * m4/userspec.m4: New file.
84055
84056         Module gettime.
84057         * m4/clock_time.m4: New file.
84058         * m4/gettime.m4: New file.
84059
84060         Module settime.
84061         * m4/settime.m4: New file.
84062
84063         Module posixtm.
84064         * m4/posixtm.m4: New file.
84065
84066         Module gethostname.
84067         * m4/gethostname.m4: New file.
84068
84069         Module canon-host.
84070         * m4/canon-host.m4: New file.
84071
84072         Module gettext.
84073         * m4/codeset.m4: New file, from gettext-0.11.5.
84074         * m4/gettext.m4: New file, from gettext-0.11.5.
84075         * m4/glibc21.m4: New file, from gettext-0.11.5.
84076         * m4/iconv.m4: New file, from gettext-0.11.5.
84077         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84078         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84079         * m4/inttypes.m4: New file, from gettext-0.11.5.
84080         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84081         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84082         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84083         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84084         * m4/lib-link.m4: New file, from gettext-0.11.5.
84085         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84086         * m4/progtest.m4: New file, from gettext-0.11.5.
84087         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84088         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84089         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84090
84091         Module localcharset.
84092         * m4/localcharset.m4: New file.
84093
84094         Module hard-locale.
84095         * m4/hard-locale.m4: New file.
84096
84097         Module mbswidth.
84098         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84099         onceonly macros.
84100         * m4/mbrtowc.m4: Add comment.
84101
84102         Module memcasecmp.
84103         * m4/memcasecmp.m4: New file.
84104
84105         Module memcoll.
84106         * m4/memcoll.m4: New file.
84107
84108         Module unicodeio.
84109         * m4/unicodeio.m4: New file.
84110
84111         Module rpmatch.
84112         * m4/rpmatch.m4: New file.
84113
84114         Module yesno.
84115         * m4/yesno.m4: New file.
84116
84117         Module exitfail.
84118         * m4/exitfail.m4: New file.
84119
84120         Module c-stack.
84121         * m4/c-stack.m4 (gl_C_STACK): New macro.
84122         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84123
84124         Module error.
84125         * m4/error.m4 (gl_ERROR): New macro.
84126         (jm_PREREQ_ERROR): Use onceonly macros.
84127
84128         Module fatal.
84129         * m4/fatal.m4: New file.
84130
84131         Module getloadavg.
84132         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84133         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84134
84135         Module getpagesize.
84136         * m4/getpagesize.m4: New file.
84137
84138         Module getusershell.
84139         * m4/getusershell.m4: New file.
84140
84141         Module physmem.
84142         * m4/physmem.m4: New file.
84143
84144         Module posixver.
84145         * m4/posixver.m4: New file.
84146
84147         Module quotearg.
84148         * m4/quotearg.m4: New file.
84149
84150         Module quote.
84151         * m4/quote.m4: New file.
84152
84153         Module readutmp.
84154         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84155
84156         Module sig2str.
84157         * m4/sig2str.m4: New file.
84158
84159         Other.
84160         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84161         ulonglong.m4.
84162         * m4/intmax_t.m4: New file.
84163         * m4/d-type.m4: Indentation.
84164         * m4/jm-macros.m4: Update.
84165         * m4/prereq.m4 (jm_PREREQ): Update.
84166         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84167         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84168         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84169         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84170         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84171         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84172         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84173         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84174         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84175         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84176         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84177         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84178         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84179         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84180         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84181         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84182         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84183         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84184         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84185
84186 2002-12-24  Bruno Haible  <bruno@clisp.org>
84187
84188         * MODULES.txt: Update according to m4/ changes.
84189
84190         Module gettext.
84191         * config.rpath: New file, from gettext-0.11.5.
84192
84193         * modules/*: New module descriptions.
84194         * gnulib-tool: New file.
84195         * MODULES.html.sh: New file.
84196
84197 2002-12-21  Karl Berry  <karl@gnu.org>
84198
84199         * doc/fdl.texi: update to version 1.2.
84200
84201 2002-12-19  Karl Berry  <karl@gnu.org>
84202
84203         * config/config.guess: update from prep.
84204
84205 2002-12-18  Bruno Haible  <bruno@clisp.org>
84206
84207         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84208         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84209
84210 2002-12-17  Bruno Haible  <bruno@clisp.org>
84211
84212         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84213         stdlib.h, string.h.
84214
84215 2002-12-17  Bruno Haible  <bruno@clisp.org>
84216
84217         * lib/canon-host.c (strdup): Remove unused declaration.
84218
84219         * lib/fsusage.c: Include full_read.h.
84220         (get_fs_usage): Use full_read instead of safe_read.
84221
84222         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84223
84224 2002-12-12  Karl Berry  <karl@gnu.org>
84225
84226         * config/config.guess: update from prep.
84227
84228 2002-12-11  Bruno Haible  <bruno@clisp.org>
84229
84230         * m4/setenv.m4: New file, from gettext-0.11.5.
84231
84232 2002-12-11  Bruno Haible  <bruno@clisp.org>
84233
84234         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84235         not unsetenv().
84236         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84237         modifications:
84238
84239         2002-12-11  Bruno Haible  <bruno@clisp.org>
84240
84241                 * setenv.c (alloca): Fall back to malloc.
84242                 (freea): New macro.
84243                 (setenv): Use freea() to free memory allocated with alloca().
84244
84245         2002-11-13  Bruno Haible  <bruno@clisp.org>
84246
84247                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84248                 function declarations.
84249                 * unsetenv.c (unsetenv): Likewise.
84250
84251         2002-03-04  Bruno Haible  <bruno@clisp.org>
84252
84253                 Portability to AIX 4.3.3.
84254                 * unsetenv.c: New file, extracted from setenv.c.
84255                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84256
84257         2001-12-20  Bruno Haible  <bruno@clisp.org>
84258
84259                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84260                 use malloc instead. For SunOS 4.
84261
84262         2001-12-11  Bruno Haible  <bruno@clisp.org>
84263
84264                 * setenv.c: Declare alloca.
84265                 (compar_fn_t): New typedef.
84266                 (KNOWN_VALUE, STORE_VALUE): Use it.
84267
84268         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84269         setenv.h.
84270
84271 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84272
84273         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84274         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84275         Choose values that are less likely to collide with system fnmatch
84276         options.
84277         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84278         defined (e.g., a pure POSIX system).
84279         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84280         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84281
84282 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84283
84284         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84285         a pain in practice to deal with generated m4 files.  This change
84286         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84287
84288         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84289         and jm-glibc-io.m4, as they are no longer a special case.
84290         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84291         kludge and the auto-generation stuff.  Check only whether the
84292         functions are declared, not whether they exist, since older hosts
84293         that don't declare the functions can't use the optimization anyway.
84294
84295 2002-12-06  Jim Meyering  <jim@meyering.net>
84296
84297         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84298
84299         Merge in changes from libc's misc/error.c, in preparation
84300         for the merge of gnulib's changes back into libc.
84301
84302         * lib/error.c (_): Define only if not already defined.
84303         Move definition to follow all #include directives.
84304         Include unlocked-io.h only if !_LIBC.
84305         [_LIBC]: Include <libio/libioP.h>.
84306         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84307         (fflush): Tweak definition to use INTUSE.
84308         (putc): Define.
84309
84310 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84311
84312         * lib/alloca.c [defined emacs]: Include "lisp.h".
84313         (xalloc_die) [defined emacs]: New macro.
84314         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84315         [! defined emacs]: Include <xalloc.h>.
84316         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84317         (pointer): Typedef to POINTER_TYPE *.
84318         (malloc): Remove decl; we now always use xmalloc.
84319         (alloca): Use old-style definition, since Emacs needs this.
84320         Check for arithmetic overflow when computing combined size.
84321
84322 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84323
84324         Do not generate unlocked-io.h automatically, since it's easier to
84325         maintain it by hand.
84326
84327         * lib/unlocked-io.h: New file, from GNU diffutils,
84328         but with proper copyright notice and attribution.
84329         * lib/gen-uio: Remove.
84330         * lib/Makefile.am: Add copyright notice.
84331         (libfetish_a_SOURCES): Add unlocked-io.h.
84332         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84333         (DISTCLEANFILES, io_functions): Remove macros.
84334         (EXTRA_DIST): Remove gen_uio.
84335         (unlocked-io.h): Remove rule.
84336
84337 2002-12-04  Jim Meyering  <jim@meyering.net>
84338
84339         Reflect the fact that stat.c and lstat.c are no longer generated.
84340         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84341         (DISTCLEANFILES): Likewise.
84342         (EXTRA_DIST): Likewise.
84343         (all_local): Don't depend on stat.c or lstat.c.
84344         (stat.c, lstat.c): Remove rules.
84345         (EXTRA_DIST): Remove xstat.in.
84346
84347         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84348         * lib/stat.c: New file.  Contents mostly from xstat.in.
84349         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84350         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84351
84352         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84353         too.
84354         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84355
84356 2002-12-03  Jim Meyering  <jim@meyering.net>
84357
84358         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84359         but not semantics, to minimize the differences between these two files.
84360         (safe_read): Change comment to mention SAFE_READ_ERROR.
84361
84362         * lib/safe-read.c (IS_EINTR): Define.
84363         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84364
84365 2002-12-02  Jim Meyering  <jim@meyering.net>
84366
84367         * lib/safe-read.c (EINTR): Define.
84368         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84369         (INT_MAX): Provide fallback.
84370         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84371
84372         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84373
84374 2002-12-02  Bruno Haible  <bruno@clisp.org>
84375
84376         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84377         Define, taken from safe-read.c.
84378         (INT_MAX): Provide fallback.
84379         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84380         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84381
84382         * lib/safe-read.c (EINTR): Remove definition.
84383         (safe_read): Don't use EINTR if it is absent.
84384
84385 2002-12-01  Jim Meyering  <jim@meyering.net>
84386
84387         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84388         zero.
84389         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84390
84391 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84392
84393         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84394         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84395         with `if (! (value < limit)) abort ();', for readability.
84396
84397 2002-11-26  Karl Berry  <karl@gnu.org>
84398
84399         * lib/strdup.c: copy from libc again, with jim's ok.
84400         * lib/.cppi-disable: re-add strdup.c
84401
84402 2002-11-25  Karl Berry  <karl@gnu.org>
84403
84404         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84405         instead of "strtol.c".
84406
84407 2002-11-25  Karl Berry  <karl@gnu.org>
84408
84409         * config/install-sh: update from automake for variable quoting, $0 in
84410         error msgs, etc.
84411
84412         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84413         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84414         entry.
84415
84416 2002-11-25  Jim Meyering  <jim@meyering.net>
84417
84418         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84419
84420 2002-11-24  Karl Berry  <karl@gnu.org>
84421
84422         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84423         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84424
84425 2002-11-24  Jim Meyering  <jim@meyering.net>
84426
84427         Update from coreutils:
84428
84429         * lib/mktime.c: Merge in changes from libc.
84430
84431         Avoid a link-time failure on some Linux systems.
84432         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84433         (otherwise).
84434         (__mon_yday): Declare with the STATIC attribute.
84435         (__mktime_internal): Likewise.
84436         Based on a report from Greg Schafer.
84437
84438 2002-11-23  Jim Meyering  <jim@meyering.net>
84439
84440         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84441         Use `unsigned', not `int', as type of index.
84442
84443         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84444
84445         * lib/fsusage.c: Remove unneeded parentheses around operands of
84446         `defined'.
84447
84448 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84449
84450         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84451         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84452         so that we can be included first.
84453         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84454         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84455         No need to include stddef.h or sys/types.h any more.
84456         Surround local include files with "", not "<>".
84457         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84458         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84459         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84460         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84461         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84462         (ISPRINT): Remove; no longer needed now that we assume C89.
84463
84464         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84465         Preserve errno.
84466
84467         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84468         quotearg_char): Use SIZE_MAX rather than
84469         (size_t) -1 when we are talking about "infinity".
84470
84471         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
84472
84473 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84474
84475         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
84476         hint that one should use `if (! x) abort ();' rather than `assert
84477         (x);', and anyway it's one less thing to worry about configuring.
84478         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
84479         hash_rehash, hash_insert): Use abort rather than assert.
84480
84481 2002-11-22  Bruno Haible  <bruno@clisp.org>
84482
84483         * lib/safe-read.h: Assume C89. Add comments.
84484         (safe_read): Change return type to size_t.
84485         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
84486         byte counts > SSIZE_MAX correctly.
84487         * lib/safe-write.h: New file.
84488         * lib/safe-write.c: New file.
84489         * lib/full-read.h: New file.
84490         * lib/full-read.c: New file.
84491         * lib/full-write.h: Assume C89. Add comments.
84492         * lib/full-write.c: Include safe-write.h.
84493         (full_write): Rewritten to use safe_write.
84494         Suggested by Jim Meyering and Paul Eggert.
84495
84496 2002-11-21  Jim Meyering  <jim@meyering.net>
84497
84498         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
84499
84500         Merge in changes from the coreutils.
84501
84502         2002-09-25  Paul Eggert  <eggert@twinsun.com>
84503         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
84504         <stdint.h>.
84505         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
84506         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
84507         int.  Work more efficiently if X is the same width as uintmax_t.
84508         Do not compare X to -1, to avoid bogus compiler warning.
84509         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
84510         Don't assume that f_frsize and f_bsize are the same type.
84511
84512         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
84513         warning on FreeBSD.
84514
84515         * lib/makepath.c (make_path): Restore umask *before* creating the final
84516         component.
84517         (make_path): Minor reformatting.
84518
84519         * lib/xmalloc.c: Adjust to work with new autoconf macros,
84520         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
84521         HAVE_MALLOC/HAVE_REALLOC.
84522
84523         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
84524         dummy ones.  At least on GNU/Linux systems, `auto' means something
84525         else.
84526         From Michael Stone.
84527
84528 2002-11-21  Bruno Haible  <bruno@clisp.org>
84529
84530         Remove case insensitive option matching.
84531         * lib/argmatch.h (argcasematch): Remove declaration.
84532         (ARGCASEMATCH): Remove macro.
84533         (__xargmatch_internal): Remove case_sensitive argument.
84534         (XARGMATCH): Update.
84535         (XARGCASEMATCH): Remove macro.
84536         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
84537         case_sensitive argument.
84538         (argcasematch): Remove function.
84539         (__xargmatch_internal): Remove case_sensitive argument.
84540         (main): Use XARGMATCH instead of XARGCASEMATCH.
84541
84542         * lib/xmalloc.c: Change compile-time error message. Add comment about
84543         required autoconf version.
84544
84545 2002-11-20  Paul Eggert  <eggert@twinsun.com>
84546
84547         Merge argmatch cleanups from Bison.  Assume C89.
84548
84549         * lib/argmatch.c: Include config.h here, not in argmatch.h.
84550         Include stdlib.h, for EXIT_FAILURE.
84551         Always include <string.h>, since we assume C89.
84552         (EXIT_FAILURE): Remove pre-C89 bug workaround.
84553         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
84554         Include <stddef.h> instead, since it's all we need for size_t.
84555         (PARAMS): Remove.  All uses removed.
84556         (ARRAY_CARDINALITY): Do not bother to #undef.
84557         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
84558         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84559         Remove unnecessary parentheses.
84560         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84561         Insert necessary parentheses.
84562         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
84563         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
84564
84565 2002-11-19  Bruno Haible  <bruno@clisp.org>
84566
84567         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
84568         * lib/mbswidth.h: Include <stddef.h>, for size_t.
84569
84570         * lib/mbswidth.h (PARAMS): Remove macro.
84571         (mbswidth, mbsnwidth): Use ANSI C function declarations.
84572         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
84573
84574         * lib/gcd.h (PARAMS): Remove macro.
84575         (gcd): Use ANSI C function declarations.
84576         * lib/gcd.c (gcd): Likewise.
84577
84578 2002-11-15  Bruno Haible  <bruno@clisp.org>
84579
84580         * lib/strcspn.c: Include <stddef.h>.
84581         (strcspn): Use ANSI C function declaration. Change return type to
84582         size_t. Use NULL.
84583         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
84584         (strpbrk): Use NULL.
84585         * lib/strpbrk.h (PARAMS): Remove macro.
84586         (strpbrk): Use ANSI C function declaration.
84587         * lib/strstr.c: Don't include <sys/types.h>.
84588         * lib/strstr.h (PARAMS): Remove macro.
84589         (strstr): Use ANSI C function declarations.
84590
84591 2002-11-14  Karl Berry  <karl@gnu.org>
84592
84593         * config/mkinstalldirs: `do' on separate line, instead of
84594         `for var; do'.
84595
84596 2002-11-06  Bruno Haible  <bruno@clisp.org>
84597
84598         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
84599         * lib/gcd.c (gcd): Likewise.
84600
84601 2002-11-05  Bruno Haible  <bruno@clisp.org>
84602
84603         * lib/gcd.h: New file, from gettext-0.11.5.
84604         * lib/gcd.c: New file, from gettext-0.11.5.
84605
84606 2002-11-05  Bruno Haible  <bruno@clisp.org>
84607
84608         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84609         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84610         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84611         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84612
84613         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
84614         <libintl.h>.
84615         * lib/makepath.c: Include gettext.h instead of <locale.h> and
84616         <libintl.h>.
84617
84618         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
84619         * lib/human.c: Include gettext.h instead of <libintl.h>.
84620         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
84621         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
84622         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
84623         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
84624         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
84625         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
84626         (textdomain): Remove definition.
84627         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
84628
84629         * lib/long-options.c: Remove include of <libintl.h> and definition of
84630         _.
84631         * lib/same.c: Remove include of <libintl.h> and definition of _.
84632
84633 2002-11-04  Owen Taylor  <otaylor@redhat.com>
84634
84635         * lib/config.charset: A few additions for Solaris.
84636
84637 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84638
84639         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
84640         * lib/localcharset.c (locale_charset): Declare as extern "C".
84641
84642 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84643
84644         * lib/config.charset: msdos in uk_UA uses CP1125.
84645
84646 2002-11-04  Bruno Haible  <bruno@clisp.org>
84647
84648         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
84649         * lib/strcase.h: New file, from GNU gettext-0.11.5.
84650         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
84651         * lib/strstr.h: New file, from GNU gettext-0.11.5.
84652         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
84653
84654 2002-11-04  Bruno Haible  <bruno@clisp.org>
84655
84656         * lib/localcharset.c (locale_charset): Don't return an empty string.
84657
84658 2002-11-04  Bruno Haible  <bruno@clisp.org>
84659
84660         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
84661         aliases.
84662
84663 2002-11-04  Bruno Haible  <bruno@clisp.org>
84664
84665         * lib/config.charset: Update for newest glibc. Add canonical names
84666         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
84667
84668 2002-11-04  Bruno Haible  <bruno@clisp.org>
84669
84670         * lib/config.charset: Add support for NetBSD.
84671
84672 2002-11-04  Bruno Haible  <bruno@clisp.org>
84673
84674         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
84675
84676 2002-11-01  Bruno Haible  <bruno@clisp.org>
84677
84678         * configure.in: Add AC_CONFIG_AUX_DIR call.
84679         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
84680         test/Makefile.
84681         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
84682
84683 2002-09-28  Karl Berry  <karl@gnu.org>
84684
84685         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
84686         installed automake until the next release, since changes have been
84687         made.
84688
84689 2002-09-25  Karl Berry  <karl@gnu.org>
84690
84691         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
84692         * lib/getopt*: copy from libc/posix.
84693         * lib/gettext.h: copy from gettext.
84694         * lib/.cppi-disable: add strdup.c, gettext.h.
84695
84696 2002-09-25  Karl Berry  <karl@gnu.org>
84697
84698         * config/srclist.txt: enable gettext.h check.
84699         * config/config.{guess,sub}: update from prep.
84700         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
84701                 from automake 1.6.3.
84702         See srclist*.
84703
84704 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
84705
84706         * regex.c (PATFETCH): Remove the translating fetch.
84707         (PATFETCH_RAW): Rename to PATFETCH.
84708         (set_image_of_range): New fun.
84709         (SET_RANGE_TABLE_WORK_AREA): Use it.
84710         (regex_compile): Don't translate the pattern chars so eagerly.
84711         Only do it when inserting an `exactn' bytecode or when handling
84712         a char-range.
84713         (mutually_exclusive_p): Avoid empty statement.
84714
84715 2002-07-06  Jim Meyering  <meyering@lucent.com>
84716
84717         * m4/README: Don't mention Makefile.am.in.
84718         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
84719
84720 2002-07-01  Jim Meyering  <meyering@lucent.com>
84721
84722         * lib/c-stack.c: Include sys/time.h.
84723         From Volker Borchert.
84724
84725 2002-06-26  Paul Eggert  <eggert@twinsun.com>
84726
84727         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
84728
84729 2002-06-26  Paul Eggert  <eggert@twinsun.com>
84730
84731         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
84732         New macro.  Use it uniformly instead of
84733         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
84734         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
84735         reported by Vin Shelton.
84736
84737 2002-06-22  Paul Eggert  <eggert@twinsun.com>
84738
84739         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
84740         Do not assume SA_SIGINFO behavior.
84741         Bug reported by Jim Meyering on NetBSD 1.5.2.
84742
84743 2002-06-22  Jim Meyering  <meyering@lucent.com>
84744
84745         * m4/c-stack.m4: New file, from diffutils-2.8.2.
84746         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
84747
84748         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
84749         now that configure.ac uses AC_GNU_SOURCE.
84750         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
84751         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
84752
84753         Update to latest tools.  Suggestions from Paul Eggert.
84754         * m4/stdbool.m4: New file, from diffutils-2.8.2.
84755         * m4/gnu-source.m4: Update from diffutils-2.8.2.
84756         * m4/fnmatch.m4: Likewise.
84757         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
84758         to AC_HEADER_STDBOOL
84759
84760 2002-06-22  Jim Meyering  <meyering@lucent.com>
84761
84762         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
84763         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
84764
84765 2002-06-22  Jim Meyering  <meyering@lucent.com>
84766
84767         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
84768
84769         * lib/exitfail.c, exitfail.h: Likewise.
84770         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
84771
84772         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
84773         of fnmatch.h.
84774         (EXTRA_DIST): Add fnmatch_loop.c.
84775         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
84776
84777         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
84778         * lib/fnmatch.c: Update from diffutils-2.8.2.
84779         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
84780         * lib/fnmatch.h: Remove file.
84781
84782 2002-06-21  Jim Meyering  <meyering@lucent.com>
84783
84784         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
84785         * m4/mbrtowc.m4: Likewise.
84786
84787         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
84788         * m4/mbswidth.m4: Reflect name change:
84789         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
84790         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
84791
84792         * m4/lib-link.m4: Update from gettext-0.11.2.
84793         * m4/gettext.m4: Likewise.
84794
84795         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
84796         From Alfred M. Szmidt.
84797
84798 2002-06-18  Paul Eggert  <eggert@twinsun.com>
84799
84800         * lib/file-type.h: Report an error if neither S_ISREG nor
84801         S_IFREG is defined, instead of using a test specific to glibc
84802         2.2.  This should be safe, since POSIX requires S_ISREG and
84803         Unix Version 7 had S_IFREG.  We don't need to check for
84804         <sys/types.h> since we don't use any symbols that it defines.
84805
84806 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
84807
84808         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
84809         $@-t, so that each temporary file name is unique and valid in the first
84810         8 characters, for operation under DOS.
84811
84812 2002-06-15  Paul Eggert  <eggert@twinsun.com>
84813
84814         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
84815
84816 2002-06-15  Jim Meyering  <meyering@lucent.com>
84817
84818         Work even with DJGPP 2.03, which lacks support for symlinks.
84819         From Richard Dawe.
84820         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
84821         is defined.
84822         * lib/lchown.c (S_ISLNK): Likewise.
84823
84824 2002-06-15  Jim Meyering  <meyering@lucent.com>
84825
84826         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
84827         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
84828         have been included before this file.
84829
84830 2002-06-14  Jim Meyering  <meyering@lucent.com>
84831
84832         * lib/file-type.h: Use the version from diffutils-2.8.2.
84833         * lib/file-type.c: Likewise.
84834
84835 2002-06-07  Jim Meyering  <meyering@lucent.com>
84836
84837         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
84838         They're needed at least for NetBSD 1.5.2.
84839         ($statxfs_includes): Include those same headers.
84840         ($statxfs_includes): Include sys/vfs.h if available.
84841         ($statxfs_includes): Likewise for sys/statvfs.h.
84842         Check for the following members in both structs statfs and statvfs:
84843         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
84844
84845 2002-06-01  Jim Meyering  <meyering@lucent.com>
84846
84847         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
84848         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
84849
84850 2002-05-28  Jim Meyering  <meyering@lucent.com>
84851
84852         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
84853         Reported by Volker Borchert.
84854
84855 2002-05-27  Jim Meyering  <meyering@lucent.com>
84856
84857         Fix a problem seen only on nonconforming systems whereby ls.c's
84858         use of localtime, and then of gettimeofday would cause trouble:
84859         the localtime call used to initialize rpl_gettimeofday's save
84860         mechanism would clobber ls's current local time information so
84861         that in any long listing the first file would always be listed
84862         with date 1970-01-01.  Analysis by Volker Borchert.
84863
84864         * lib/gettimeofday.c (localtime): Undefine.
84865         (rpl_localtime): New function.
84866
84867 2002-05-27  Jim Meyering  <meyering@lucent.com>
84868
84869         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
84870         localtime.
84871
84872         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
84873         use the replacement function; it wouldn't resolve at link time.
84874         Reported by Volker Borchert.
84875
84876 2002-05-22  Jim Meyering  <meyering@lucent.com>
84877
84878         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
84879         file-type.h.
84880         * lib/file-type.h: New file.
84881         * lib/file-type.c (file_type): New file/function.  Extracted from
84882         diffutils.
84883
84884 2002-04-30  Jim Meyering  <meyering@lucent.com>
84885
84886         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
84887
84888 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84889
84890         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
84891
84892 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84893
84894         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
84895         Do not check for alloca.h (no longer used) or stdbool.h (was never
84896         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
84897
84898 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84899
84900         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
84901
84902 2002-04-29  Jim Meyering  <meyering@lucent.com>
84903
84904         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
84905         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
84906         Use AC_FUNC_STRNLEN here instead.
84907
84908         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
84909         With autoconf-2.53a, it's part of AC_PROG_CC.
84910
84911 2002-04-28  Paul Eggert  <eggert@twinsun.com>
84912
84913         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
84914         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
84915
84916 2002-04-28  Paul Eggert  <eggert@twinsun.com>
84917
84918         * lib/sig2str.h, lib/sig2str.c: New files.
84919         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
84920
84921 2002-04-28  Paul Eggert  <eggert@twinsun.com>
84922
84923         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
84924         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
84925         of 127, since 64 is the largest conceivable number for ancient
84926         nonstandard hosts.
84927         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
84928
84929 2002-04-28  Jim Meyering  <meyering@lucent.com>
84930
84931         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
84932
84933 2002-04-24  Jim Meyering  <meyering@lucent.com>
84934
84935         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
84936         (jm_PREREQ): Use it.
84937
84938         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
84939         mach/mach.h fcntl.h.
84940         Check for this function: setlocale.
84941
84942 2002-04-24  Jim Meyering  <meyering@lucent.com>
84943
84944         * lib/gettext.h: New file, from Gettext.
84945         * lib/Makefile.am (INCLUDES): Remove -I../intl.
84946         (libfetish_a_SOURCES): Add gettext.h.
84947
84948 2002-04-16  Jim Meyering  <meyering@lucent.com>
84949
84950         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
84951         ut_pid, ut_id, ut_exit.
84952
84953 2002-04-16  Jim Meyering  <meyering@lucent.com>
84954
84955         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
84956         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
84957         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
84958
84959 2002-04-12  Jim Meyering  <meyering@lucent.com>
84960
84961         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
84962         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
84963         existence of the getmntinfo function.  Needed for Darwin 5.3.
84964
84965         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
84966         This is necessary at least on Darwin 5.3.
84967
84968         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
84969         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
84970         strnlen.o in the library, and that makes some versions of ranlib
84971         object.
84972
84973 2002-04-12  Jim Meyering  <meyering@lucent.com>
84974
84975         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
84976
84977 2002-04-09  Jim Meyering  <meyering@lucent.com>
84978
84979         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
84980         to be more precise.  Rather than saying we're checking whether the
84981         function `works', say what we're testing.
84982         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
84983         Reported by Bruno Haible.
84984
84985 2002-03-10  Jim Meyering  <meyering@lucent.com>
84986
84987         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
84988         Suggestion from Santiago Vila.
84989
84990 2002-03-08  Jim Meyering  <meyering@lucent.com>
84991
84992         * lib/rename.c: Mention that this wrapper is needed also on
84993         mips-dec-ultrix4.4 systems.
84994
84995 2002-03-02  Jim Meyering  <meyering@lucent.com>
84996
84997         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
84998         not HAVE_CLOCK_SETTIME.
84999
85000 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85001
85002         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85003         Check for clock_settime.
85004
85005 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85006
85007         * lib/nanosleep.h: Rename to....
85008         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85009
85010         * lib/gettime.c: New file.
85011         * lib/settime.c: New file.
85012         * lib/stime.c: Remove.
85013
85014         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85015         timespec.h.  Remove nanosleep.h.
85016
85017 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85018
85019         * m4/acl.m4: New file.
85020         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85021         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85022
85023 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85024
85025         * lib/acl.c, lib/acl.h: New files.
85026         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85027
85028 2002-02-24  Jim Meyering  <meyering@lucent.com>
85029
85030         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85031         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85032         cause trouble.  Reported by Nelson Beebe.
85033
85034 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85035
85036         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85037         compilers that don't know that xalloc_die never returns.
85038
85039 2002-02-20  Jim Meyering  <meyering@lucent.com>
85040
85041         * lib/getdate.c: Regenerate using bison-1.33.
85042
85043 2002-02-17  Jim Meyering  <meyering@lucent.com>
85044
85045         * config/config.guess (main): Don't use `head -1'; it's no longer
85046         portable. Use `sed 1q' instead.
85047
85048 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85049
85050         * m4/codeset.m4: Upgrade to gettext-0.11.
85051         * m4/gettext.m4: Upgrade to gettext-0.11.
85052         * m4/glibc21.m4: Upgrade to gettext-0.11.
85053         * m4/iconv.m4: Upgrade to gettext-0.11.
85054         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85055         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85056         * m4/lib-ld.m4: New file, from gettext-0.11.
85057         * m4/lib-link.m4: New file, from gettext-0.11.
85058         * m4/lib-prefix.m4: New file, from gettext-0.11.
85059         * m4/progtest.m4: Upgrade to gettext-0.11.
85060
85061 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85062
85063         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85064         (jm_PREREQ): Use it.
85065
85066 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85067
85068         * lib/posixver.c, lib/posixver.h: New files.
85069         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85070
85071 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85072             Bruno Haible  <bruno@clisp.org>
85073
85074         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85075         (fwrite_success_callback): New declaration.
85076         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85077         print_unicode_char. Call failure callback instead of error.
85078         (fwrite_success_callback): New function.
85079         (exit_failure_callback): New function.
85080         (fallback_failure_callback): New function.
85081         (print_unicode_char): Call unicode_to_mb.
85082
85083 2002-01-26  Jim Meyering  <meyering@lucent.com>
85084
85085         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85086         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85087
85088 2002-01-26  Jim Meyering  <meyering@lucent.com>
85089
85090         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85091
85092 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85093
85094         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85095
85096 2002-01-22  Jim Meyering  <meyering@lucent.com>
85097
85098         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85099         Otherwise, some versions of automake would omit the rule that makes
85100         Makefile from Makefile.in.
85101
85102 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85103
85104         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85105         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85106         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85107         (memcoll): Set errno to zero if there is no error.
85108
85109         * lib/quotearg.c (quotearg_buffer_restyled):
85110         Fix bug with quoting buffers containing NUL when backslashing escapes.
85111         This bug was exposed by the other changes in this patch.
85112         (quotearg_n_options): New arg ARGSIZE.
85113         All callers changed.
85114         (quoting_options_from_style): New function.
85115         (quotearg_n_style): Use it.
85116         (quotearg_n_style_mem): New function.
85117
85118         * lib/quotearg.h (quotearg_n_style_mem): New function.
85119
85120 2002-01-19  Jim Meyering  <meyering@lucent.com>
85121
85122         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85123         Remove useless quotes: DF_PROG="df".
85124         * m4/strnlen.m4: New file.
85125
85126 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85127
85128         * lib/backupfile.c (ISDIGIT): Comment fix.
85129         * lib/getdate.y (ISDIGIT): Likewise.
85130         * lib/posixtm.c (ISDIGIT, year): Likewise.
85131         * lib/strverscmp.c (ISDIGIT): Likewise.
85132         * lib/userspec.c (ISDIGIT): Likewise.
85133
85134 2002-01-16  Jim Meyering  <meyering@lucent.com>
85135
85136         * lib/getdate.y: Add three semicolons, each just before a closing
85137         brace. Bison (as of version 1.31) no longer papers over that mistake.
85138
85139 2002-01-05  Jim Meyering  <meyering@lucent.com>
85140
85141         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85142
85143 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85144
85145         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85146         not silently exit merely because the output buffer happens to
85147         have nothing pending.
85148
85149 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85150
85151         See the big note in ../ChangeLog.
85152         * lib/human.c (suffixes): Prefer K to k for 1024.
85153         (generate_suffix_backwards): New function.
85154         (human_readable_inexact): Use it.
85155         * lib/xstrtol.c (__xstrtol): If there is no number but there
85156         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85157         Accept 'K' as well as 'k'.
85158
85159 2001-12-15  Jim Meyering  <meyering@lucent.com>
85160
85161         * lib/regex.h (__restrict_arr): Update from libc.
85162
85163         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85164         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85165         (STREQ): Define.
85166
85167 2001-12-14  Jim Meyering  <meyering@lucent.com>
85168
85169         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85170         Suggestion from Bruno Haible.
85171
85172 2001-12-10  Jim Meyering  <meyering@lucent.com>
85173
85174         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85175         xrealloc, Instead, include "xalloc.h".
85176         (initbuffer): Don't cast xmalloc return value to char*.
85177         (readline): Reword comment.
85178         Don't cast xrealloc return value to char*
85179         Return NULL, not 0.
85180
85181 2001-12-09  Jim Meyering  <meyering@lucent.com>
85182
85183         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85184         about `signed and unsigned type in conditional expression'.
85185         * lib/posixtm.c (posix_time_parse): Likewise.
85186
85187         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85188
85189         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85190         to avoid a pedantic warning.
85191
85192         * lib/getstr.c: Don't include assert.h.
85193         (getstr): Remove warning-evoking assertions.
85194         Return -1 if offset parameter is out of bounds.
85195         Change the type of a local from int to size_t.
85196
85197         * lib/strftime.c (my_strftime_localtime_r): Include this function
85198         definition in the `#if ! HAVE_TM_GMTOFF' block.
85199
85200         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85201         Include xalloc.h instead.
85202
85203 2001-12-02  Jim Meyering  <meyering@lucent.com>
85204
85205         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85206         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85207         included.
85208
85209         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85210         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85211
85212 2001-11-30  Akim Demaille  <akim@epita.fr>
85213
85214         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85215         before being defined.
85216
85217 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85218
85219         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85220         First arg is int, not unsigned.
85221         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85222         (SIZE_MAX, UINT_MAX): New macros.
85223         (quotearg_n_options): Abort if N is negative.
85224         Avoid overflow check on hosts where size_t is 64 bits and int
85225         is 32 bits, as overflow is impossible there.
85226         Fix off-by-one typo that caused unnecessary reallocation.
85227
85228 2001-11-27  Jim Meyering  <meyering@lucent.com>
85229
85230         * lib/tempname.c: Merge with version from libc.
85231         * lib/regex.c: Likewise.
85232
85233         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85234         systems for which STDC_HEADERS is 0, it was not included, resulting in
85235         a warning about an integer-to-pointer conversion problem with getenv.
85236         Reported by Volker Borchert.
85237
85238 2001-11-26  Jim Meyering  <meyering@lucent.com>
85239
85240         * lib/gtod.h: Remove file.
85241         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85242         * lib/gettimeofday.c: Don't include gtod.h.
85243         (GTOD_init): Remove function.
85244         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85245         Suggestion from Volker Borchert.
85246
85247 2001-11-23  Jim Meyering  <meyering@lucent.com>
85248
85249         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85250         it.
85251         * lib/hash.c (struct hash_table): Define it here instead.
85252
85253 2001-11-22  Jim Meyering  <meyering@lucent.com>
85254
85255         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85256
85257 2001-11-20  Jim Meyering  <meyering@lucent.com>
85258
85259         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85260         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85261
85262 2001-11-19  Jim Meyering  <meyering@lucent.com>
85263
85264         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85265         directory.  Use "conftestXXXXXX" as the template.
85266         Suggestion from Paul Eggert.
85267
85268         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85269         immediately, so the test doesn't mistakenly hit the max-open-files
85270         limit.
85271
85272 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85273
85274         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85275         (TEMPORARIES): New macro.
85276         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85277         removes an artificial limitation (e.g. HP-UX 10.20, where
85278         TMP_MAX is 17576).
85279
85280 2001-11-18  Jim Meyering  <meyering@lucent.com>
85281
85282         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85283
85284 2001-11-18  Jim Meyering  <meyering@lucent.com>
85285
85286         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85287         on SunOS 4.
85288
85289         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85290         files will be created before anything else.
85291
85292 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85293
85294         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85295         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85296
85297 2001-11-17  Jim Meyering  <meyering@lucent.com>
85298
85299         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85300         Prompted by a report from Bob Proulx.
85301
85302         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85303         Instead, require UTILS_FUNC_MKSTEMP.
85304
85305 2001-11-17  Jim Meyering  <meyering@lucent.com>
85306
85307         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85308         Now, that's done as part of AC_FUNC_STRTOD.
85309
85310 2001-11-17  Jim Meyering  <meyering@lucent.com>
85311
85312         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85313         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85314         rather than group writable.  Patch by Juan F. Codagnone.
85315
85316         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85317         xrealloc, Instead, include "xalloc.h".
85318
85319         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85320         Remove explicit declarations of xmalloc, xrealloc,
85321         and xstrdup.  Instead, include "xalloc.h".
85322
85323         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85324         unlocked-io.h.
85325         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85326         Likewise.
85327         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85328
85329         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85330         Reported by Padraig Brady.
85331
85332         * lib/mkstemp.c: #undef mkstemp.
85333         Include config.h.
85334         (rpl_mkstemp): Rename from mkstemp.
85335         Protoize.
85336
85337 2001-11-16  Jim Meyering  <meyering@lucent.com>
85338
85339         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85340         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85341         determine the amount of total physical memory, use pstat_getstatic.
85342         HPUX-11 doesn't define _SC_PHYS_PAGES.
85343         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85344         If sysconf couldn't be used to determine the amount of available
85345         physical memory, use both pstat_getstatic and pstat_getdynamic.
85346         Based on a patch from Bob Proulx.
85347
85348 2001-11-10  Jim Meyering  <meyering@lucent.com>
85349
85350         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85351         (jm_PREREQ): Use it.
85352
85353 2001-11-09  Jim Meyering  <meyering@lucent.com>
85354
85355         * m4/jm-macros.m4: Require autoconf-2.52f.
85356         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85357         Use these AC_-prefixed names, not the AM_-prefixed ones.
85358
85359         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85360
85361 2001-11-05  Jim Meyering  <meyering@lucent.com>
85362
85363         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85364
85365 2001-11-04  Jim Meyering  <meyering@lucent.com>
85366
85367         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85368         $DEFS.
85369
85370 2001-11-03  Jim Meyering  <meyering@lucent.com>
85371
85372         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85373         of AC_DEFUN.
85374
85375         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85376         know the name of the variable in the macro definition.
85377
85378 2001-11-03  Jim Meyering  <meyering@lucent.com>
85379
85380         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85381         in argmatch_to_argument call.
85382
85383         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85384         argument.
85385
85386         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85387         e.g., a fault due to an attempt to free a NULL pointer.
85388
85389 2001-11-01  Jim Meyering  <meyering@lucent.com>
85390
85391         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85392         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85393
85394 2001-11-01  Jim Meyering  <meyering@lucent.com>
85395
85396         * lib/dirfd.c, lib/dirfd.h: New files.
85397         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85398
85399         * lib/hash.c (hash_print) [TESTING]: Clean up.
85400
85401 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85402
85403         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85404         to avoid a warning if -Wall.
85405
85406 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85407
85408         * README: New file
85409         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85410         (per RMS's instructions, this is now the canonical source)
85411         * lgpl/, gpl/: New directories.
85412
85413 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85414
85415         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85416
85417 2001-10-21  Jim Meyering  <meyering@lucent.com>
85418
85419         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85420         this code would end up calling gettext even in packages built
85421         with --disable-nls.
85422         * lib/getopt.c (_): Likewise.
85423         * lib/regex.c (_): Likewise.
85424
85425 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85426
85427         * m4/error.m4 (jm_PREREQ_ERROR):
85428         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85429         AC_FUNC_STRERROR_R does that.
85430         Check for strerror declaration.
85431
85432         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85433         are supposed to have them these days.
85434         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85435         Merge changes from latest Autoconf CVS.
85436         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85437         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85438         POSIX decided to standardize on the int flavor of strerror_r.
85439
85440 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85441
85442         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85443         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85444         Use strerror_r that is only a macro, even if it is not a function.
85445         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85446         (private_strerror): Use prototypes, not old-style function definition.
85447         (print_errno_message): New function.
85448         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85449         char*-flavored one.
85450         (error_tail, error, error_at_line): Use it.
85451
85452 2001-10-11  Jim Meyering  <meyering@lucent.com>
85453
85454         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85455         and quote_n (1, ... to avoid clobbering a buffer.
85456
85457 2001-10-05  Jim Meyering  <meyering@lucent.com>
85458
85459         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85460         hash-pjw.h.
85461         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85462         * lib/hash-pjw.h: New file.
85463
85464 2001-09-30  Jim Meyering  <meyering@lucent.com>
85465
85466         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85467         `struct fsstat' has the `f_fstypename' member.
85468         Use that to define FS_TYPE, which is now used to make
85469         the getfsstat link test tighter.
85470
85471 2001-09-30  Jim Meyering  <meyering@lucent.com>
85472
85473         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
85474         Include <sys/ucred.h>, for Apple Darwin.
85475         Include sys/mount.h and sys/fs_types.h only if available.
85476         (FS_TYPE): Define.
85477         (read_filesystem_list): Use FS_TYPE.
85478
85479 2001-09-29  Paul Eggert  <eggert@twinsun.com>
85480
85481         * lib/exclude.c (excluded_filename): 0 -> false, since it's
85482         a boolean context.
85483
85484 2001-09-29  Jim Meyering  <meyering@lucent.com>
85485
85486         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85487         [one-argument getmntent function]): Include stdio.h before mntent.h.
85488         SunOS 4.1.x needs it for the declaration of `FILE'.
85489         Patch by Volker Borchert.
85490
85491         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85492         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
85493         sys/fs_types.h, and make the link-test for getfsstat guard #include
85494         directives with appropriate #if HAVE_*_H tests so that we can
85495         detect getfsstat on Apple Darwin1.3.7 systems.
85496         Reported by Nelson Beebe.
85497         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
85498
85499 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85500
85501         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85502         #defines strtoimax.  Also treat the other strto* functions
85503         like strtoimax.
85504
85505         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85506         Check for strtoul and strtoumax,
85507         as those declarations are made even in the signed case.
85508         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
85509         Likewise, for strtol and strtoimax.
85510
85511 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85512
85513         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85514         #defines strtoimax.  Also treat the other strto* functions
85515         like strtoimax.
85516
85517         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
85518         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
85519         (strtoimax, strtoumax): Do not declare if already defined as a macro.
85520
85521 2001-09-26  Jim Meyering  <meyering@lucent.com>
85522
85523         Most macros in unlocked-io.h had the wrong number of arguments.
85524         * lib/gen-uio: New script.
85525         (USE_UNLOCKED_IO): Define to 1 if not already defined.
85526         * lib/unlocked-io.hin: Remove file.
85527         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
85528         rather than trying to embed it here.
85529         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
85530         Reported by Padraig Brady.
85531
85532 2001-09-25  Volker Borchert  <bt@teknon.de>
85533
85534         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
85535         `result'.
85536
85537 2001-09-24  Jim Meyering  <meyering@lucent.com>
85538
85539         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
85540
85541 2001-09-23  Jim Meyering  <meyering@lucent.com>
85542
85543         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
85544         instead of the mere test for existence of mntent.h.  The latter
85545         would get a false-positive on AIX 3.4 systems.
85546         In the outer getmntent if-block, don't die if neither of the getmntent
85547         tests succeeds.  Instead, just fall through and continue with the
85548         remaining tests.
85549
85550 2001-09-23  Jim Meyering  <meyering@lucent.com>
85551
85552         * lib/mountlist.c: Remove useless parentheses in #if directives.
85553         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
85554         the deprecated MOUNTED symbol is no longer defined in mntent.h.
85555
85556 2001-09-22  Jim Meyering  <meyering@lucent.com>
85557
85558         * m4/gettext.m4: New file.  From gettext.
85559         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
85560         * m4/progtest.m4: Likewise
85561         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
85562         * m4/glibc21.m4: Likewise.
85563
85564         * m4/libintl.m4: Remove.  No longer used.
85565
85566 2001-09-22  Jim Meyering  <meyering@lucent.com>
85567
85568         * lib/localcharset.c: Update from latest gettext.
85569         * lib/config.charset: Likewise.
85570
85571 2001-09-20  Jim Meyering  <meyering@lucent.com>
85572
85573         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
85574         strtoimax.
85575         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
85576         strtoumax.
85577
85578 2001-09-20  Jim Meyering  <meyering@lucent.com>
85579
85580         * lib/xstrtol.c (strtoimax): Guard declaration with
85581         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
85582         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
85583         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
85584         (strtoumax): Likewise, for completeness (it wasn't necessary).
85585
85586 2001-09-17  Paul Eggert  <eggert@twinsun.com>
85587
85588         * lib/strtoimax.c (HAVE_LONG_LONG):
85589         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
85590         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
85591         to work around bug in IBM C compiler.
85592
85593 2001-09-17  Jim Meyering  <meyering@lucent.com>
85594
85595         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
85596         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
85597         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
85598         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
85599         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
85600         whenever the right hand side need not be expanded by the shell.
85601
85602 2001-09-16  Paul Eggert  <eggert@twinsun.com>
85603
85604         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
85605         library.  It's not correct, as some older glibcs are buggy.
85606         fnmatch wasn't fixed until glibc 2.2.
85607
85608         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
85609         special shell magic here.
85610
85611 2001-09-16  Jim Meyering  <meyering@lucent.com>
85612
85613         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
85614         * m4/jm-macros.m4: Require it.
85615
85616 2001-09-16  Jim Meyering  <meyering@lucent.com>
85617
85618         * lib/mkdir.c: New file.
85619
85620 2001-09-15  Jim Meyering  <meyering@lucent.com>
85621
85622         * m4/jm-macros.m4: Check for help2man.
85623
85624 2001-09-11  Jim Meyering  <meyering@lucent.com>
85625
85626         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
85627         The body, by Paul Eggert, was moved here from configure.in.
85628         * m4/jm-macros.m4: Require UTILS_HOST_OS.
85629
85630 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85631
85632         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
85633         (jm_PREREQ): Use it.
85634
85635 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85636
85637         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
85638         Use ssize_t, not int, to store result of readlink.
85639         Check for ssize_t overflow as well as size_t overflow,
85640         as POSIX says the result of readlink is implementation-defined
85641         when ssize_t overflows.
85642         Remove unnecessary cast to char*.
85643         Use free+malloc instead of realloc, as the storage doesn't need
85644         to be preserved and it's clearer and can be more efficient that way.
85645         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
85646         * lib/xreadlink.h (xreadlink): Update prototype.
85647
85648 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85649
85650         * lib/xgetcwd.c: Revert some of the previous change; intead,
85651         fix the HAVE_GETCWD_NULL code to behave more like the
85652         !HAVE_GETCWD_NULL code used to.
85653
85654         Include "xalloc.h".
85655         (xgetcwd): Do not return NULL when memory is exhausted; instead,
85656         invoke xalloc_die.
85657
85658 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85659
85660         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
85661         sys/param.h, as pathmax.h includes them.
85662
85663 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85664
85665         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
85666         (jm_PREREQ_XGETCWD): New macro.
85667
85668         * m4/getcwd.m4: New file.
85669
85670 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85671
85672         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
85673         like the HAVE_GETCWD_NULL code.
85674         Include pathmax.h if not HAVE_GETCWD.
85675         Do not include xalloc.h.
85676         (INITIAL_BUFFER_SIZE): New symbol.
85677         Do not use xmalloc / xrealloc, since the caller is responsible for
85678         handling errors.  Preserve errno around `free' during failure.
85679         Do not overrun buffer when using getwd.
85680
85681 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85682
85683         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
85684         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
85685         getcwd (NULL, 0).
85686
85687 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85688
85689         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
85690         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
85691         spotted by Jim Meyering.
85692
85693 2001-09-03  Jim Meyering  <meyering@lucent.com>
85694
85695         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
85696         failure.
85697
85698 2001-09-02  Jim Meyering  <meyering@lucent.com>
85699
85700         * lib/error.c: Update from GNU libc.
85701
85702 2001-09-01  Jim Meyering  <meyering@lucent.com>
85703
85704         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
85705         Used by df.
85706
85707 2001-09-01  Jim Meyering  <meyering@lucent.com>
85708
85709         * lib/xreadlink.c: New file.
85710         * lib/xreadlink.h: New file.
85711         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
85712         xreadlink.h.
85713
85714         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
85715         doesn't conflict with sparc Solaris 7's definition in
85716         /usr/include/sys/int_types.h.
85717
85718         * lib/exclude.c: Use `""', not `<>' to #include non-system header
85719         files.
85720         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
85721         and strncasecmp as r-values.  Unixware didn't have declarations.
85722
85723 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85724
85725         * lib/xstrtol.h: Add copyright notice.
85726         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
85727         LONGINT_INVALID_SUFFIX_CHAR.
85728
85729 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85730
85731         * lib/xstrtol.c (strtoimax): New decl.
85732
85733 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85734
85735         * lib/xgetcwd.c: Don't include pathmax.h.
85736         Include stdlib.h and unistd.h if available.
85737         Include xalloc.h.
85738         (xmalloc, xstrdup, free): Remove decls.
85739         (xgetcwd): Don't assume sizes fit in unsigned.
85740         Check for overflow when computing sizes.
85741         Simplify reallocation code.
85742
85743 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85744
85745         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
85746         a directory's st_size can have an arbitrary value, so the old
85747         usage could waste an arbitrary amount of memory.  All uses
85748         changed.
85749         * lib/savedir.h: Update prototype.
85750
85751 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85752
85753         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
85754
85755         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
85756         old strtoimax.c.
85757
85758         Also, make the following further changes to make this file's
85759         configuration more similar to that of strtol.c:
85760         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
85761         (strtoumax, uintmax_t, strtoull, strtol): Remove.
85762         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
85763         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
85764         changed to signed values.
85765
85766         And make the following changes as well:
85767         Fix copyright notice, as 1999 was missing.
85768         (verify): New macro.
85769         (strtoimax): Check sizes at compile-time, not run-time.
85770         Prefer strtol to strtoll if both work.
85771         (main): Remove; it was not that useful and was a pain to maintain.
85772
85773         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
85774
85775 2001-08-31  Jim Meyering  <meyering@lucent.com>
85776
85777         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
85778         Use an initial, malloc'd, buffer of length 128 rather than
85779         a statically allocated one of length 1024.
85780
85781 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85782
85783         Simplify code, partly by assuming autoconf 2.52 semantics.
85784
85785         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
85786
85787         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
85788         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
85789         All uses removed.
85790         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
85791         Move AC_REQUIRE to next-to-top level, to avoid confusion.
85792         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
85793         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
85794         jm_AC_HEADER_INTTYPES_H.
85795         * m4/jm-macros.m4 (jm_MACROS): Likewise.
85796
85797         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
85798
85799         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85800         Quote first arg of AC_DEFUN.
85801         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
85802         since they are needed to parse the include file even if we need
85803         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
85804         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
85805         but with opposite signedness.
85806
85807 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85808
85809         Merge 'exclude' changes from tar 1.13.22.
85810         This fixes one or two unlikely storage allocation overflow bugs,
85811         but doesn't change user-visible behavior otherwise.
85812
85813 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85814
85815         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
85816         (jm_PREREQ_EXCLUDE): New macro.
85817
85818 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85819
85820         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
85821         tm to be declared.
85822
85823 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85824
85825         * lib/hash.c: Remove '2001' from copyright notice.
85826
85827 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85828
85829         * lib/full-write.h: New file.
85830         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
85831         * lib/full-write.c: Correct credits, as cccp.c no longer
85832         exists and anyway it was so heavily changed from the old cccp
85833         code as to be unrecognizable.  Include full-write.h.
85834         (full_write): Return size_t, with short writes meaning failure.
85835         All callers changed.  This fixes a bug with large buffers
85836         on 64-bit hosts.
85837         * lib/utime.c: Include full-write.h.
85838
85839 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85840
85841         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
85842         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
85843         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
85844         Include if available.
85845         (<xalloc.h>): Include
85846         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
85847         (verify): New macro.  Use it to verify that EXCLUDE macros do not
85848         collide with FNM macros.
85849         (struct patopts): New struct.
85850         (struct exclude): Use it, as exclude patterns now come with options.
85851         (new_exclude): Support above changes.
85852         (new_exclude, add_exclude_file):
85853         Initial size must now be a power of two to simplify overflow checking.
85854         (free_exclude, fnmatch_no_wildcards): New function.
85855         (excluded_filename): No longer requires options arg, as the options
85856         are determined by add_exclude.  Now returns bool, not int.
85857         (excluded_filename, add_exclude):
85858         Add support for the fancy new exclusion options.
85859         (add_exclude, add_exclude_file): Now takes int options arg.
85860         Check for arithmetic overflow when computing sizes.
85861         (add_exclude_file): xrealloc might modify errno, so don't
85862         realloc until after errno might be used.
85863
85864         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
85865         New macros.
85866         (free_exclude): New decl.
85867         (add_exclude, add_exclude_file): Now takes int options arg.
85868         (excluded_filename): No longer requires options arg, as the options
85869         are determined by add_exclude.  Now returns bool, not int.
85870
85871 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85872
85873         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
85874
85875 2001-08-27  Jim Meyering  <meyering@lucent.com>
85876
85877         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
85878
85879         * lib/version-etc.c (N_): Remove definition.
85880         Revert most of last change.
85881         Instead, simply don't mark the `Copyright...' string for translation.
85882         Based on advice from Paul Eggert.
85883
85884         * lib/strtoxmax.c: Tweak comment.
85885
85886 2001-08-26  Jim Meyering  <meyering@lucent.com>
85887
85888         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
85889
85890         * m4/xstrtoimax.m4: New file.
85891         * m4/xstrtoumax.m4: Add comments explaining why we
85892         AC_REPLACE_FUNCS(strtol).
85893
85894 2001-08-26  Jim Meyering  <meyering@lucent.com>
85895
85896         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
85897         of copyright with `%s' so translators don't get an untranslated
85898         message in 2002.
85899         (COPYRIGHT_YEAR): Define.
85900         (version_etc): Use fprintf rather than fputs.
85901         Suggestion from Ulrich Drepper.
85902
85903         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
85904
85905         * lib/strtoll.c: New file, from GNU libc.
85906         * lib/xstrtoimax.c: New file.
85907
85908         * lib/xstrtol.h: Add xstrtoimax.
85909         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
85910         * lib/strtoimax.c: New file.  Likewise, but first define
85911         STRTOUXMAX_SIGNED.
85912
85913         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
85914         ...
85915         * lib/strtoxmax.c: ... then renamed to this.
85916
85917 2001-08-18  Paul Eggert  <eggert@twinsun.com>
85918
85919         * m4/inttypes.m4: Add AC_PREREQ(2.13).
85920         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
85921         (jm_AC_TYPE_INTMAX_T): New macro.
85922         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
85923
85924         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
85925
85926         * m4/longlong.m4: Renamed from ulonglong.m4.
85927         * m4/inttypes.m4: Renamed from inttypes_h.m4.
85928         * m4/uintmax_t.m4: Removed.
85929
85930 2001-08-13  Paul Eggert  <eggert@twinsun.com>
85931
85932         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
85933         Port to Solaris 8, where 'sed' requires a space after the 'r'
85934         command, and where sh dislikes "$/".  Clean up the spacing a bit.
85935         Redirect output to $tmp just once.
85936
85937 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
85938
85939         * lib/addext.c (<errno.h>): Include.
85940         (errno): Declare if not defined.
85941         (addext): Work correctly when pathconf returns -1 and leaves
85942         errno alone because there is no limit.  Also, work even if
85943         pathconf returns a value greater than SIZE_MAX.
85944
85945 2001-08-12  Jim Meyering  <meyering@lucent.com>
85946
85947         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
85948         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
85949         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
85950         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
85951         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
85952         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
85953         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
85954         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
85955         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
85956         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
85957         utime.m4, utimes.m4, xstrtoumax.m4:
85958         Quote the first argument in each use of AC_DEFUN.
85959
85960 2001-08-12  Jim Meyering  <meyering@lucent.com>
85961
85962         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
85963         Simply `return getcwd (NULL, 0);'.
85964         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
85965         Use 1300 as initial value for length, not PATH_MAX.
85966
85967         * lib/pathmax.h: Clean up cpp syntax.
85968
85969 2001-08-12  Jim Meyering  <meyering@lucent.com>
85970
85971         * lib/gettimeofday.c: New file.
85972         * lib/gtod.h: New file.
85973         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
85974
85975 2001-08-05  Jim Meyering  <meyering@lucent.com>
85976
85977         * m4/jm-macros.m4: Require autoconf-2.52.
85978
85979 2001-08-04  Jim Meyering  <meyering@lucent.com>
85980
85981         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
85982         stmt, to get in sync with glibc.
85983
85984 2001-08-03  Paul Eggert  <eggert@twinsun.com>
85985
85986         The following changes are from gettext 0.10.39 as maintained by
85987         Bruno Haible.
85988
85989         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
85990         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
85991         with inverted sense.  All uses changed.
85992
85993         * lib/mbswidth.c: Don't include <limits.h>.
85994         Include <stdlib.h> and <string.h> unconditionally.
85995         (iswcntrl, mbsinit, ISCNTRL): New macros.
85996         (mbsnwidth): Use K&R style function declarations.
85997         Don't bother checking for MB_LEN_MAX == 1, since the compiler
85998         can optimize it when MB_CUR_MAX == 1.
85999         The width of control characters is zero, not 1.
86000
86001 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86002
86003         The following changes are from gettext 0.10.39 as maintained by
86004         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86005
86006         * m4/codeset.m4: Upgrade to serial AM1.
86007         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86008         all uses changed.  Quote first arg of AC_DEFUN.
86009         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86010
86011         * m4/iconv.m4: Upgrade to serial AM2.
86012         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86013         Add --with-libconv-prefix.
86014         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86015         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86016         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86017         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86018         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86019
86020         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86021         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86022         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86023         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86024         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86025         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86026         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86027         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86028         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86029
86030         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86031         string.h any more.
86032
86033         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86034         not the default value.
86035
86036         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86037         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86038         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86039         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86040         Also check for iswcntrl, used for wcwidth fallback.
86041         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86042         to Autoconf 2.13.
86043
86044 2001-08-03  Jim Meyering  <meyering@lucent.com>
86045
86046         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86047         as it was in the original.  Reported by Paul Eggert.
86048
86049 2001-07-16  Jim Meyering  <meyering@lucent.com>
86050
86051         * m4/gettimeofday.m4: New file.
86052         Prompted by a report from Bernhard Baehr.
86053
86054 2001-07-15  Jim Meyering  <meyering@lucent.com>
86055
86056         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86057         stuff. Now it's in ../Makefile.cfg.
86058
86059 2001-07-15  Jim Meyering  <meyering@lucent.com>
86060
86061         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86062         (BUILT_SOURCES): Add unlocked-io.h.
86063         (io_functions): Define.
86064         (unlocked-io.h): New rule.
86065         (DISTCLEANFILES): Add unlocked-io.h.
86066         (all-local): Depend on unlocked-io.h, to ensure it is created.
86067
86068         * lib/unlocked-io.hin: New file
86069
86070         * lib/regex.c: Update from glibc.
86071
86072 2001-07-05  Jim Meyering  <meyering@lucent.com>
86073
86074         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86075         recommendation.
86076         (libfetish_a_SOURCES): Put all .h files here instead.
86077         Remove a thus-exposed (better checks in automake) duplicate and
86078         two unnecessary .h files.
86079
86080 2001-07-04  Jim Meyering  <meyering@lucent.com>
86081
86082         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86083         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86084         distcheck failure.
86085
86086 2001-07-02  Jim Meyering  <meyering@lucent.com>
86087
86088         The following changes were prompted by suggestions from Bruno Haible.
86089
86090         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86091         is now generated.
86092         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86093         definition of EXTRA_DIST.
86094         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86095         ensure that the generated file is created/updated whenever the list
86096         of $(unlocked_functions) is changed.
86097         (jm-glibc-io.m4): New rule.
86098         (unlocked-io.h): New rule -- currently unused.
86099
86100 2001-06-24  Jim Meyering  <meyering@lucent.com>
86101
86102         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86103         unmatched right bracket, rather than kludging it with an extra,
86104         falsely-matching quote in a comment.  Patch by Akim Demaille.
86105
86106 2001-06-11  Jim Meyering  <meyering@lucent.com>
86107
86108         * lib/regex.c: Update from GNU libc.
86109
86110 2001-05-27  Jim Meyering  <meyering@lucent.com>
86111
86112         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86113         Check for ut_type in struct utmp.
86114
86115 2001-05-27  Jim Meyering  <meyering@lucent.com>
86116
86117         * lib/readutmp.h (UT_TYPE): Define.
86118
86119 2001-05-24  Jim Meyering  <meyering@lucent.com>
86120
86121         * lib/argmatch.c: Include "quote.h".
86122         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86123         quote function.  Reported by Göran Uddeborg.
86124
86125 2001-05-22  Jim Meyering  <meyering@lucent.com>
86126
86127         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86128         now that we use the package-supplied version unconditionally.
86129         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86130
86131 2001-05-21  Jim Meyering  <meyering@lucent.com>
86132
86133         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86134         shell syntax errors.
86135
86136 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86137
86138         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86139
86140 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86141
86142         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86143         Don't bother to check library strftime, since
86144         we'll be using our own my_strftime function anyway.
86145         Define my_strftime instead of strftime.
86146
86147 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86148
86149         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86150         which is not yet declared.
86151
86152 2001-05-15  Jim Meyering  <meyering@lucent.com>
86153
86154         * m4/regex.m4: Use proper quoting so brackets appear in the test
86155         program.
86156         Reported by, and with help from, Bruno Haible.
86157
86158 2001-05-13  Jim Meyering  <meyering@lucent.com>
86159
86160         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86161         undefined.
86162
86163 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86164
86165         dirname code cleanup.  base_name now behaves more compatibly
86166         with POSIX basename when given file names that have trailing
86167         slashes, and similarly for dir_name.  Add new primitives
86168         base_len and dir_len.  Put the directory-name-related decls
86169         into dirname.h.
86170
86171         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86172         * lib/backupfile.c (base_name): Likewise.
86173         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86174         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86175         * lib/makepath.c (strip_trailing_slashes): Likewise.
86176         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86177         ISSLASH): Likewise.
86178         * lib/rename.c (strip_trailing_slashes): Likewise.
86179         * lib/same.c (base_name): Likewise.
86180         * lib/stripslash.c (ISSLASH): Likewise.
86181
86182         * lib/addext.c: Include <dirname.h> after size_t is defined.
86183         * lib/backupfile.c: Likewise.
86184
86185         * lib/addext.c (addext): Use base_len to trim redundant
86186         trailing slashes instead of doing it ourselves.
86187         But do not trim the last slash if it is not redundant.
86188
86189         * lib/backupfile.c (find_backup_file_name,
86190         max_backup_version): Use base_len instead of rolling it ourselves.
86191         Handle the case of "" and (on DOS) "C:" correctly.
86192
86193         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86194         needed. Include <string.h>, <dirname.h>.
86195         (base_name): Allow file names ending in slashes, other than names
86196         that are all slashes.  In this case, return the basename followed
86197         by the slashes.  This is more general, and can be used in places
86198         where the original base_name purposely had an assertion failure.
86199         (base_len): New function.
86200
86201         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86202         Do not include <assert.h>; no longer needed.
86203         Include xalloc.h.
86204         (memrchr): Remove decl.
86205         (dir_name_r): Remove.
86206         (dir_len): Renamed from dirlen.  All callers changed.
86207         Rewrite in terms of base_name, for simplicity and consistency.
86208         (dir_name): Never return NULL.  All callers changed.
86209         Do not include <stdlib.h> in test program; no longer needed.
86210         return 0; is fine for test program.
86211
86212         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86213         New macros.
86214         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86215
86216         * lib/path-concat.c (path_concat): Use base_len to compute
86217         base length, not strlen; this means we cannot rely on memcpy
86218         to null-terminate.
86219
86220         * lib/same.c (STREQ): Remove.
86221         (same_name): Handle the case where the basename ends in trailing '/'.
86222
86223         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86224         a slash was stripped.  Do not strip the last slash after a
86225         file system prefix.
86226
86227 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86228
86229         * lib/Makefile.am (libfetish_a_SOURCES):
86230         Add strftime.c, since we now compile it on all hosts.
86231
86232         * lib/strftime.c (my_strftime):
86233         Define to nstrftime if emacs, but only if my_strftime is not defined.
86234         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86235         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86236         Add one more extra argument: a nanoseconds value.
86237         All uses changed.
86238         (ns): New macro.
86239         (my_strftime function): Add %N format.
86240         (emacs_strftimeu): Renamed from emacs_strftime,
86241         with extra ut argument.
86242
86243 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86244
86245         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86246
86247 2001-04-21  Jim Meyering  <meyering@lucent.com>
86248
86249         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86250         doesn't interfere.
86251
86252 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86253
86254         * m4/ftruncate.m4: Check for chsize.
86255         Link with ftruncate.o unconditionally if ftruncate is missing.
86256         This was required when cross-compiling to i586-mingw32msvc.
86257
86258 2001-04-08  Jim Meyering  <meyering@lucent.com>
86259
86260         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86261         recomputed; that's necessary when the offset spans a DST transition.
86262         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86263
86264 2001-04-02  Jim Meyering  <meyering@lucent.com>
86265
86266         * lib/regex.h, regex.c: Update from GNU libc.
86267
86268 2001-03-24  Jim Meyering  <meyering@lucent.com>
86269
86270         * m4/jm-macros.m4: Require autoconf-2.49d.
86271
86272 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86273
86274         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86275
86276 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86277
86278         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86279
86280 2001-03-17  Jim Meyering  <meyering@lucent.com>
86281
86282         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86283         now that the version in autoconf is equivalent.
86284         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86285
86286         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86287         Suggestion from Akim Demaille.
86288
86289         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86290         (jm_PREREQ_TEMPNAME): New function.
86291
86292 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86293
86294         * lib/tempname.c (uint64_t): Define to uintmax_t if
86295         not defined, and if UINT64_MAX is not defined.
86296         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86297         Reported by John David Anglin.
86298
86299 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86300
86301         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86302         resolve alias if codeset is empty.
86303         * lib/config.charset (BeOS): Use wildcard syntax.
86304
86305 2001-03-13  Jim Meyering  <meyering@lucent.com>
86306
86307         * lib/path-concat.c (path_concat)
86308         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86309         concatenating e.g., `C:' and `foo'.
86310         From Bruno Haible.
86311
86312 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86313
86314         * lib/localcharset.c (locale_charset): Don't use
86315         setlocale(LC_CTYPE,NULL). Don't return NULL.
86316         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86317
86318 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86319
86320         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86321         support for DOS/DJGPP.
86322
86323 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86324
86325         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86326         lacks mkstemp.  Compile our own tempname.c if we compile our own
86327         mkstemp.c, as mkstemp relies on tempname.
86328
86329 2001-03-01  Jim Meyering  <meyering@lucent.com>
86330
86331         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86332         AH_VERBATIM really does output its argument verbatim.
86333
86334 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86335
86336         * lib/Makefile.am (libfetish_a_SOURCES):
86337         Add dup-safer.c, fopen-safer.c.
86338         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86339
86340         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86341         * lib/unistd-safer.h: New files.
86342
86343 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86344
86345         The mkstemp replacement is taken from glibc 2.2.2, with some
86346         portability fixes for use outside glibc, as follows:
86347
86348         * lib/tempname.c (struct_stat64): New macro.
86349         (direxists, __gen_tempname): Use it.
86350         This avoids a portability problem with Solaris 8.
86351
86352         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86353         (<stddef.h>, <stdint.h>, <string.h>):
86354         Include only if STDC_HEADERS || _LIBC.
86355         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86356         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86357         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86358         (__set_errno): Define this macro if <errno.h> doesn't.
86359         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86360         Define these macros if <stdio.h> doesn't.
86361         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86362         Define these macros if <sys/stat.h>
86363         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86364         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86365         __xstat64): Define if not _LIBC.
86366         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86367         (__gen_tempname): Invoke gettimeofday only if
86368         HAVE_GETTIMEOFDAY || _LIBC;
86369         otherwise, fall back on plain "time".
86370         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86371
86372         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86373
86374         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86375
86376 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86377
86378         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86379
86380 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86381
86382         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86383         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86384         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86385         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86386
86387 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86388
86389         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86390         Remove workaround macros for hosts that have mbrtowc but not
86391         mbstate_t, as we now insist on proper declarations for both
86392         before using mbrtowc.
86393
86394 2001-02-17  Jim Meyering  <meyering@lucent.com>
86395
86396         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86397         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86398         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86399         UnixWare 7.1.1.
86400
86401         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86402         rather than AC_CACHE_VAL.
86403
86404 2001-02-17  Jim Meyering  <meyering@lucent.com>
86405
86406         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86407         around included file name.
86408
86409         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86410
86411         * lib/strftime.c: Update from GNU libc (the only changes were to
86412         comments).
86413
86414 2001-02-17  Jim Meyering  <meyering@lucent.com>
86415
86416         * lib/regex.c: Update from libc.
86417
86418 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86419
86420         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86421         clash.
86422
86423 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86424
86425         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86426         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86427         Reported by Mark Hounschell via Paul Eggert.
86428
86429 2001-02-07  Jim Meyering  <meyering@lucent.com>
86430
86431         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86432
86433 2001-02-05  Jim Meyering  <meyering@lucent.com>
86434
86435         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86436         it includes the patch required for `large file' support with at least
86437         HP-UX's 10.20 /bin/cc.
86438
86439 2001-02-03  Jim Meyering  <meyering@lucent.com>
86440
86441         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86442         AS_IF, now that it works once again (mysteriously).
86443         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86444
86445 2001-01-30  Jim Meyering  <meyering@lucent.com>
86446
86447         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86448         * m4/chown.m4: Rename conftestchown to conftest.chown.
86449         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86450         s/conftestdir2/conftest.d2/.
86451         * m4/utimes.m4: s/conftestdata/conftest.data/
86452         Inspired by Pavel Roskin's change in autoconf.
86453
86454 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86455
86456         * lib/config.charset: Update for FreeBSD 4.2.
86457
86458 2001-01-27  Jim Meyering  <meyering@lucent.com>
86459
86460         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86461         a use of AS_IF.
86462         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86463
86464 2001-01-26  Jim Meyering  <meyering@lucent.com>
86465
86466         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86467         quotearg.c includes it.
86468
86469 2001-01-26  Jim Meyering  <meyering@lucent.com>
86470
86471         * lib/quotearg.c: Include stddef.h.
86472         * lib/quote.c: Include stddef.h.
86473         Reported by Axel Kittenberger.
86474
86475         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
86476         line in double quotes so that it evokes a better diagnostic.
86477         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
86478         Reported by Axel Kittenberger.
86479
86480 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
86481
86482         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
86483         as if it was a `charset'.
86484
86485 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86486
86487         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
86488         has const.
86489
86490 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86491
86492         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
86493         to avoid a warning.  Add back 'const' to inptr.
86494
86495 2001-01-20  Jim Meyering  <meyering@lucent.com>
86496
86497         Be sure that headers are checked before used in code compiled
86498         for the type checks.
86499         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
86500         In place of that, invoke jm_CHECK_ALL_TYPES.
86501         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
86502         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
86503         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
86504         The check for ssize_t was mistakenly run before the test for unistd.h.
86505
86506         The configure-time check for stdbool.h was missing.
86507         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
86508         (jm_PREREQ_HASH): New function.
86509
86510 2001-01-17  Jim Meyering  <meyering@lucent.com>
86511
86512         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
86513         for autoconf-2.49c.
86514         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
86515
86516 2001-01-16  Jim Meyering  <meyering@lucent.com>
86517
86518         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
86519         From Bruno Haible.
86520
86521 2001-01-14  Jim Meyering  <meyering@lucent.com>
86522
86523         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
86524         foo and bar.  Create conftestdir/ in the script, not in the C code.
86525         Remove directories in the script, not in the C code.
86526         Remove conftestdir{,2} before trying to create the directory.
86527         Make the entire configure script fail if the mkdir fails.
86528
86529 2001-01-14  Jim Meyering  <meyering@lucent.com>
86530
86531         * lib/rename.c: New file.  From Volker Borchert.
86532         Include stdlib.h, string.h or strings.h, and xalloc.h.
86533         Use strip_trailing_slashes rather than open-coding it.
86534
86535 2001-01-03  Paul Eggert  <eggert@twinsun.com>
86536
86537         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
86538
86539 2001-01-03  Jim Meyering  <meyering@lucent.com>
86540
86541         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
86542         of local `inptr' to avoid warning with some system declarations of
86543         iconv.
86544
86545 2001-01-02  Volker Borchert  <bt@teknon.de>
86546
86547         * m4/rename.m4: New file.
86548         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
86549
86550 2001-01-01  Jim Meyering  <meyering@lucent.com>
86551
86552         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
86553         even on systems with utmpx.h.  It's necessary for the declaration of
86554         utmp's ut_user member.  Reported by Andreas Jaeger.
86555
86556         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
86557         available. They are required for the declarations of getgrgid and
86558         getpwuid resp.
86559         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
86560         Reported by Andreas Jaeger.
86561
86562 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
86563
86564         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
86565         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
86566         so `make install' also works in VPATH builds.
86567
86568 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
86569
86570         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
86571         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
86572         can be used in subdirectories.
86573
86574 2000-12-29  Paul Eggert  <eggert@twinsun.com>
86575
86576         * lib/modechange.c: Do not assume that mode_t uses the
86577         traditional octal encoding.  E.g. "chmod 1 FOO" should set
86578         the other-execute bit of FOO even if S_IXOTH != 1.
86579
86580         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
86581         WOTH, XOTH, ALLM): New macros.
86582         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
86583          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
86584         Use them.
86585         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
86586         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
86587         (mode_compile):
86588         No need to use uintmax_t; unsigned long is long enough.
86589         Don't bother to get suffix since we don't use it.
86590
86591 2000-12-26  Jim Meyering  <meyering@lucent.com>
86592
86593         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
86594         better with autoheader.
86595
86596 2000-12-24  Jim Meyering  <meyering@lucent.com>
86597
86598         * lib/hash.c (is_prime): Return explicit boolean values.
86599         (hash_get_first): Return NULL to appease Irix5.6's 89.
86600         Reported by Nelson Beebe.
86601
86602 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
86603
86604         * lib/localcharset.c (locale_charset): Add support for Win32.
86605
86606 2000-12-18  Paul Eggert  <eggert@twinsun.com>
86607
86608         * lib/physmem.h, lib/physmem.c: New files.
86609
86610         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
86611         (noinst_HEADERS): Add physmem.h.
86612
86613         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
86614         't' for compatibility with Solaris 8 sort.
86615
86616 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
86617
86618         * lib/config.charset: Add support for BeOS.
86619
86620 2000-12-17  Jim Meyering  <meyering@lucent.com>
86621
86622         * m4/dos.m4 (jm_AC_DOS): New file and macro.
86623         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
86624
86625 2000-12-16  Jim Meyering  <meyering@lucent.com>
86626
86627         This bug had a serious impact on chown: `chown N:M FILE' (for integer
86628         N and M) would have treated it like `chown N:N FILE'.
86629
86630         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
86631
86632 2000-12-16  Jim Meyering  <meyering@lucent.com>
86633
86634         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
86635         SHELLS_FILE to a file name that's useful on djgpp systems.
86636         Include stdlib.h.
86637         (ADDITIONAL_DEFAULT_SHELLS): Define.
86638         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
86639         Based mostly on a patch from Prashant TR.
86640
86641 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
86642
86643         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
86644         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
86645         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
86646
86647 2000-12-08  Andreas Schwab  <schwab@suse.de>
86648
86649         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
86650         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
86651
86652 2000-12-07  Jim Meyering  <meyering@lucent.com>
86653
86654         * lib/stripslash.c (ISSLASH): Define.
86655         (strip_trailing_slashes): Use ISSLASH rather than comparing against
86656         `/'.
86657         From Prashant TR.
86658
86659         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
86660         (dir_name_r): Declare this function as static.
86661         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
86662         manifest itself on a name containing a mix of slashes and
86663         backslashes.
86664         Make this function work with names starting with a DOS-style
86665         drive letter and colon prefix.
86666         (dir_name): Append `.' if necessary.
86667         Based mostly on patches from Prashant TR and Eli Zaretskii.
86668
86669         * lib/dirname.h (dir_name_r): Remove prototype.
86670
86671 2000-12-06  Paul Eggert  <eggert@twinsun.com>
86672
86673         * m4/off_t-format.m4: Remove this file.
86674         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
86675
86676 2000-12-06  Jim Meyering  <meyering@lucent.com>
86677
86678         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
86679         replacement strtoull, we may well need the replacement strtoul, too.
86680         Check for declarations of strtoul and strtoull.
86681         Check for strtol.  Mainly as a cue to cause automake to include
86682         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
86683         Check for limits.h -- strtol.c needs it.
86684
86685 2000-12-05  Jim Meyering  <meyering@lucent.com>
86686
86687         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
86688
86689 2000-12-04  Jim Meyering  <meyering@lucent.com>
86690
86691         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
86692         Also include memory.h, stdlib.h, unistd.h if appropriate.
86693         Reported by Andreas Jaeger (conflicting declaration of malloc).
86694
86695 2000-12-02  Jim Meyering  <meyering@lucent.com>
86696
86697         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
86698         * m4/jm-macros.m4 (jm_MACROS): require it.
86699
86700 2000-12-02  Jim Meyering  <meyering@lucent.com>
86701
86702         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
86703
86704 2000-12-01  Paul Eggert  <eggert@twinsun.com>
86705
86706         * lib/memrchr.c: Include <config.h> before any system include file.
86707
86708 2000-11-30  Jim Meyering  <meyering@lucent.com>
86709
86710         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
86711
86712 2000-11-30  Jim Meyering  <meyering@lucent.com>
86713
86714         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
86715
86716 2000-11-29  Paul Eggert  <eggert@twinsun.com>
86717
86718         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
86719
86720 2000-11-26  Jim Meyering  <meyering@lucent.com>
86721
86722         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
86723
86724 2000-11-22  Paul Eggert  <eggert@twinsun.com>
86725
86726         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
86727         size of (size_t) -1; it's not portable.
86728
86729 2000-11-17  Jim Meyering  <meyering@lucent.com>
86730
86731         * lib/strstr.c: Update from GNU libc.
86732
86733 2000-11-17  Akim Demaille  <akim@epita.fr>
86734
86735         * lib/obstack.h: Formatting changes.
86736         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
86737         prevent type checking.
86738         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
86739         cast the value to (void *): assigning a `foo *' to a `void *'
86740         variable is valid.
86741         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
86742
86743 2000-11-16  Jim Meyering  <meyering@lucent.com>
86744
86745         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
86746
86747 2000-11-11  Jim Meyering  <meyering@lucent.com>
86748
86749         * lib/error.c: Add a couple #includes, merging from GNU libc version.
86750
86751 2000-11-10  Jim Meyering  <meyering@lucent.com>
86752
86753         * lib/obstack.h: Update from GNU libc.
86754         * lib/obstack.c: Likewise.
86755
86756 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
86757
86758         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
86759
86760 2000-11-06  Paul Eggert  <eggert@twinsun.com>
86761
86762         * lib/getusershell.c (setusershell): Use rewind rather than
86763         fseek/fseeko, to avoid configuration hassles with fseeko.
86764         Don't bother opening SHELLS_FILE if shellstream is NULL;
86765         it's not necessary.
86766
86767 2000-11-05  Jim Meyering  <meyering@lucent.com>
86768
86769         * lib/makepath.h (make_dir): Declare.
86770         * lib/makepath.c (make_dir): Remove `static' attribute.
86771         Tweak a comment.
86772
86773 2000-11-04  Jim Meyering  <meyering@lucent.com>
86774
86775         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
86776
86777 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
86778
86779         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
86780         last one in a bucket, advance to the next bucket.
86781
86782 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
86783
86784         * lib/fnmatch.c: Do not comment out all the code if we are using
86785         the GNU C library, because in some cases we are replacing buggy
86786         code in the GNU C library itself.
86787
86788 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
86789
86790         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
86791         (regex_compile): Catch bogus \(\1\).
86792
86793 2000-10-30  Paul Eggert  <eggert@twinsun.com>
86794
86795         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
86796         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
86797         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
86798
86799 2000-10-30  Paul Eggert  <eggert@twinsun.com>
86800
86801         * lib/error.h, getline.h, modechange.h:
86802         Remove "2000" from Copyright line, as the file hasn't been
86803         changed this year other than in the copyright notice.
86804
86805         * lib/xalloc.h: Add "2000" to Copyright line, as this file
86806         was changed this year.
86807
86808 2000-10-29  Jim Meyering  <meyering@lucent.com>
86809
86810         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
86811         renaming.
86812         * m4/ls-mntd-fs.m4: Likewise
86813
86814 2000-10-29  Jim Meyering  <meyering@lucent.com>
86815
86816         * lib/xstat.in: Fix grammar in comment.
86817
86818 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
86819
86820         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
86821         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
86822         doesn't define __restrict_arr.
86823
86824 2000-10-28  Jim Meyering  <meyering@lucent.com>
86825
86826         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
86827         (jm_PREREQ_MEMCHR): New function.
86828
86829 2000-10-28  Jim Meyering  <meyering@lucent.com>
86830
86831         * lib/memchr.c: Update from libc.
86832         Adjust for portability:
86833         [HAVE_STDLIB_H]: Include stdlib.h.
86834         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
86835         Undef __memchr, too.
86836         [!weak_alias]: Define __memchr to memchr.
86837
86838         * lib/regex.c: Update from libc.
86839         * lib/regex.h: Likewise.
86840         * lib/getopt1.c: Likewise.
86841         * lib/memcmp.c: Likewise.
86842
86843         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
86844         Avoid using fseek, when possible -- it's broken by design.
86845         Patch by Ulrich Drepper.
86846
86847 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
86848
86849         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
86850         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
86851         Giving in to popular pressure to shut up the compiler with casts.
86852
86853 2000-10-26  Jim Meyering  <meyering@lucent.com>
86854
86855         * lib/strftime.c: Update from libc.
86856
86857 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
86858
86859         * regex.c: More `unsigned char' -> `re_char' changes.
86860         Also change several `int' into `re_wchar_t'.
86861         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
86862         (PUSH_FAILURE_POINTER): Don't cast any more.
86863         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
86864         We want GCC to complain, since this piece of code makes
86865         re_match non-reentrant, which *should* be fixed.
86866         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
86867         (EXTEND_BUFFER): Use RETALLOC.
86868         (SET_LIST_BIT): Don't cast.
86869         (re_wchar_t): New type.
86870         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
86871         that those two functions will always properly return.
86872         (IMMEDIATE_QUIT_CHECK): Cast to void.
86873         (analyse_first): Use recursion rather than an explicit stack.
86874         (re_compile_fastmap): Can't fail anymore.
86875         (re_search_2): Don't check re_compile_fastmap for failure.
86876         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
86877         Now also sets the new value (passed in a new argument).
86878         (re_match_2_internal): Use it.
86879         Also, use a new var `reg' of type size_t when looping through regs
86880         rather than reuse the inappropriate `mcnt'.
86881
86882 2000-10-25  Jim Meyering  <meyering@lucent.com>
86883
86884         * lib/obstack.c: Update from libc.
86885
86886 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
86887
86888         * regex.c (regex_compile): Change the way of handling a range from
86889         a char less than 256 to a char not less than 256.
86890
86891 2000-10-24  Andrew Innes  <andrewi@gnu.org>
86892
86893         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
86894         NT-Emacs only.
86895         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
86896         so that re_search functions only quit when callers expect them to.
86897
86898 2000-10-23  Jim Meyering  <meyering@lucent.com>
86899
86900         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
86901         wrong.  That set_locale call must not have any side effects.
86902         From Paul Eggert.
86903
86904 2000-10-22  Jim Meyering  <meyering@lucent.com>
86905
86906         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
86907         [CYCLIC]: Remove now-unused definition.
86908
86909         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
86910         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
86911         Suggestion from Ulrich Drepper.
86912
86913 2000-10-21  Jim Meyering  <meyering@lucent.com>
86914
86915         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
86916         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
86917         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
86918
86919 2000-10-21  Jim Meyering  <meyering@lucent.com>
86920
86921         * lib/dirname.c (memrchr): Declare if necessary.
86922         (dir_name): Remove the restriction that there be no
86923         trailing slashes.  Now, this code skips past them, effectively
86924         ignoring them.
86925         [TEST_DIRNAME] (main): New unit tests.
86926
86927         * lib/memrchr.c: New file from GNU libc.
86928         Undef __memrchr, too.
86929         [!weak_alias]: Define __memrchr to memrchr.
86930         Guard weak_alias use with `#ifdef weak_alias'.
86931
86932 2000-10-21  Jim Meyering  <meyering@lucent.com>
86933
86934         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
86935         (dir_name): Use dir_name_r.
86936         * lib/dirname.h (dir_name_r): Declare it.
86937
86938 2000-10-17  Jim Meyering  <meyering@lucent.com>
86939
86940         * lib/quote.h (PARAMS): Define and use.
86941         Reported by Akim Demaille.
86942
86943         * lib/getopt.c: Update from libc.
86944
86945 2000-10-16  Jim Meyering  <meyering@lucent.com>
86946
86947         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
86948         setlocale.
86949         From Jan Fedak.
86950
86951 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
86952
86953         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
86954
86955 2000-09-25  Jim Meyering  <meyering@lucent.com>
86956
86957         * lib/md5.h (rol): Define (from GnuPG).
86958
86959         * lib/sha.c: Give credit (GnuPG) where due.
86960         (M): Use rol rather than open-coding it.
86961         Add a FIXME comment.
86962
86963 2000-09-21  Jim Meyering  <meyering@lucent.com>
86964
86965         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
86966         Reported by Michael Stone.
86967
86968 2000-09-20  Jim Meyering  <meyering@lucent.com>
86969
86970         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
86971         (noinst_HEADERS): Add sha.h.
86972         Based on code from Scott G. Miller and from GnuPG.
86973
86974 2000-09-18  Jim Meyering  <meyering@lucent.com>
86975
86976         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
86977         LIBS. Otherwise, everyone ends up linking with -lelf for some
86978         configurations.
86979         Reported by Mike Stone.
86980
86981 2000-09-15  Jim Meyering  <meyering@lucent.com>
86982
86983         * lib/regex.c: Update from libc.
86984
86985 2000-09-10  Jim Meyering  <meyering@lucent.com>
86986
86987         * lib/getopt.c (_getopt_internal): Update from glibc.
86988
86989 2000-09-09  Jim Meyering  <meyering@lucent.com>
86990
86991         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
86992         think it should be used as a general replacement for isascii.
86993         * lib/fnmatch.c: Likewise.
86994         * lib/mbswidth.c: Likewise
86995         * lib/regex.c: Likewise.
86996
86997         Don't use atoi.
86998         * lib/userspec.c: Include sys/param.h and limits.h.
86999         Include xstrtol.h.
87000         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87001         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87002         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87003         UID, GID.  Check range.
87004
87005 2000-09-06  Jim Meyering  <meyering@lucent.com>
87006
87007         * lib/getopt.c (_getopt_internal): Update from glibc.
87008
87009 2000-08-30  Jim Meyering  <meyering@lucent.com>
87010
87011         * lib/strftime.c: Merge in changes from GNU libc.
87012
87013 2000-08-26  Jim Meyering  <meyering@lucent.com>
87014
87015         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87016         * m4/fpending.m4: New file.
87017
87018 2000-08-26  Jim Meyering  <meyering@lucent.com>
87019
87020         * lib/closeout.c: Include "__fpending.h".
87021         (close_stdout_status): Return right away if there's nothing to flush.
87022
87023         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87024         * lib/__fpending.c: New file.
87025         * lib/__fpending.h: New file.
87026
87027 2000-08-20  Jim Meyering  <meyering@lucent.com>
87028
87029         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87030         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87031         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87032
87033 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87034
87035         Improve fileutils installation on systems where running
87036         programs (like install) can't be unlinked.
87037         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87038         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87039
87040 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87041
87042         Standardize on "memory exhausted" instead of "Memory exhausted"
87043         or "virtual memory exhausted".
87044         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87045         "virtual memory exhausted".
87046         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87047         our own message.
87048         * lib/userspec.c (parse_user_spec): Likewise.
87049         * lib/bumpalloc.h: comment fix
87050         * lib/same.c, userspec.c: Include xalloc.h.
87051
87052         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87053         not char *const and pointing to a constant array.
87054         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87055         (xrealloc): Comment fix.
87056
87057         * lib/userspec.c (parse_user_spec):
87058         Don't translate a message until just before returning,
87059         to avoid unnecessary translation.
87060
87061 2000-08-07  Jim Meyering  <meyering@lucent.com>
87062
87063         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87064         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87065         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87066         getgroups.c, gethostname.c, getopt.h, group-member.c,
87067         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87068         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87069         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87070         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87071         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87072         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87073         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87074         yesno.c: Back out Copyright date changes for each file with no change
87075         this year.  This eases coordination with other programs using the same
87076         source code modules.  From Paul Eggert.
87077
87078 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87079
87080         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87081         not char, for compatibility with glibc 2.1.3 strftime.c.
87082
87083 2000-08-03  Greg McGary  <greg@mcgary.org>
87084
87085         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87086         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87087         (EXTEND_BUFFER): Use them.
87088
87089 2000-08-01  Jim Meyering  <meyering@lucent.com>
87090
87091         * lib/dirname.c (ISSLASH): Define.
87092         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87093         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87094         both `\' and `/' may be use as path separators.
87095         Based on a patch from Prashant TR.
87096
87097 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87098
87099         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87100         slot vector a constant, since it might get modified.
87101
87102 2000-07-31  Jim Meyering  <meyering@lucent.com>
87103
87104         * lib/xmalloc.c: Use `virtual memory exhausted', not
87105         `Memory exhausted'.
87106         * lib/obstack.c (print_and_abort): Likewise.
87107
87108 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87109
87110         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87111         buffer, so that the caller can always quote one small
87112         component of a "memory exhausted" message in slot 0.
87113         From a suggestion by Jim Meyering.
87114
87115 2000-07-30  Jim Meyering  <meyering@lucent.com>
87116
87117         * lib/makepath.c (make_path): Quote the other instance, too.
87118
87119         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87120         (STATIC_BUF_SIZE): Define.
87121         (quotearg_n_options): Use only statically allocated storage when
87122         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87123         than STATIC_BUF_SIZE.
87124
87125 2000-07-29  Jim Meyering  <meyering@lucent.com>
87126
87127         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87128         * lib/dirname.c (dir_name): Likewise.
87129
87130         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87131         `/'.
87132
87133         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87134         (dir_name): Assert that there are no trailing slashes.
87135
87136 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87137
87138         * lib/mbswidth.h (mbswidth): Add a flags argument.
87139         (mbswidth): New declaration.
87140         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87141         * lib/mbswidth.c (mbswidth): Add a flags argument.
87142         (mbsnwidth): New function.
87143
87144 2000-07-24  Jim Meyering  <meyering@lucent.com>
87145
87146         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87147
87148 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87149
87150         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87151
87152 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87153
87154         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87155         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87156         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87157         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87158         invoke multibyte primitives.
87159
87160 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87161
87162         * lib/quotearg.c:
87163         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87164         so that mbstate_t is always defined.
87165
87166         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87167         be 1 in at least one GCC installation, and this configuration
87168         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87169         performance on hosts that have mbrtowc but have only unibyte
87170         locales, but I assume these hosts are rare.
87171
87172 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87173
87174         * lib/mbswidth.c (_XOPEN_SOURCE):
87175         Don't define; this causes problems on Solaris 7.
87176         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87177
87178 2000-07-23  Jim Meyering  <meyering@lucent.com>
87179
87180         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87181         too: getgrgid, getpwuid, getuid.
87182
87183 2000-07-23  Jim Meyering  <meyering@lucent.com>
87184
87185         * lib/basename.c (base_name): Add an assertion.
87186
87187 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87188
87189         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87190         shadow its mbsinit function.
87191
87192 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87193
87194         * lib/mbswidth.h: New file.
87195         * lib/mbswidth.c: New file.
87196         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87197         (noinst_HEADERS): Add mbswidth.h.
87198
87199 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87200
87201         * lib/config.charset: Add support for FreeBSD. Improve support for
87202         HP-UX and IRIX 6.
87203
87204 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87205
87206         * m4/mbswidth.m4: New file.
87207         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87208
87209 2000-07-15  Jim Meyering  <meyering@lucent.com>
87210
87211         * lib/makepath.c: Include quote.h.
87212         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87213         corresponding argument in a `quote (...)' call.
87214         Give better diagnostics.
87215
87216         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87217         (noinst_HEADERS): Add quote.h.
87218
87219         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87220         from tar's src/misc.c.
87221         * lib/quote.h: New file.  Prototypes for same.
87222
87223 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87224
87225         From a suggestion by Bruno Haible.
87226         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87227         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87228         to decide whether to define the BeOS workaround macro;
87229         this adjusts to the change to AC_MBSTATE_T.
87230
87231 2000-07-14  Jim Meyering  <meyering@lucent.com>
87232
87233         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87234         jm_AC_TYPE_UINTMAX_T.
87235
87236 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87237
87238         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87239
87240         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87241         quotearg_buffer_restyled): Add support for
87242         clocale_quoting_style.  Undo previous change to
87243         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87244         and "{RIGHT QUOTATION MARK}" msgids.
87245
87246 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87247
87248         From a suggestion by Bruno Haible.
87249         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87250         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87251         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87252         and mbstate_t, to a single-part test that simply defines mbstate_t.
87253         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87254         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87255
87256 2000-07-10  Jim Meyering  <meyering@lucent.com>
87257
87258         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87259
87260         * m4/gnu-source.m4: Output to confdefs.h directly.
87261         Suggestion from Akim Demaille.
87262
87263 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87264
87265         The old behavior of quoting `like this' doesn't look good with
87266         newer, ISO-style fonts.  See:
87267         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87268
87269         Instead, quote "like this" by default.  Let the translator
87270         tailor the locale-specific quoting behavior by providing
87271         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87272
87273         * lib/quotearg.c (N_): New macro.
87274         (gettext_default): New function.
87275         (quotearg_buffer_restyled): Use
87276         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87277         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87278
87279 2000-07-09  Jim Meyering  <meyering@lucent.com>
87280
87281         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87282         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87283
87284         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87285         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87286
87287 2000-07-09  Jim Meyering  <meyering@lucent.com>
87288
87289         * lib/Most files: Update copyright dates to include 2000.
87290
87291 2000-07-08  Jim Meyering  <meyering@lucent.com>
87292
87293         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87294         if not defined.
87295         (xgethostname): Remove now-unnecessary #ifdef.
87296         Move declaration of `err' into loop where it's used.
87297
87298 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87299         and Bruno Haible  <haible@clisp.cons.org>
87300
87301         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87302         only if the test for an object-type mbstate_t fails.  This
87303         prevents us from mistakenly reporting that mbstate_t is a
87304         system object type after we "#define mbstate_t int" to work
87305         around its lack.
87306
87307 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87308         and Bruno Haible  <haible@clisp.cons.org>
87309
87310         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87311
87312 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87313
87314         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87315         to strerror_r.
87316         Include <ctype.h> for use of isalpha.
87317
87318 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87319
87320         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87321         by allocating a larger buffer. Test the gethostname return value for
87322         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87323         returns an error and ENAMETOOLONG isn't defined.
87324
87325 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87326
87327         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87328         dimension.
87329
87330 2000-07-04  Jim Meyering  <meyering@lucent.com>
87331
87332         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87333         of the deprecated AC_CHECKING.
87334
87335 2000-07-04  Jim Meyering  <meyering@lucent.com>
87336
87337         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87338         Reported by Bruno Haible.
87339
87340 2000-07-04  Jim Meyering  <meyering@lucent.com>
87341
87342         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87343         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87344         lacks mbrtowc.
87345
87346 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87347
87348         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87349         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87350
87351 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87352         and Bruno Haible  <haible@clisp.cons.org>
87353
87354         * lib/quotearg.c (mbrtowc):
87355         Assign to *pwc, and return 1 only if result is nonzero.
87356         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87357
87358 2000-07-03  Jim Meyering  <meyering@lucent.com>
87359
87360         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87361
87362 2000-07-03  Jim Meyering  <meyering@lucent.com>
87363
87364         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87365         This is necessary to get a definition of e.g., UTMP_FILE on
87366         HP-UX 10.20.
87367         From Bob Proulx.
87368
87369 2000-07-02  Jim Meyering  <meyering@lucent.com>
87370
87371         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87372
87373         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87374         AC_LIBOBJ(function_name).
87375         * m4/chown.m4: Likewise.
87376         * m4/fnmatch.m4: Likewise.
87377         * m4/ftruncate.m4: Likewise.
87378         * m4/getgroups.m4: Likewise.
87379         * m4/getline.m4: Likewise.
87380         * m4/group-member.m4: Likewise.
87381         * m4/jm-macros.m4: Likewise.
87382         * m4/lstat.m4: Likewise.
87383         * m4/malloc.m4: Likewise.
87384         * m4/memcmp.m4: Likewise.
87385         * m4/nanosleep.m4: Likewise.
87386         * m4/putenv.m4: Likewise.
87387         * m4/realloc.m4: Likewise.
87388         * m4/regex.m4: Likewise.
87389         * m4/stat.m4: Likewise.
87390         * m4/strftime.m4: Likewise.
87391
87392 2000-07-02  Jim Meyering  <meyering@lucent.com>
87393
87394         * lib/quotearg.c (mbstate_t): Don't define here.
87395
87396 2000-07-02  Jim Meyering  <meyering@lucent.com>
87397
87398         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87399
87400 2000-07-01  Jim Meyering  <meyering@lucent.com>
87401
87402         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87403
87404 2000-07-01  Jim Meyering  <meyering@lucent.com>
87405
87406         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87407         problem.
87408
87409 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87410
87411         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87412         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87413
87414 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87415
87416         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87417         per change in ../m4/ls-mntd-fs.m4.
87418         (read_filesystem_list): Ignore symbolic links.
87419
87420 2000-06-29  Jim Meyering  <meyering@lucent.com>
87421
87422         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87423         for declaration of strcmp.
87424
87425         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87426
87427         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87428         Avoid warning by casting result to `char *' to remove `const'.
87429
87430 2000-06-28  Jim Meyering  <meyering@lucent.com>
87431
87432         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87433         included by quotearg.c, for which we perform this test.  From
87434         Bruno Haible.
87435
87436 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87437
87438         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87439         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87440         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87441
87442 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87443
87444         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87445
87446 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87447
87448         savedir now sets errno on failure and invokes xmalloc to get memory.
87449         Fix a couple of other minor bugs while we're at it.
87450
87451         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87452         (NAMLEN): Remove macro.
87453         (malloc, realloc): Remove decls.
87454         (stpcpy): Likewise.
87455         ("xalloc.h"): Include.
87456         (NAME_SIZE_DEFAULT): New macro.
87457         (savedir): Use xmalloc / xrealloc to allocate memory.
87458         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87459         Skip "" directory entries.
87460         Use strlen to calculate directory entry length, since the old method
87461         is rarely used these days and isn't worth supporting.
87462         Don't use a pointer after freeing it.
87463         Check for integer overflow when calculating allocation size.
87464         Use memcpy to copy entries, instead of stpcpy.
87465         Set errno properly when returning NULL.
87466         Check for readdir error.
87467
87468 2000-06-26  Jim Meyering  <meyering@lucent.com>
87469
87470         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
87471
87472 2000-06-25  Jim Meyering  <meyering@lucent.com>
87473
87474         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
87475         Linux header bug when _XOPEN_SOURCE is defined to 500.
87476
87477 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87478
87479         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
87480         deficiency.
87481
87482 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87483
87484         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
87485         Include xalloc.h.
87486         Don't include <stdlib.h>.  Don't declare malloc, realloc.
87487
87488 2000-06-24  Jim Meyering  <meyering@lucent.com>
87489
87490         * m4/strerror_r.m4: Revive this file -- to try out an experimental
87491         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
87492         for which strerror does return char*, but which lacks a conveniently
87493         accessible declaration of the function.  If the compile-test says
87494         strerror_r doesn't work, then resort to a `run'-test that works on
87495         BeOS and segfaults on DEC Unix.
87496
87497 2000-06-24  Jim Meyering  <meyering@lucent.com>
87498
87499         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
87500
87501 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87502
87503         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
87504         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
87505
87506 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87507
87508         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
87509         (mbrtowc, mbstate_t): Define substitutes if
87510         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
87511         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
87512         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
87513
87514 2000-06-23  Jim Meyering  <meyering@lucent.com>
87515
87516         * m4/afs.m4: Add missing AC_MSG_RESULT.
87517         Reported by Bruno Haible.
87518
87519         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
87520         Suggestion from Bruno Haible.
87521
87522 2000-06-23  Jim Meyering  <meyering@lucent.com>
87523
87524         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
87525
87526 2000-06-21  Jim Meyering  <meyering@lucent.com>
87527
87528         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
87529
87530 2000-06-21  Jim Meyering  <meyering@lucent.com>
87531
87532         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
87533         (noinst_HEADERS): Add getstr.h.
87534
87535         * lib/getline.c (getstr): Move into a separate file.
87536         * lib/getstr.c (getstr): New file, extracted from getline.c, with
87537         the following changes: new parameter, delim2; both delim[12]
87538         parameters have type `int', not `char'.  The latter would lose
87539         with 8-bit delimiters.
87540         * lib/getstr.h: New file.
87541
87542 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87543
87544         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
87545         than 1024, return a memory chunk of least possible size, instead
87546         of size PATH_MAX + 2. In the loop, increment the size proportionally.
87547         Use free/xmalloc instead of xrealloc to avoid copying for very long
87548         paths.
87549
87550 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87551
87552         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
87553         the empty string.
87554
87555 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87556
87557         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
87558         address, not strdup.  Include <stdlib.h> and don't declare free().
87559
87560 2000-06-19  Jim Meyering  <meyering@lucent.com>
87561
87562         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
87563
87564 2000-06-18  Jim Meyering  <meyering@lucent.com>
87565
87566         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
87567
87568         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
87569         `checking whether...' message to be consistent with that of the
87570         lstat test.
87571
87572 2000-06-18  Jim Meyering  <meyering@lucent.com>
87573
87574         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
87575         Besides, these days every porting target provides a mkdir function.
87576
87577         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
87578         needed. (this snippet comes from src/system.h).
87579
87580 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
87581
87582         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
87583
87584 2000-06-15  Paul Eggert  <eggert@twinsun.com>
87585
87586         * lib/human.c (adjust_value): New function.
87587         (human_readable_inexact): Apply rounding style even when
87588         printing approximate values.
87589
87590 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87591
87592         * lib/human.c (human_readable_inexact): Allow an input block
87593         size that is not a multiple of the output block size, and vice versa.
87594         Reported by Piergiorgio Sartor.
87595
87596 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87597
87598         * lib/getdate.y (get_date): Apply relative times after time
87599         zone indicator, not before.  Reported by Todd A. Jacobs.
87600
87601 2000-06-13  Jim Meyering  <meyering@lucent.com>
87602
87603         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
87604
87605         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
87606
87607 2000-06-12  Paul Eggert  <eggert@twinsun.com>
87608
87609         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
87610
87611 2000-06-12  Jim Meyering  <meyering@lucent.com>
87612
87613         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
87614         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
87615         optional argument.
87616         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
87617         the optional argument, `lib'.
87618
87619 2000-06-08  Jim Meyering  <meyering@lucent.com>
87620
87621         * m4/largefile.m4: Remove file (now that it's part of autoconf).
87622
87623 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87624
87625         Rewrite largefile configuration so that we don't need to run
87626         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
87627         AC_CANONICAL_HOST in configure.in -- jmm]
87628
87629         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
87630         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
87631         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
87632         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
87633         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
87634         All uses changed.
87635         Instead of inspecting the output of getconf, try to compile the
87636         test program without and with the macro definition.
87637         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
87638         for getconf.  Instead, check for the needed flags by compiling
87639         test programs.
87640
87641 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87642
87643         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
87644
87645 2000-06-04  Jim Meyering  <meyering@lucent.com>
87646
87647         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
87648         SunOS 4.1.4 for which gid_t is an unsigned type.
87649
87650 2000-06-03  Jim Meyering  <meyering@lucent.com>
87651
87652         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
87653         now that autoconf requires that.
87654
87655         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
87656         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
87657         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
87658
87659 2000-06-03  Jim Meyering  <meyering@lucent.com>
87660
87661         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
87662
87663 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87664
87665         * m4/glibc21.m4: New file.
87666         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
87667
87668 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87669
87670         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
87671         newer, don't install charset.alias.
87672         * lib/config.charset: Change the Linux/glibc rules so they become empty
87673         on glibc-2.1 or newer.
87674
87675 2000-06-02  Jim Meyering  <meyering@lucent.com>
87676
87677         * lib/mountlist.c: Back out last change.  Instead, do this...
87678         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
87679         me_dummy member using the same `ignore'-testing code.
87680         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
87681         fs_type strings.
87682         From Mark D. Roth.
87683
87684 2000-05-29  Jim Meyering  <meyering@lucent.com>
87685
87686         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
87687         mounts with the `ignore' attribute.  Based on a patch from
87688         Mark D. Roth.
87689
87690 2000-05-28  Jim Meyering  <meyering@lucent.com>
87691
87692         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
87693         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87694         * m4/stat.m4: Likewise.
87695         * m4/lstat.m4: Likewise.
87696         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
87697
87698         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
87699         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
87700
87701 2000-05-26  Jim Meyering  <meyering@lucent.com>
87702
87703         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
87704
87705 2000-05-24  Jim Meyering  <meyering@lucent.com>
87706
87707         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
87708         autoconf requires that.
87709         * m4/lib-check.m4: Likewise.
87710         * m4/jm-macros.m4: Likewise.
87711         * m4/strftime.m4: Likewise.
87712
87713         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
87714         AC_CHECK_DECLS, now that autoconf requires that.
87715
87716 2000-05-22  Jim Meyering  <meyering@lucent.com>
87717
87718         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87719         * m4/lstat.m4: Likewise.
87720
87721 2000-05-22  Jim Meyering  <meyering@lucent.com>
87722
87723         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
87724
87725 2000-05-20  Jim Meyering  <meyering@lucent.com>
87726
87727         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
87728         (jm_PREREQ): Use it.
87729
87730 2000-05-18  Jim Meyering  <meyering@lucent.com>
87731
87732         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
87733         back, too, since it may have been modified by allocate_entry.
87734         (hash_delete): Rewrite to use neither the assignment operator
87735         nor the comma operator in an if-expression.
87736
87737 2000-05-15  Paul Eggert  <eggert@twinsun.com>
87738
87739         * lib/closeout.c:
87740         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
87741         Remove; no longer needed.
87742         "quotearg.h": Add include.
87743         (file_name): Do not bother to explicitly initialize to NULL; it's less
87744         efficient on some hosts.
87745         (close_stdout_status): Remove test as to whether stdout was already
87746         closed; it breaks for the case "echo x | sort >&-".
87747         Quote file name colons.
87748         Do not assume that _("write error") lacks format strings.
87749
87750 2000-05-15  Jim Meyering  <meyering@lucent.com>
87751
87752         * lib/version-etc.c (version_etc_copyright): Update the copyright
87753         string used in all --version output.
87754
87755 2000-05-14  Jim Meyering  <meyering@lucent.com>
87756
87757         * lib/closeout.c (close_stdout_set_file_name): New function.
87758         (close_stdout_status): Use new file-scoped global.
87759         Return right away if fstat says the stdout file descriptor is invalid.
87760         * lib/closeout.h (close_stdout_set_file_name): Declare.
87761
87762 2000-05-10  Jim Meyering  <meyering@lucent.com>
87763
87764         * lib/closeout.c [default_exit_status]: New file-scoped variable.
87765         (close_stdout_set_status): New function.
87766         * lib/closeout.h (close_stdout_set_status): Declare.
87767
87768 2000-05-09  Jim Meyering  <meyering@lucent.com>
87769
87770         * m4/gettext.m4: Rename this...
87771         * m4/libintl.m4: ...to this.
87772
87773 2000-05-08  Jim Meyering  <meyering@lucent.com>
87774
87775         * lib/long-options.c: Don't include closeout.h.
87776         (parse_long_options): Don't call close_stdout for --version.
87777
87778 2000-05-06  Paul Eggert  <eggert@twinsun.com>
87779
87780         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
87781         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
87782         2.1.3 bug.  This avoids a clash when files like regex.c define
87783         _GNU_SOURCE.
87784
87785 2000-05-06  Jim Meyering  <meyering@lucent.com>
87786
87787         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
87788         (AC_REPLACE_FUNCS): Add strnlen.
87789
87790         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
87791         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
87792
87793         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
87794         AC_SEARCH_LIBS call for nanosleep.
87795         (LIB_NANOSLEEP): Set and AC_SUBST.
87796
87797 2000-05-06  Jim Meyering  <meyering@lucent.com>
87798
87799         * lib/strnlen.c: Undefine __strnlen and strnlen.
87800         [!weak_alias]: Define __strnlen to strnlen.
87801
87802         * lib/atexit.c: New file, from libiberty.
87803
87804 2000-05-06  Jim Meyering  <meyering@lucent.com>
87805
87806         * lib/closeout.c (close_stdout_status): Also check for errors on the
87807         stderr stream.
87808
87809 2000-05-05  Jim Meyering  <meyering@lucent.com>
87810
87811         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
87812         AC_SEARCH_LIBS call for clock_gettime.
87813         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
87814
87815         * m4/search-libs.m4: Update from autoconf.
87816
87817         su doesn't work on Solaris 2.6.
87818         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
87819         <shadow.h>.  Reported by Dragos Harabor.
87820
87821 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
87822
87823         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
87824         memcpy instead of xmalloc, xrealloc, path_concat.
87825         (locale_charset): Treat empty environment variables as absent.
87826         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
87827
87828 2000-05-04  Jim Meyering  <meyering@lucent.com>
87829
87830         * lib/getopt.c: Update from glibc.
87831         * lib/obstack.c: Likewise.
87832         * lib/obstack.h: Likewise.
87833         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
87834         file
87835
87836         * lib/regex.h: Likewise.
87837         * lib/strndup.c: Likewise.
87838         * lib/strnlen.c: New file, from glibc.
87839
87840 2000-05-03  Jim Meyering  <meyering@lucent.com>
87841
87842         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
87843
87844 2000-05-02  Paul Eggert  <eggert@twinsun.com>
87845
87846         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
87847         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
87848         compile-time test, rather than inspecting host and OS, to
87849         decide whether to define _LARGEFILE_SOURCE.
87850
87851 2000-05-01  Jim Meyering  <meyering@lucent.com>
87852
87853         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
87854
87855         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
87856         Based on a patch from Bruno Haible.
87857
87858 2000-05-01  Jim Meyering  <meyering@lucent.com>
87859
87860         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
87861
87862 2000-04-29  Jim Meyering  <meyering@lucent.com>
87863
87864         * lib/path-concat.c: Declare strdup only if it's not defined.
87865         * lib/canon-host.c: Likewise.
87866
87867 2000-04-28  Jim Meyering  <meyering@lucent.com>
87868
87869         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
87870         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
87871         is included first, then limits.h is included by locale.h by libintl.h.
87872         From John David Anglin.
87873
87874 2000-04-25  Jim Meyering  <meyering@lucent.com>
87875
87876         * lib/makepath.c (S_IRWXUGO): Define.
87877         (make_path): Always perform explicit chmod if MODE specifies any
87878         of the `special' permission bits.  Prompted by a bug report against
87879         install from Mate Wierdl and Joost van Baal.
87880
87881 2000-04-18  Jim Meyering  <meyering@lucent.com>
87882
87883         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
87884         (jm_PREREQ): Use it.
87885
87886 2000-04-18  Jim Meyering  <meyering@lucent.com>
87887
87888         * lib/README: New file.
87889
87890         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
87891         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
87892
87893 2000-04-17  Jim Meyering  <meyering@lucent.com>
87894
87895         Get it right :-)
87896         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
87897         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
87898         Suggestion from Akim Demaille.
87899
87900 2000-04-17  Jim Meyering  <meyering@lucent.com>
87901
87902         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
87903         the definition of it to rpl_strftime also defined-away the system's
87904         declaration.
87905
87906 2000-04-15  Jim Meyering  <meyering@lucent.com>
87907
87908         Use `C' to denote so-called `contiguous' files, the same way
87909         that tar does.
87910         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
87911         (ftypelet): Use S_ISCTG.
87912         From Michael Deutschmann.
87913
87914 2000-04-14  Jim Meyering  <meyering@lucent.com>
87915
87916         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
87917         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
87918         clobbered.
87919
87920 2000-04-14  Jim Meyering  <meyering@lucent.com>
87921
87922         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
87923
87924 2000-04-13  Jim Meyering  <meyering@lucent.com>
87925
87926         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
87927         AH_VERBATIM to insert required #ifndef into config.h.in.
87928         Suggestion from Akim Demaille.
87929
87930 2000-04-12  Jim Meyering  <meyering@lucent.com>
87931
87932         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
87933         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
87934         Christian Krackowizer.
87935
87936         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
87937         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
87938         (AC_SYS_LARGEFILE): Require.
87939         (AM_C_PROTOTYPES): Require.
87940
87941 2000-04-08  Jim Meyering  <meyering@lucent.com>
87942
87943         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
87944         names don't conflict.  Reported by Eli Zaretskii.
87945
87946 2000-04-07  Jim Meyering  <meyering@lucent.com>
87947
87948         * lib/putenv.c: Move inclusion of errno.h so it follows that of
87949         sys/types.h, to work around system header problems on AIX 3.2.5.
87950         From Bruno Haible.
87951
87952 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
87953
87954         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
87955         bug.  Deal with the different error behavior of Irix iconv.
87956
87957 2000-04-05  Paul Eggert  <eggert@twinsun.com>
87958
87959         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
87960         IRIX if the installer said otherwise.
87961
87962 2000-04-05  Jim Meyering  <meyering@lucent.com>
87963
87964         Portability tweaks required for ultrix4.3.
87965         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
87966         (jm_CHECK_DECLS): Add getutent to the list of functions.
87967         (_jm_DECL_HEADERS): Add utmpx.h.
87968         From John David Anglin.
87969
87970         * m4/strftime.m4: Back out the 2000-04-02 change.
87971         Instead of that change, simply undefine putenv in the test program.
87972
87973 2000-04-05  Jim Meyering  <meyering@lucent.com>
87974
87975         Portability tweaks required for ultrix4.3.
87976         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
87977         getutent.
87978         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
87979         * lib/canon-host.c: Declare strdup.
87980         * lib/path-concat.c: Likewise.
87981         From John David Anglin.
87982
87983 2000-04-04  Jim Meyering  <meyering@lucent.com>
87984
87985         Be more DOS 8.3-friendly.
87986         * lib/ref-add.sin: Renamed from ref-add.sed.in.
87987         * lib/ref-del.sin: Renamed from ref-del.sed.in.
87988         * lib/Makefile.am: Reflect renaming.
87989         Reported by Eli Zaretskii.
87990
87991         Use a temporary file name that won't clash with `charset.alias'
87992         in the DOS 8.3 name space.
87993         * lib/Makefile.am (charset_tmp): Define.
87994         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
87995         (uninstall-local): Likewise.
87996         Reported by Eli Zaretskii.
87997
87998 2000-04-03  Jim Meyering  <meyering@lucent.com>
87999
88000         * m4/gettext.m4: Fix typo in comment.
88001
88002         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88003         textutils/configure.in).  Suggestion from Paul Eggert.
88004         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88005
88006 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88007
88008         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88009         variable in the shell rather than using putenv, which isn't
88010         portable.  This avoids the configure-time inter-test dependency
88011         on the potentially-renamed putenv function.
88012
88013 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88014
88015         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88016         before checking struct stat.st_blksize, so that
88017         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88018
88019 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88020
88021         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88022         since strftime.c uses HAVE_STRFTIME to decide whether to use
88023         the underlying strftime.
88024
88025 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88026
88027         * lib/time/strftime.c (my_strftime): Make sure we call the system
88028         strftime, not ourselves, when invoking the underlying strftime.
88029
88030 2000-03-24  Jim Meyering  <meyering@lucent.com>
88031
88032         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88033         (charset_alias): Define.
88034         (install-exec-local): Factor out common code.
88035         (uninstall-local): Split lines longer than 80.
88036         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88037         (SUFFIXES): Define.
88038         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88039         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88040
88041 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88042
88043         * lib/config.charset: Output a line containing "Packages using this
88044         file".
88045         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88046         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88047         ref-del.sed): New rules.
88048
88049 2000-03-17  Jim Meyering  <meyering@lucent.com>
88050
88051         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88052         Otherwise, include <strings.h>
88053
88054 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88055
88056         * lib/unicodeio.c (utf8_wctomb): New function.
88057         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88058         format instead of in UCS-4 with platform dependent endianness.
88059
88060 2000-03-10  Jim Meyering  <meyering@lucent.com>
88061
88062         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88063         From Marco Franzen.
88064
88065 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88066
88067         * lib/savedir.c (savedir): Work even if directory size is
88068         negative; this can happen with some screwy NFS configurations.
88069
88070 2000-03-06  Jim Meyering  <meyering@lucent.com>
88071
88072         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88073         if it's NULL (because we ran out of memory).  From Bruno Haible.
88074
88075 2000-03-05  Jim Meyering  <meyering@lucent.com>
88076
88077         * lib/localcharset.c ("path-concat.h"): Include.
88078         (get_charset_aliases): Use path_concat instead of ANSI string
88079         concatenation.
88080
88081         * lib/unicodeio.h (PARAMS): Define.
88082         Use it to guard prototype.
88083
88084 2000-03-04  Jim Meyering  <meyering@lucent.com>
88085
88086         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88087         for lib/localcharset.c.
88088
88089 2000-03-04  Jim Meyering  <meyering@lucent.com>
88090
88091         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88092         installing into it.
88093         (uninstall-local): Uncomment this rule so `make distcheck' works
88094         once again.
88095
88096         * lib/unicodeio.c (<errno.h>): Include it.
88097         (errno): Declare if not defined.
88098
88099         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88100
88101         * lib/config.charset: New version, incorporating remarks from a linux
88102         i18n mailing list.  From Bruno Haible.
88103
88104 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88105
88106         * m4/codeset.m4: New file.
88107         * m4/iconv.m4: New file.
88108         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88109
88110 2000-03-03  Jim Meyering  <meyering@lucent.com>
88111
88112         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88113
88114 2000-03-02  Jim Meyering  <meyering@lucent.com>
88115
88116         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88117         the messages come out on separate lines.
88118
88119         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88120         rather than jm_CHECK_DECLARATIONS.
88121         * m4/decl.m4: Remove now-unused file.
88122
88123         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88124         geteuid.
88125
88126 2000-03-02  Jim Meyering  <meyering@lucent.com>
88127
88128         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88129
88130 2000-03-01  Jim Meyering  <meyering@lucent.com>
88131
88132         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88133         * lib/unicodeio.c: Likewise.
88134
88135 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88136
88137         * lib/config.charset: New file.
88138         * lib/localcharset.c: New file.
88139         * lib/unicodeio.h, lib/unicodeio.c: New files.
88140         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88141         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88142         (noinst_HEADERS): Add unicodeio.h.
88143         (all-local, install-exec-local, charset.alias): New targets.
88144
88145 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88146
88147         * lib/quotearg.c (ALERT_CHAR): New macro.
88148         (quotearg_buffer_restyled): Use it.
88149
88150 2000-02-27  Jim Meyering  <meyering@lucent.com>
88151
88152         * m4/check-decl.m4: Add getenv to the list.
88153
88154 2000-02-27  Jim Meyering  <meyering@lucent.com>
88155
88156         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88157         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88158
88159         * lib/backupfile.c: Guard inclusion of stdlib.h with
88160         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88161         Declare malloc if needed.
88162
88163         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88164         `#ifndef HAVE_DECL..'
88165         now that autoconf always defines the HAVE_DECL_ symbols.
88166         * lib/human.c: Likewise.
88167         * lib/same.c: Likewise.
88168         * lib/strtoumax.c: Likewise.
88169
88170         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88171         declaration check was not run.
88172         * lib/hash.c: Likewise.
88173         * lib/human.c: Likewise.
88174         * lib/same.c: Likewise.
88175         * lib/strtoumax.c: Likewise.
88176
88177         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88178         `.', then first look up the entire `.'-containing string as a login
88179         name.
88180
88181 2000-02-23  Jim Meyering  <meyering@lucent.com>
88182
88183         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88184         in place of my hack.
88185
88186 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88187
88188         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88189         (textint): New typedef.
88190         (parser_control): Member year changed from int to textint.
88191         All uses changed.
88192         (YYSTYPE): Removed; replaced by %union with int and textint members.
88193         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88194         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88195         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88196         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88197         (date, number, to_year): Use width of number in digits, not its value,
88198         to determine whether it's a 2-digit year, or a 2-digit time.
88199         (yylex): Store number of digits of numeric tokens.
88200         Reported by John Kendall.
88201
88202         (parser_control): Changed from struct parser_control to typedef (for
88203         consistency).  All uses changed.
88204
88205         (tID): Removed; not used.
88206         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88207
88208 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88209
88210         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88211         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88212
88213 2000-02-12  Jim Meyering  <meyering@lucent.com>
88214
88215         * lib/userspec.c (ISDIGIT): Define it.
88216         (isdigit): Remove definition.
88217         (is_number): Use ISDIGIT, not isdigit.
88218         <libintl.h>: Include.
88219         (_ and N_): Define.
88220         (parse_user_spec): Mark translatable strings.
88221
88222 2000-02-10  Jim Meyering  <meyering@lucent.com>
88223
88224         With these changes, nanosleep.[ch] are finally enough like the other
88225         lib/* replacement files to compile on a few more losing systems.
88226
88227         * lib/nanosleep.h: Don't include config.h.
88228         Remove prototype from declaration of nanosleep.
88229         (PARAMS): Remove now-unneeded definition.
88230         * lib/nanosleep.c: #undef nanosleep.
88231         (rpl_nanosleep): Rename from nanosleep.
88232
88233 2000-02-10  Jim Meyering  <meyering@lucent.com>
88234
88235         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88236         gnu_nanosleep to rpl_nanosleep.
88237
88238 2000-02-09  Jim Meyering  <meyering@lucent.com>
88239
88240         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88241         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88242
88243 2000-02-08  Akim Demaille  <akim@epita.fr>
88244
88245         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88246         `[' and `]' and remove uses of `changequote'.
88247         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88248         (AC_SYS_LARGEFILE): Likewise.
88249         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88250         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88251         of changequote.
88252         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88253         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88254         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88255         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88256
88257 2000-02-05  Jim Meyering  <meyering@lucent.com>
88258
88259         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88260         Remove explicit use of AC_HEADER_TIME.  It is required by
88261         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88262         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88263         in autoconf whereby the expansion of the latter ended up preceding
88264         the expansion of its prerequisite, AC_HEADER_TIME.
88265         Reported by Volker Borchert.
88266
88267 2000-02-03  Jim Meyering  <meyering@lucent.com>
88268
88269         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88270
88271 2000-02-03  Jim Meyering  <meyering@lucent.com>
88272
88273         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88274         rather than with `#if HAVE_UTMPNAME'.
88275
88276 2000-02-02  Jim Meyering  <meyering@lucent.com>
88277
88278         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88279         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88280         Reported by Eli Zaretskii.
88281
88282 2000-02-01  Jim Meyering  <meyering@lucent.com>
88283
88284         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88285
88286 2000-01-31  Jim Meyering  <meyering@lucent.com>
88287
88288         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88289         functions.  Add the time.h and sys/time.h headers along with the
88290         AC_REQUIRE'ment of AC_HEADER_TIME.
88291
88292 2000-01-31  Jim Meyering  <meyering@lucent.com>
88293
88294         * lib/nanosleep.h (nanosleep): Guard declaration with
88295         `#if ! HAVE_DECL_NANOSLEEP'.
88296         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88297         the declaration in that vendor's sys/timers.h.
88298         Reported by Christian Krackowizer.
88299
88300         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88301         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88302         (ISPRINT): Likewise.
88303         Reported by Tom Tromey.
88304
88305 2000-01-30  Jim Meyering  <meyering@lucent.com>
88306
88307         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88308
88309         * m4/prereq.m4 (utmp_includes): Define.
88310         Check for ut_user and ut_name members in both struct utmpx
88311         and struct utmp.
88312
88313 2000-01-30  Jim Meyering  <meyering@lucent.com>
88314
88315         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88316         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88317         header files where only utmpx.ut_user is declared.
88318
88319         * lib/readutmp.h (UT_USER): Define.
88320
88321 2000-01-29  Jim Meyering  <meyering@lucent.com>
88322
88323         * m4/lib-check.m4: New file containing library-related checks from
88324         fileutils and sh-utils (textutils had none).
88325
88326 2000-01-28  Jim Meyering  <meyering@lucent.com>
88327
88328         * m4/perl.m4: Change format of warning message to look more like that
88329         from the missing script.  Suggestion from François Pinard.
88330
88331 2000-01-25  Jim Meyering  <meyering@lucent.com>
88332
88333         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88334         well as time.h in the compile check.
88335         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88336         Fix typo in cross-compiling case: s/yes/no/.
88337
88338 2000-01-23  Jim Meyering  <meyering@lucent.com>
88339
88340         * m4/jm-macros.m4: Move df-related tests here from
88341         fileutils/configure.in
88342
88343         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88344         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88345
88346         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88347         s/space/ac_fsusage_space/.
88348         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88349
88350         * m4/ftruncate.m4: New file (derived from part of
88351         fileutils/configure.in).
88352         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88353         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88354
88355         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88356         AC_SUBST these here, rather than just in sh-util/configure.in, so
88357         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88358         all the same.
88359         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88360         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88361         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88362         (AC_SUBST(POW_LIBM)): Likewise.
88363         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88364
88365 2000-01-23  Jim Meyering  <meyering@lucent.com>
88366
88367         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88368         obstack.c.
88369
88370 2000-01-22  Jim Meyering  <meyering@lucent.com>
88371
88372         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88373
88374         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88375
88376         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88377         configure.in
88378         (AC_CHECK_HEADERS): Likewise for sh-utils.
88379         (AC_CHECK_HEADERS): Likewise for textutils.
88380         Merge the three lists of headers.
88381
88382         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88383         from fileutils' configure.in.
88384
88385         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88386         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88387         check-decl.m4.
88388
88389         * m4/check-decl.m4: Use #if rather than #ifdef.
88390         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88391         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88392         (_jm_DECL_HEADERS): Define new function.
88393         (jm_CHECK_DECLARATIONS): Require it.
88394
88395 2000-01-22  Jim Meyering  <meyering@lucent.com>
88396
88397         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88398         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88399         Required for some AIX systems.  Reported by Christian Krackowizer.
88400         [TESTING] (main): New function.
88401
88402         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88403         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88404         letters.
88405
88406         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88407         iswprint.
88408
88409         * lib/strverscmp.c (ISDIGIT): Define.
88410         (strverscmp): Use ISDIGIT, not isdigit.
88411
88412 2000-01-19  Jim Meyering  <meyering@lucent.com>
88413
88414         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88415         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88416         defines `struct timespec' in <sys/time.h>
88417
88418         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88419         Thanks to Akim for explaining.
88420
88421 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88422
88423         * lib/nanosleep.c (nanosleep):
88424         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88425         POSIX.1 doesn't require SA_INTERRUPT and some systems
88426         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88427         it's been part of POSIX.1 since day 1 (in 1988).
88428
88429 2000-01-17  Jim Meyering  <meyering@lucent.com>
88430
88431         * lib/interlock: Remove unused file.  Reported by François Pinard.
88432
88433 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88434
88435         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88436         alert, backslash, formfeed, and vertical tab unnecessarily in
88437         shell quoting style.
88438
88439 2000-01-16  Jim Meyering  <meyering@lucent.com>
88440
88441         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88442         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88443         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88444         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88445
88446 2000-01-16  Jim Meyering  <meyering@lucent.com>
88447
88448         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88449         because the latter didn't work.
88450
88451 2000-01-15  Jim Meyering  <meyering@lucent.com>
88452
88453         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88454         (AC_REPLACE_FUNCS): Add memcpy and memset.
88455         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88456         Add strpbrk.
88457         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88458
88459 2000-01-12  Jim Meyering  <meyering@lucent.com>
88460
88461         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88462         (jm_PREREQ): Use it.
88463         (jm_PREREQ_READUTMP): New macro.
88464         (jm_PREREQ): Use it.
88465
88466 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88467
88468         Quote multibyte characters correctly.
88469         * m4/c-bs-a.m4: New file.
88470         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
88471         (jm_PREREQ): Use it.
88472
88473 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88474
88475         * m4/uintmax_t.m4: Port to autoconf 2.13.
88476
88477 2000-01-08  Jim Meyering  <meyering@ascend.com>
88478
88479         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
88480         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
88481
88482 2000-01-04  Jim Meyering  <meyering@ascend.com>
88483
88484         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
88485         jm_STRUCT_DIRENT_D_TYPE.
88486         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
88487         jm_STRUCT_DIRENT_D_INO.
88488         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
88489         jm_STRUCT_UTIMBUF.
88490         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
88491         renamings.
88492         * m4/utime.m4: Likewise.
88493
88494         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
88495         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
88496
88497 2000-01-03  Paul Eggert  <eggert@twinsun.com>
88498
88499         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
88500         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
88501
88502 2000-01-02  Jim Meyering  <meyering@ascend.com>
88503
88504         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
88505         remember if this is necessary.
88506
88507 1999-12-26  Jim Meyering  <meyering@ascend.com>
88508
88509         * m4/jm-macros.m4: Use it here.
88510         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
88511
88512 1999-12-23  Jim Meyering  <meyering@ascend.com>
88513
88514         * m4/jm-macros.m4: Check for clock_gettime (moved from
88515         fileutils/configure.in)
88516         Check for gettimeofday.
88517
88518 1999-12-20  Jim Meyering  <meyering@ascend.com>
88519
88520         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
88521         autoconf-2.14a-1999-12-20.
88522
88523 1999-12-19  Jim Meyering  <meyering@ascend.com>
88524
88525         * m4/lstat-slash.m4: New file.
88526         * m4/jm-macros.m4: Use the new macro:
88527         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88528
88529 1999-12-07  Jim Meyering  <meyering@ascend.com>
88530
88531         * m4/perl.m4: Require that File::Compare be available, too.
88532         Too many systems seem to lack it.
88533
88534         * m4/strftime.m4: Add checks for most of the cpp macros tested in
88535         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
88536
88537 1999-11-18  Paul Eggert  <eggert@twinsun.com>
88538
88539         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
88540         problem with the QNX 4.25 shell, which doesn't propagate exit
88541         status of failed commands inside shell assignments.
88542
88543 1999-11-17  Jim Meyering  <meyering@ascend.com>
88544
88545         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
88546
88547 1999-11-07  Jim Meyering  <meyering@ascend.com>
88548
88549         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
88550
88551 1999-11-06  Jim Meyering  <meyering@ascend.com>
88552
88553         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
88554         * m4/jm-macros.m4 (jm_MACROS): Use it here.
88555
88556 1999-11-05  Jim Meyering  <meyering@ascend.com>
88557
88558         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
88559         configure.in of textutils, fileutils, and sh-utils into this one
88560         (shared between those packages) file.
88561         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
88562         AC_STRUCT_ST_BLKSIZE.
88563
88564 1999-11-03  Jim Meyering  <meyering@ascend.com>
88565
88566         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
88567         of AC_CHECK_TYPE checks includes unistd.h.
88568         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
88569         Suggestion from Akim Demaille.
88570
88571 1999-10-30  Jim Meyering  <meyering@ascend.com>
88572
88573         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
88574         m4-quoted string.
88575         * m4/ls-mntd-fs.m4: Likewise.
88576         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
88577         * m4/jm-winsz1.m4: Likewise.
88578
88579         * m4/const.m4: Remove file, since the fix made it into the experimental
88580         version of autoconf.
88581         * m4/mktime.m4: Likewise.
88582
88583         * m4/check-type.m4: Remove file, now that the latest version of
88584         AC_CHECK_TYPE takes a third arg to specify additional #includes.
88585
88586         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
88587         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
88588         AC_CHECK_TYPE.
88589
88590 1999-10-04  Jim Meyering  <meyering@ascend.com>
88591
88592         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
88593
88594 1999-09-22  Paul Eggert  <eggert@twinsun.com>
88595
88596         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
88597         2.95.1 bug with HP-UX 10.20.
88598
88599 1999-09-17  Jim Meyering  <meyering@ascend.com>
88600
88601         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
88602         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
88603         due to missing strdup (against sh-utils-2.0).
88604
88605 1999-08-29  Jim Meyering  <meyering@ascend.com>
88606
88607         * m4/jm-macros.m4: Require jm_BISON.
88608         * m4/bison.m4: New file.
88609
88610 1999-08-17  Paul Eggert  <eggert@twinsun.com>
88611
88612         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
88613         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
88614
88615 1999-08-05  Jim Meyering  <meyering@ascend.com>
88616
88617         * m4/getline.m4: Rename test file from conftestdata to conftest.data
88618         to avoid conflicts with `conftest' on 8+3 filesystems.
88619         Suggestion from Eli Zaretskii.
88620
88621 1999-08-04  Jim Meyering  <meyering@ascend.com>
88622
88623         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
88624         fileutils and sh-utils (textutils's getline test was inadequate).
88625         (AM_FUNC_GETLINE): Run this test.
88626         (AC_CHECK_FUNCS): Check for getdelim.
88627         Reported by Bob Proulx.
88628
88629 1999-08-02  Jim Meyering  <meyering@ascend.com>
88630
88631         * m4/jm-macros.m4: Add a comment.
88632
88633 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88634
88635         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
88636         <inttypes.h> defines strtoumax as a macro (and not as a
88637         function).
88638
88639 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88640
88641         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
88642         that we can shift, multiply and divide unsigned long long
88643         values; Ultrix cc can't do it.
88644
88645 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88646
88647         * m4/mktime.m4: New file, which is a preview of what should appear
88648         in the next public autoconf release.
88649
88650 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88651
88652         * m4/lfs.m4: Remove this file.
88653         * m4/largefile.m4: New file.  It contains the old contents of
88654         lfs.m4, except that all names with prefix AC_LFS have been
88655         changed to use the prefix AC_SYS_LARGEFILE instead, to be
88656         compatible with future autoconf versions.  Also, some minor m4
88657         quoting problems have been fixed.
88658
88659 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88660
88661         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
88662         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
88663         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
88664         and simplify the shell code.
88665
88666 1999-08-01  Jim Meyering  <meyering@ascend.com>
88667
88668         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
88669         m4.
88670
88671 1999-07-20  Jim Meyering  <meyering@ascend.com>
88672
88673         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
88674
88675 1999-07-15  Jim Meyering  <meyering@ascend.com>
88676
88677         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
88678
88679 1999-05-22  Jim Meyering  <meyering@ascend.com>
88680
88681         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
88682
88683 1999-05-20  Jim Meyering  <meyering@ascend.com>
88684
88685         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
88686         Add a colon after each `then' in case $4 is empty.
88687
88688 1999-05-16  Jim Meyering  <meyering@ascend.com>
88689
88690         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
88691
88692 1999-05-10  Jim Meyering  <meyering@ascend.com>
88693
88694         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
88695
88696         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
88697         AC_FUNC_MKTIME.
88698
88699 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
88700
88701         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
88702
88703 1999-05-04  Paul Eggert  <eggert@twinsun.com>
88704
88705         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
88706         not CPPFLAGS, so that linking works correctly in IRIX.
88707
88708 1999-04-30  Paul Eggert  <eggert@twinsun.com>
88709
88710         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
88711
88712 1999-04-20  Paul Eggert  <eggert@twinsun.com>
88713
88714         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
88715         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
88716         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
88717         jm_AC_TYPE_UNSIGNED_LONG_LONG.
88718         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
88719
88720         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
88721
88722 1999-04-20  Jim Meyering  <meyering@ascend.com>
88723
88724         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
88725         AC_REPLACE xstroull if necessary.  From Paul Eggert.
88726         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
88727
88728 1999-04-18  Jim Meyering  <meyering@ascend.com>
88729
88730         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
88731         * m4/jm-macros.m4: Use it.
88732
88733 1999-04-06  Jim Meyering  <meyering@ascend.com>
88734
88735         * m4/strftime.m4: Remove test for %f.
88736
88737 1999-03-29  Jim Meyering  <meyering@ascend.com>
88738
88739         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
88740         superset of the AC_TYPE_* checks in the textutils, fileutils,
88741         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
88742         AC_TYPE_PID_T.
88743
88744 1999-03-28  Jim Meyering  <meyering@ascend.com>
88745
88746         * m4/jm-macros.m4: Define GNU_PACKAGE here.
88747         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
88748         replaced e.g., in the *.sh files of the sh-utils.
88749
88750 1999-03-20  Jim Meyering  <meyering@ascend.com>
88751
88752         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
88753         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
88754         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
88755
88756 1999-03-19  Jim Meyering  <meyering@ascend.com>
88757
88758         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
88759
88760 1999-03-12  Jim Meyering  <meyering@ascend.com>
88761
88762         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
88763
88764 1999-03-07  Jim Meyering  <meyering@ascend.com>
88765
88766         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
88767         declared.
88768
88769 1999-02-17  Jim Meyering  <meyering@ascend.com>
88770
88771         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
88772         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
88773
88774 1999-02-07  Jim Meyering  <meyering@ascend.com>
88775
88776         * m4/group-member.m4: New file -- extracted from sh-utils'
88777         configure.in.
88778
88779         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
88780         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
88781
88782 1999-02-06  Jim Meyering  <meyering@ascend.com>
88783
88784         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
88785         * m4/fnmatch.m4: Likewise.
88786         * m4/getgroups.m4: Likewise.
88787         * m4/lstat.m4: Likewise.
88788         * m4/malloc.m4: Likewise.
88789         * m4/putenv.m4: Likewise.
88790         * m4/realloc.m4: Likewise.
88791         * m4/regex.m4: Likewise.
88792         * m4/stat.m4: Likewise.
88793         * m4/strftime.m4: Likewise.
88794         Suggestion from Alain Magloire.
88795
88796         * m4/chown.m4: Use `.$ac_objext', not `.o'.
88797         * m4/fnmatch.m4: Likewise.
88798         * m4/getgroups.m4: Likewise.
88799         * m4/getline.m4: Likewise.
88800         * m4/lstat.m4: Likewise.
88801         * m4/malloc.m4: Likewise.
88802         * m4/memcmp.m4: Likewise.
88803         * m4/putenv.m4: Likewise.
88804         * m4/realloc.m4: Likewise.
88805         * m4/regex.m4: Likewise.
88806         * m4/stat.m4: Likewise.
88807         * m4/strftime.m4: Likewise.
88808         Suggestion from Alain Magloire.
88809
88810         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
88811         an argument.
88812
88813         * m4/regex.m4: Add a run-time Test for proper operation of
88814         re_compile_pattern.
88815
88816 1999-01-31  Jim Meyering  <meyering@ascend.com>
88817
88818         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
88819
88820 1999-01-30  Jim Meyering  <meyering@ascend.com>
88821
88822         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
88823
88824         * m4/jm-mktime.m4: Make this a wrapper around the official
88825         AM_FUNC_MKTIME rather than my private copy, now that the official one
88826         is up to date.
88827         * m4/mktime.m4: Remove file.
88828
88829         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
88830         * m4/uptime.m4: Likewise.
88831         * m4/uintmax_t.m4: Likewise.
88832
88833 1999-01-28  Jim Meyering  <meyering@ascend.com>
88834
88835         * m4/jm-macros.m4: Use jm_AFS.
88836         * m4/afs.m4: New file (from fileutils' configure.in).
88837
88838         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
88839         * m4/chown.m4: Likewise.
88840         * m4/d-ino.m4: Likewise.
88841         * m4/d-type.m4: Likewise.
88842         * m4/fnmatch.m4: Likewise.
88843         * m4/getgroups.m4: Likewise.
88844         * m4/gettext.m4: Likewise.
88845         * m4/jm-mktime.m4: Likewise.
88846         * m4/jm-winsz2.m4: Likewise.
88847         * m4/lcmessage.m4: Likewise.
88848         * m4/ls-mntd-fs.m4: Likewise.
88849         * m4/malloc.m4: Likewise.
88850         * m4/memcmp.m4: Likewise.
88851         * m4/putenv.m4: Likewise.
88852         * m4/realloc.m4: Likewise.
88853         * m4/st_mtim.m4: Likewise.
88854         * m4/strftime.m4: Likewise.
88855
88856 1999-01-16  Jim Meyering  <meyering@ascend.com>
88857
88858         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
88859         (ARGMATCH_DIE_DECL): Define.
88860
88861 1999-01-12  Jim Meyering  <meyering@ascend.com>
88862
88863         * m4/Makefile.am.in: Rewrite to avoid using fmt.
88864         Reported by Lars Hecking.
88865
88866 1999-01-10  Jim Meyering  <meyering@ascend.com>
88867
88868         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
88869         gross kludge.
88870         * m4/inttypes_h.m4: Likewise.
88871         * m4/lstat.m4: Likewise.
88872         * m4/malloc.m4: Likewise.
88873         * m4/readdir.m4: Likewise.
88874         * m4/realloc.m4: Likewise.
88875         * m4/st_dm_mode.m4: Likewise.
88876         * m4/stat.m4: Likewise.
88877         * m4/utimbuf.m4: Likewise.
88878         * m4/utimes.m4: Likewise.
88879
88880         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
88881         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
88882         comments in config.h.in are meaningful.
88883
88884         * m4/jm-macros.m4: Require autoconf-2.13 here.
88885
88886         * m4/regex.m4: By default, don't use the included regex.c on systems
88887         with glibc 2.  Suggestion from Uli Drepper.
88888
88889 1999-01-02  Jim Meyering  <meyering@ascend.com>
88890
88891         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
88892
88893 1998-12-18  Jim Meyering  <meyering@ascend.com>
88894
88895         * m4/Makefile.am.in (Makefile.am): Simplify rule.
88896         Based on a suggestion from Lars Hecking.
88897
88898 1998-11-16  Paul Eggert  <eggert@twinsun.com>
88899
88900         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
88901
88902 1998-11-16  Jim Meyering  <meyering@ascend.com>
88903
88904         * m4/lfs.m4: Double-quote the `uname...` expression.
88905
88906 1998-11-14  Jim Meyering  <meyering@ascend.com>
88907
88908         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
88909         * m4/stat.m4: Likewise.
88910
88911 1998-11-03  Jim Meyering  <meyering@ascend.com>
88912
88913         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
88914         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
88915
88916 1998-10-18  Jim Meyering  <meyering@ascend.com>
88917
88918         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
88919
88920 1998-10-17  Jim Meyering  <meyering@ascend.com>
88921
88922         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
88923         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
88924         calls for those previously hard-coded headers.  Instead, take a new
88925         parameter.
88926         (jm_CHECK_DECLARATIONS): Reflect interface change.
88927         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
88928         (jm_CHECK_DECL_LOCALTIME_R): New macro.
88929
88930         * m4/mktime.m4: Test for spring-forward gap before long-running test.
88931
88932 1998-10-14  Jim Meyering  <meyering@ascend.com>
88933
88934         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
88935         instead of "TZ=America/Vancouver".  From Paul Eggert.
88936
88937 1998-10-11  Jim Meyering  <meyering@ascend.com>
88938
88939         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
88940         This adds a test for a recently added compatibility fix for mktime.c.
88941         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
88942
88943 1998-09-27  Jim Meyering  <meyering@ascend.com>
88944
88945         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
88946
88947         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
88948         ../configure.in, including a change from Gordon Matzigkeit to allow
88949         cross-compiling for the Hurd.
88950
88951         * m4/glibc.m4: New file/macro to test for the GNU C Library
88952         versions 1 and 2.  From Gordon Matzigkeit.
88953         Indent.
88954
88955 1998-09-21  Jim Meyering  <meyering@ascend.com>
88956
88957         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
88958
88959 1998-08-18  Paul Eggert  <eggert@twinsun.com>
88960
88961         Port nanosecond-resolution times to UnixWare 2.1.2 and
88962         pedantic Solaris 2.6.
88963
88964         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
88965         AC_STRUCT_ST_MTIM.
88966         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
88967         Generate name of ns member, instead of just 1 or undef.
88968         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
88969
88970 1998-08-15  Jim Meyering  <meyering@ascend.com>
88971
88972         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
88973         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
88974         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
88975         instead of jm_TYPE_SSIZE_T.
88976
88977 1998-08-12  Jim Meyering  <meyering@ascend.com>
88978
88979         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
88980
88981 1998-08-02  Jim Meyering  <meyering@ascend.com>
88982
88983         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
88984         in acconfig.h manually.
88985
88986 1998-07-31  Paul Eggert  <eggert@twinsun.com>
88987
88988         * m4/st_mtim.m4: New file.
88989
88990 1998-07-28  Jim Meyering  <meyering@ascend.com>
88991
88992         * m4/utimes.m4: Undef stat.
88993
88994 1998-07-25  Jim Meyering  <meyering@ascend.com>
88995
88996         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
88997         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
88998
88999 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89000
89001         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89002         uid and gid actually remain unchanged.
89003
89004 1998-07-07  Jim Meyering  <meyering@ascend.com>
89005
89006         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89007
89008 1998-07-04  Jim Meyering  <meyering@ascend.com>
89009
89010         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89011         to prove that this macro can be used in packages without regex.c.
89012
89013 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89014
89015         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89016         is to be used.
89017
89018 1998-07-03  Jim Meyering  <meyering@ascend.com>
89019
89020         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89021
89022         * m4/gettext.m4: New file -- from gettext-0.10.35.
89023         * m4/lcmessage.m4: Likewise.
89024         * m4/progtest.m4: Likewise.
89025
89026         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89027         * m4/jm-macros.m4: Require the new macro.
89028
89029 1998-06-29  Jim Meyering  <meyering@ascend.com>
89030
89031         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89032         for the definition of NGROUPS (used in a system header included
89033         by sys/mount.h).
89034
89035 1998-06-28  Jim Meyering  <meyering@ascend.com>
89036
89037         * m4/ls-mntd-fs.m4: New file.
89038         * m4/fstypename.m4: New file.
89039
89040         * m4/jm-macros.m4: Require the new macro.
89041         * m4/jm-glibc-io.m4: New file.
89042
89043 1998-05-19  Jim Meyering  <meyering@ascend.com>
89044
89045         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89046         * m4/lchown.m4: New file.
89047
89048         * m4/Makefile.am.in: New file.
89049         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89050
89051 1998-05-14  Jim Meyering  <meyering@ascend.com>
89052
89053         * m4/Makefile.am (EXTRA_DIST): Add them.
89054         * m4/jm-macros.m4: New file.
89055         * m4/utimbuf.m4: New file.
89056
89057 1998-05-12  Jim Meyering  <meyering@ascend.com>
89058
89059         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89060
89061 1998-05-11  Jim Meyering  <meyering@ascend.com>
89062
89063         * m4/isc-posix.m4: New file.
89064
89065 1998-05-10  Jim Meyering  <meyering@ascend.com>
89066
89067         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89068
89069 1998-05-09  Jim Meyering  <meyering@ascend.com>
89070
89071         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89072         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89073         with automake.
89074
89075         * m4/ssize_t.m4: New file.
89076         * m4/mktime.m4: Remove file -- the new automake has this now.
89077
89078 1998-04-26  Jim Meyering  <meyering@ascend.com>
89079
89080         * m4/assert.m4: New file.
89081         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89082
89083 1998-04-05  Jim Meyering  <meyering@ascend.com>
89084
89085         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89086         (jm_PREREQ): Use it here.
89087
89088 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89089
89090         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89091         in acconfig.h.
89092
89093 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89094
89095         * m4/prereq.m4: New file.
89096         * m4/error.m4: New file.
89097         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89098
89099 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89100
89101         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89102         cache-check for the same variable -- that defeated the purpose of
89103         the test; the test program was never run.  This was a problem only
89104         on systems with losing getline functions -- HP-UX 10.20 is one.
89105         Reported by Bjorn Helgaas.
89106
89107 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89108
89109         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89110
89111 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89112
89113         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89114
89115         * m4/const.m4: New file.  Use an initializer in this declaration
89116         typedef int charset[2]; const charset x;
89117         Reported by Bob Glickstein.
89118
89119 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89120
89121         * m4/chown.m4: Fix reversed types on -1 args to chown.
89122         From Kaveh Ghazi.
89123
89124 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89125
89126         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89127         Add lseek and memchr.
89128
89129         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89130         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89131         have a 20-character limit on names.
89132
89133 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89134
89135         * m4/inttypes_h.m4: New file.
89136         * m4/uintmax_t.m4: New file.
89137         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89138
89139
89140         -----
89141
89142         Local Variables:
89143         coding: utf-8
89144         End:
89145
89146         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89147
89148         Copying and distribution of this file, with or without
89149         modification, are permitted provided the copyright notice
89150         and this notice are preserved.